두 개의 타겟으로 소스 만들기
-
09-06-2019 - |
해결책
저는 개인적으로 Makepp을 사용한 적이 없지만 GNU Make를 즉시 대체하므로 다음과 같은 작업을 수행할 수 있습니다.
build: foo.h foo.cpp
g++ $(CFLAGS) foo.cpp -o $(LFLAGS) foo
foo.h foo.cpp: foo.lzz
lzz foo.lzz
또한 lzz 호출이 확실하지 않지만 도움이 될 것입니다.이에 대한 자세한 내용은 다음에서 확인할 수 있습니다. http://theory.uwinnipeg.ca/gnu/make/make_37.html.
다른 팁
Lzz는 정말 대단해요!이게 바로 내가 찾던 거야 http://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09
실제로 필요한 것은 (일반적으로) 링크 규칙에서 foo.o에 의존하고 lzz를 호출하는 패턴 규칙입니다.
%.cpp %.h: %.lzz
lzz $(input)
나머지는 자동으로 제자리에 놓입니다.foo.h를 포함하는 소스를 컴파일하거나 foo.o를 라이브러리나 프로그램에 링크할 때 lzz가 먼저 자동으로 호출됩니다.
Makepp은 또한 생성된 파일의 내용이 아닌 타임스탬프만 변경되었는지 인식하고 이를 무시합니다.그러나 lzz 옵션을 사용하여 동일한 파일을 다시 생성하지 않도록 함으로써 작업을 줄이는 것도 나쁠 수 없습니다.
감사합니다 - 다니엘
제휴하지 않습니다 StackOverflow