2011-08-14 14 views
2

私は、makeを使ってますます多くの.cppファイルを構築しようとしています。それらはすべてサブディレクトリsrc /にあります。 bin /にある各自の実行可能ファイルに各ファイルをコンパイルしたい。 これまで私が試したことはありますが、うまくいきません。パターン作成や新規作成など、すべてのパターンや変数などによって、何が何に拡張されるのかを正確に特定することが困難になります。Makefile - ソースからターゲットを生成する

また、何が起こっているかを私に見せるために、例えばBINの内容を表示する方法がありますか?

+1

従うことが賢明だろうメイクには多くの規則があります。 CCはCコンパイラ、CXXはC++コンパイラ、CFLAGSは$(CC)のフラグ、CXXFLAGSは$(CXX)のフラグ、CPPFLAGSはプリプロセッサのフラグです。 –

答えて

0

これは、これをしないのはなぜ最終的な拡大が

file: scr/bin/file.cpp 

次のようになりますか?

BIN = $(patsubst src/%.cpp,%,$(SRC)) 

all: $(addprefix bin/, $(BIN)) 

bin/% : src/% 
    $(GCC) $(FLAGS) $< -o [email protected] 

私はうまくいくと思いますか? BINの内容を示すためとして

all: $(addprefix bin/, $(BIN)) 
    @echo $(BIN) 
+0

ありがとう!少なくとも私は遠く離れていなかった:-) – Psirus

関連する問題