いくつかのフォルダに多数のC++ファイルが配布されています。
a_library/
file1.cpp
file2.cpp
category1/
file3.cpp
file4.cpp
それらは一意の名前が付けられることが保証されています。obj/
これらすべてのC++ファイルをコンパイルして、ディレクトリ内のオブジェクトファイルを分離したいと思います。
相対パスを持つすべてのソースファイルとそれに対応する宛先名のリストがあります。
a_library/file1.cpp
a_library/file2.cpp
a_library/category1/file3.cpp
a_library/category1/file4.cpp
obj/file1.obj
obj/file2.obj
obj/file3.obj
obj/file4.obj
最初のリストのC++ファイルを2番目のリストのオブジェクトファイルに変換するルールを作成するにはどうすればよいですか?
これらの試みは機能しません:
obj/%.obj: %:cpp
# ...
%.obj: %.cpp
# ...
.cpp.obj:
# ...
私はこのようなルールを書きたくない:
obj/%.obj: a_library/%.cpp
# ...
obj/%.obj: a_library/category1/%.cpp
# ...