2008-08-30 8 views
2

Lazy C++というこのツールを使用すると、単一のC++ .lzzファイルが.hと.cppファイルに分割されます。 Makeppは、.lzzファイルをビルドするためのルールの後にこれらのファイルが両方存在することを期待したいのですが、2つのターゲットを1つのビルド行に配置する方法がわかりません。2つのターゲットを持つソースを作成する

私は個人的にMakeppを使ったことがないが、それはGNUのドロップイン置換メイクなので、あなたが何か行うことができるはず

答えて

3

また
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で詳しく読むことができます。

2

Lzzは素晴らしいです!これは実際にあなたが必要とするすべてはあなたのリンクのルール、およびlzzを呼び出すためのパターンルールでfoo.oの上で(一般的に)依存することです、私はhttp://groups.google.com/group/comp.lang.c++/browse_thread/thread/c50de73b70a6a957/f3f47fcdcfb6bc09

探していただけのものです:

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

残ります自動的にその場に落ちる。 foo.hを含むソースをコンパイルするとき、またはfoo.oをライブラリやプログラムにリンクするとき、lzzは最初に自動的に呼び出されます。

Makeppは生成されたファイルの内容だけでなくタイムスタンプだけが変更されたかどうかを認識し、無視します。しかし、lzzオプションを使用して同一のファイルを再作成することを抑止することで、あまりやらないようにすることはできません。

よろしくお願いします - Daniel

+0

リンクをありがとうございます。 Btw私は完全にあなたと一緒にいます。私はあなたが忍耐強く、あなたの立場を流暢に説明してくれて、特に回答の一部がかなり失礼であることを考えて感謝します。 –

関連する問題