make와 sub make를 통해 컴파일되는 각 파일에 하나의 고유 번호를 할당하려고합니다. 이를 위해 나는 export varName = 1
를 사용하여 최고 수준의 메이크업에서 변수를 내 보낸 다음이 하위 메이크 파일에서 호출 할 때 문제가 varName
다시 1
으로 초기화됩니다메이크 파일의 전역 변수
$(eval varName=$(shell echo $$(($(varName)+1))))
다음 사용하여 컴파일 된 각 .c
파일에 대해 증가지고 최상위 메이크 파일
하위 메이크 파일을 호출하는 동안 어떻게 마지막으로 업데이트 된 값을 유지할 수 있습니까?
왜 이렇게하고 싶습니까? 더 좋은 방법이있을 수 있습니다. –
표준 사전 정의 된 매크로 (__FILE__, __LINE__)와 비슷한 사용자 정의 매크로를 정의하려고합니다. __FILE__ 매크로는 파일 이름을 제공합니다. 이와 비슷한 것은 __FILENUMBER와 같은 것을 구현하여 파일의 고유 정수를 제공하고 싶습니다. -DFILE_NUMBER = fileNum을 사용하여이 특정 C 파일을 지정할 수 있습니다. 여기서 fileNum은 Make를 통해 컴파일되는 각 파일마다 다릅니다. 다른 제안은 환영했습니다. 감사합니다. –
그래서'foo.c '가 파일 번호 35를 얻는다면, 이것은 에 35 번째 파일 이었음을 의미합니다. 그리고이 번호를'foo.o'에 컴파일합니까? 다음 번에는 컴파일 할 168 번째 파일 일 수 있습니다. 아니면 컴파일되지 않을 수도 있고'bar.c'는 대신 35 번을 얻습니다. 그래서'foo.o'와'bar.o'는 모두 35 번을 갖습니다. 어떻게 생각이 맞는 지 알 수 없습니다. –