У меня есть несколько файлов C++, распределенных по нескольким папкам.
a_library/
file1.cpp
file2.cpp
category1/
file3.cpp
file4.cpp
Они гарантированно будут иметь уникальное имя. Я хочу скомпилировать все эти файлы C++ в отдельные файлы Object -в каталоге obj/
.
У меня есть список всех исходных файлов -с относительным путем и соответствующими именами назначения -.
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++ из первого списка в объектный файл -из второго?
Эти попытки не не работают:
obj/%.obj: %:cpp
#...
%.obj: %.cpp
#...
.cpp.obj:
#...
Я бы не хотел писать такие правила:
obj/%.obj: a_library/%.cpp
#...
obj/%.obj: a_library/category1/%.cpp
#...