타사 커널 모듈을 컴파일하고 있습니다. 그들의 빌드 시스템은 /usr/src/linux-headers-[version]
(사용자 정의 커널 chroot의) 로 이동하여 make
거기에서 실행됩니다.
어떤 파일(소스 및 헤더)이 컴파일에 사용되었는지, 어떤 파일이 사용되지 않았는지 알고 싶습니다. Standard는 각각의 컴파일된 소스에 대해 파일을 scripts/Makefile.build
생성하는데 *.d
, 저는 그것을 사용하고 싶지만... 이 파일들은삭제됨짧은 처리 후. (이것은 rule_cc_o_c
의 정의 입니다 Makefile.build
.)
표준 빌드 시스템을 최소한으로 수정하면서 이러한 파일을 수집하는 방법은 무엇일까요?
답변1
사용해 보세요libtrashcan. 컴파일하고 설치한 후 라이브러리를 프로세스에 미리 로드합니다.
예를 들어 다음은 테스트 파일을 생성한 다음 제거하려고 시도하지만 libtrashcan으로 인해 시스템 unlink
호출이 이동으로 대체되므로 파일은 다음으로 끝납니다 ~/Trash
.
export LD_PRELOAD=/usr/local/lib/libtrash.so.3.3
touch testfile
rm testfile