문제

나는이 도구를 사용합니다. 게으른 C++ 단일 C++ .lzz 파일을 .h 및 .cpp 파일로 나눕니다.나는 원해요 메이크프 .lzz 파일 빌드 규칙 이후에 이 두 파일이 모두 존재할 것으로 예상하지만 두 대상을 단일 빌드 라인에 넣는 방법을 잘 모르겠습니다.

도움이 되었습니까?

해결책

저는 개인적으로 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 옵션을 사용하여 동일한 파일을 다시 생성하지 않도록 함으로써 작업을 줄이는 것도 나쁠 수 없습니다.

감사합니다 - 다니엘

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top