이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 makeppinfo 명령입니다.
프로그램:
이름
makeppinfo -- makepp이 파일에 대해 알고 있는 것
기술
?: -?, A: -NS,
--args 파일,
--인수-파일, D: -NS,
--날짜,
--디코드 날짜, F: -NS,
--힘, H: -시간,
--돕다, K: -케이,
--키리스트,
--키, M: $MAKEPPINFOFLAGS, Q: -NS,
--조용한, T: -NS,
--횡단, U: -유,
--기억나지 않음, V: -V,
--번역
메이크핀포 선택권 [파일 ...]
mppi 선택권 [파일 ...]
Makepp은 스캔 및/또는 구축한 파일에 대한 자세한 정보를 기억합니다. 에 대한
빌드된 파일은 종속성을 포함하여 관련된 모든 것을 기억합니다.
이 정보는 .makepp 해당 파일의 하위 디렉터리입니다. 그것
키-값 쌍의 형태를 가집니다. 어떤 경우에는 값이 다시 다음 목록이 됩니다.
연관된 쌍, 일반적으로 서명과 파일입니다.
"ENV_DEPS"와 "ENV_VALS"가 모두 표시되면 두 열 테이블로 병합됩니다.
"DEP_SIGS"와 "SORTED_DEPS"가 모두 표시되면 두 열로 병합됩니다.
테이블(더 나은 레이아웃을 제공하는 이 순서). 각 종속성에는 "SIGNATURE"가 있습니다.
이는 "타임스탬프, 크기"일 뿐이며 파일을 다시 검사해야 하는지 확인하는 데에만 사용됩니다. 을 위한
매달려 있는 심볼릭 링크는 연결자의 서명 대신 링크 자체의 서명이 됩니다.
이런 식으로 결정되며 이 특별한 경우를 표시하기 위해 앞에 0이 추가됩니다. 흥미로운
정보는 다음과 같이 내장된 서명에 대한 다른 키에 저장됩니다.
· "C" 또는 "c_compilation_md5"의 경우 "C_MD5_SUM"
· "md5"에 대한 "MD5_SUM"
· "shared_object"에 대한 "SHARED_OBJECT"
· "verilog_synesis_md5"에 대한 "V_MD5_SUM"
· "xml"에 대한 "XML_MD5_SUM"
· "xml_space"에 대한 "XML_SPACE_MD5_SUM"
이러한 서명 목록은 파일을 다시 작성하는 가장 일반적인 이유이므로
종속성을 위해 저장된 서명이 현재 서명과 일치하는지 확인하고 싶습니다.
해당 파일의 "BUILD_SIGNATURE"입니다. 서명과 다른 모든 것이 일치하면
저장소 중 하나에서 파일을 가져오거나 발견된 경우 캐시를 빌드하기 위한 기반
거기. 세부 사항은 적용 가능한 빌드 확인 방법에 따라 다릅니다.
두 가지 종류의 서명을 보게 됩니다. 간단한 서명은 쉼표로 구분된 두 개의 서명으로 구성됩니다.
파일 시스템 형식의 타임스탬프(1970년 이후 초)와 크기인 숫자입니다.
일부 파일의 경우 makepp에는 관련 스마트 서명이 추가로 포함됩니다.
base64로 인코딩된(문자, 숫자, 슬래시 및 더하기) 일반 또는 다이제스트 파일의 MD5 합계
내용
이 명령은 부분적으로 makepp 디버그 도구입니다. 키 목록은 어떤 항목에 따라 달라집니다.
스캐너, 빌드 확인 및 서명이 사용되었습니다. 출력을 완전히 이해하려면 다음이 필요할 수 있습니다.
소스코드를 보시려면. 즉, 일반적으로 흥미로운 내용도 있습니다.
얻을 수 있는 정보.
유효한 옵션은 다음과 같습니다.
-A 파일 이름
--args 파일=파일 이름
--인수-파일=파일 이름
파일을 읽고 가능한 인용된 공백 및/또는 줄 바꿈으로 구분된 것으로 구문 분석합니다.
옵션을 제공합니다.
-d
--날짜
--디코드 날짜
간단한 서명에서는 첫 번째 숫자인 원시 날짜-시간 앞에 사람 이름을 붙입니다.
괄호 안의 읽을 수 있는 형식입니다.
-f
--힘
파일이 존재하지 않거나 수정되어 유효하지 않은 경우에도 정보를 표시합니다. 이에
"SIGNATURE" 키가 "invalidated_SIGNATURE"로 대체되고 값이
파일이 삭제되었거나 현재 파일에 어떤 서명이 있는지 괄호 안에 나타냅니다.
-?
-h
--도움
옵션에 대한 간략한 요약을 인쇄하십시오.
-k 명부
--키=명부
--키리스트=명부
XNUMXD덴탈의 명부 하나 이상의 공백으로 구분된 쉘 스타일 패턴을 지정합니다([xyz], ?, *,
{a,bc,def}). 인용하여 Shell에서 이러한 항목을 보호하는 것을 잊지 마십시오. 이것들은 일치합니다
열쇠 반대. 각 패턴 앞에는 느낌표("!") 또는
추가하는 대신 이전에 선택한 키에서 일치하는 키를 제외하려면 캐럿("^")을 사용하세요.
선택에 그들을. 첫 번째 패턴이 느낌표로 시작하는 경우
모든 키에서 작동합니다.
--keys='COMMAND CWD' # 이것이 어떻게 구축되었고 어디에(파일과 관련하여).
파일 이름만 원하는 경우("-t|--traverse"와 함께 유용함) 다음과 같이 존재하지 않는 키를 선택하세요.
"없음".
-q
--조용한
파일 및 키 이름을 나열하지 마십시오. 경고도 생략하려면 반복하세요.
-t
--횡단
또한 SORTED_DEPS의 각 파일에 대해 동일한 정보를 출력합니다.
반복).
-u
--기억되지 않음
지정된 파일의 종속성을 탐색하지만 정보를 표시하는 대신 모든 파일에서
관련 디렉토리에는 해당 대상에 대해 기억되지 않는 파일만 나열됩니다. 그만큼
더 이상 필요하지 않은 파일을 찾는 데 도움이 되는 아이디어입니다. 다소 놀랍게도 이것은
해당 디렉토리의 Makefile을 포함하십시오. 왜냐하면 이들은 대부분 Makefile이 아니기 때문입니다.
의존.
이 옵션을 두 번 주면 출력되지 않는 멀리 떨어진 디렉터리로 이동합니다.
상대적으로 좋아 / usr / include.
-V
--번역
버전 번호를 인쇄하십시오.
사용 예
일반
각 빌드 확인 방법은 결정의 기반이 무엇인지 확인하는 방법을 문서화합니다. 발견
종속성 경로는 모든 경우에 동일하므로 여기에 표시됩니다. 빌드하면
다른 디렉터리로 이동하여 입력 경로를 찾으려면 상대 번역이 필요합니다.
CWD에. 예: 짧거나 긴 형식:
makeppinfo --keys='CWD SORTED_DEPS' obj/bo
mppi -k'CWD SORTED_DEPS' obj/bo
객체/보:
CWD=../src
SORTED_DEPS=
기원전
Inc/bh
/usr/빈/gcc
CWD는 파일이 빌드된 위치에서 파일과 관련된 디렉토리입니다. 그 디렉토리는
SORTED_DEPS의 모든 상대 경로가 시작되는 위치에서. 이는 동일한 조건하에 있음을 의미합니다.
입력이 있는 디렉토리 소스/BC 와 소스/inc/bh 그리고 출력 obj/bo. 에서
관점 악, 입력은 다음과 같습니다 ../src/bc 와 ../src/inc/bh. 그것은 중요하지 않습니다
우리는 상대 경로를 제공했습니다 악, 표시되는 정보는 동일할 것입니다.
로 변경 obj.
XNUMXD덴탈의 이유 for a 재건
어떤 경우에는 makepp가 겉보기에 최신 파일인 것처럼 반복적으로 다시 빌드할 수도 있습니다. 만약에
"makepplog"는 여기서 도움이 되지 않습니다. 이 명령은 정확한 상황을 제공합니다.
makeppinfo --일부 파일 트래버스
mppi -t 일부 파일
이런 일이 재현 가능하게 발생하면 전후에 이 명령을 실행하고 비교하십시오.
출력. 차이점은 재건축의 이유입니다.
증명 일관성
때로는 Makefile을 변경하고 여전히 동일한 작업을 수행하는지 궁금할 것입니다.
makepp가 어떻게 빌드되었는지 정확하게 알려주는 명령은 다음과 같습니다. 썸파일:
makeppinfo --traverse --traverse --keys='CWD 명령' somefile
mppi -ttk'CWD SORTED_DEPS' 일부 파일
이는 다음의 모든 종속성을 재귀적으로 순회합니다. 썸파일 그리고 어느 쪽인지 말해주세요
디렉토리에서 어떤 명령을 내렸는지. 이전 빌드와 새 빌드 후에 이것을 실행하여
출력을 비교하면 무엇이 변경되었는지 확인할 수 있습니다.
makepp의 새 버전을 테스트하는 경우에도 동일하게 작동하지만 일부 이전 버전에서는
명령 연속 줄의 공백을 다르게 처리하고 정렬에 버그가 있었습니다.
이로 인해 파일이 다른 순서로 나올 수 있습니다. 이런 경우
셸이 정렬된 인수를 조합하도록 합니다.
makeppinfo --keys='CWD 명령' `makeppinfo --traverse --traverse --keys=none somefile|tr -d :|sort`
mppi -k'CWD SORTED_DEPS' `mppi -ttknone somefile|tr -d :|sort`
환경
Makeppinfo는 다음 환경 변수를 살펴봅니다.
$MAKEPPINFOFLAGS
이 환경 변수의 모든 플래그는 이전에 명령줄 옵션으로 해석됩니다.
모든 명시적 옵션. 따옴표는 makefile에서와 같이 해석됩니다.
onworks.net 서비스를 사용하여 온라인으로 makeppinfo를 사용하세요.