次の構造を持つプロジェクトをコンパイルしようとしています
計画:
- MakeFile
- 実行可能
- ソース1
- .cxx
- .h
- ソース2
- .cxx
- .h
- 建てる
- *.o
そして、コンパイルする Makefile を書くのに苦労しています。現在、次のようなコマンドがあります。
Src1 = $(wildcard $(SRCDIR1)/*.cxx)
Obj1 = $(patsubst $(SRCDIR1)/%.cxx, $(OBJDIR)/%.o, $(Src1))
しかし、オブジェクト ファイルのコンパイル規則を作成するのは困難です。
$(Obj1): %.cxx
$(CXX) $(CFLAGS) -c $(@:.o=.cxx) -o $@
'$@' コマンドにビルド ディレクトリのパスが含まれるようになったため、b) 前提条件にビルド パスが含まれるようになり、ソース パスが必要になったためです。解決策を見つけるために make マニュアルの大部分を読みましたが、うまくいきませんでした。解決策への助けをいただければ幸いです。ジャック