2008-08-30 5 views
2

Lazy C++이라는 도구를 사용하면 하나의 C++ .lzz 파일을 .h 및 .cpp 파일로 나눕니다. Makepp .lzz 파일을 만들기위한 규칙 이후에이 두 파일이 모두 존재하기를 기대하지만 두 빌드를 단일 빌드 줄에 넣는 방법을 모르겠습니다.두 개의 대상이있는 소스 만들기

답변

3

개인적으로 Makepp을 사용한 적이 있지만,이 드롭 인 교체 GNU는 확인을 위해이기 때문에, 당신은 같은 것을 할 수 있어야한다 :, 거기 lzz 호출에 대해 잘 또한

build: foo.h foo.cpp 
    g++ $(CFLAGS) foo.cpp -o $(LFLAGS) foo 

foo.h foo.cpp: foo.lzz 
    lzz foo.lzz 

을하지만, 그게 도움이 될거야. 이에 대한 자세한 내용은 http://theory.uwinnipeg.ca/gnu/make/make_37.html에서 확인할 수 있습니다.

2

Lzz가 훌륭합니다! 것이다

%.cpp %.h: %.lzz 
    lzz $(input) 

나머지를 : 이것은 단지 내가 무엇을 http://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09

찾고 있었던 것은 사실 당신이 필요로하는 모든이 당신의 연결 규칙에 foo.o에 (일반적으로) 따라하는 것입니다, 그리고 패턴 규칙은 lzz 전화 자동으로 자리에 앉는다. foo.h가 포함 된 소스를 컴파일하거나 foo.o를 라이브러리 나 프로그램에 연결하면 lzz가 먼저 자동으로 호출됩니다.

Makepp은 생성 된 파일의 내용이 아닌 타임 스탬프 만 인식하고 무시합니다. 그러나 lzz 옵션을 사용하여 동일한 파일을 재생성하는 것을 억제하여 덜 할애 할 수 있습니다.

감사합니다. - Daniel

+0

링크를 제공해 주셔서 감사합니다. Btw 전 전적으로 당신과 함께합니다. 나는 당신이 인내심을 갖고 유창하게 자신의 위치를 ​​설명해 주셔서 감사합니다. –

관련 문제