2012-04-15 16 views
1

私は、以前の未知数と名前のC++ソースファイルを生成し、それを1つのライブラリにコンパイルする必要があるスクリプトを用意しました。これまでのところ、私は私のMakefileのループのためのシンプルな(シェル)でこれを行う:automakeで構築されたソースの数が不明確

compile: 
     for f in `ls -1 *.cpp` ; do g++ -c ... 
     ... 

ディレクトリには、他のC++のソースはございませんので、私はただありますすべてをコンパイルします。

私は自分のビルドシステムをautoconf/automakeに変更したいと思っています。これを行うための「正しい」方法が何であるか不思議です。私が見つけたチュートリアルでは、生成されるソースの数と名前が分かっている場合についてのみ説明します。

たとえば、コンパイラー名にアクセスする方法と、私自身のコンパイルコマンドに挿入できるように、autoconf/automakeが一緒に置くすべてのフラグがありますか?

ありがとうございます。

答えて

2

これらのファイルをすべて明示的に記載したMakefile.amを生成するようにスクリプトを変更します。

+0

をしかし、私はすでに、スクリプトを実行し、ソースを生成するための責任だMakefile.amを持っています。スクリプトは他の入力ファイルに依存しており、変更するたびに再実行する必要があります。 (私はそれを言及すべきだったと思う)。 –

0

だからあなたのようなものがあります:

FOO_SCRIPT=script.sh 
libfoo_la_SOURCES=foo.cpp bar.cpp baz.cpp 

foo.cpp : foo.input 
     $(FOO_SCRIPT) $< 

bar.cpp baz.cpp : bar.input 
     $(FOO_SCRIPT) $< 
0
SRC= $(wildcard *.cpp) 
OBJ= $(SRC:.cpp=.o) 
[...] 
target: $(OBJ) 
関連する問題