ファイルリストがあるとします:
- ソース
- a
- b
- c
- メイクファイル
各フォルダには多くの .cc & .h ファイルがあります。Makefileの書き方??
この ./a/a.cc または ../a/a.cc のようなパスを書くと
エラーが発生します。
しかし、ファイルを同じディレクトリに置き、a.ccとして書き込むと. 全て大丈夫。
私はcygwinで実行しています。誰でも私を助けることができますか?
関数はwildcard
あなたが探しているものです:http ://www.gnu.org/software/make/manual/html_node/Wildcards.html
Linuxでは、Automake / Autoconfビルドシステムを好みます:http://de.wikipedia.org/wiki/GNU_Build_System
別の方法はCMakeである可能性があります:http ://www.cmake.org/
あまり明確ではないディレクトリグラフから、src/
ディレクトリプレフィックスが欠落しているようですMakefile
。たとえば、コンパイルするsrc/a/a.cc
には、次を使用します。
src/a/a.o: src/a/a.cc
$(CXX) $(CXXFLAGS) -c -o $@ $<
しかし:自分に有利に働き、CMakeなどの実際のビルドシステムを使用してください。クロスプラットフォームであり、IDEプロジェクトファイル(たとえば、Visual Studio、Xcode、Eclipse、CodeBlocksなど)を生成でき、はるかに高いレベルであり、自動的に依存関係を追跡します。
多くの詳細 (オブジェクト ファイルを配置する場所など) を省略しましたが、VPATH
おそらく探しているものです。
VPATH = src/a src/b src/c
# Now you can write rules as if the .cc & .h files were in the current directory.
%.o: %.cc
do something with $<
foo.o: foo.cc bar.h
do something special with $<