Как собрать файлы cpp из разных каталогов в одну папку?

У меня есть несколько файлов 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
    #...
6
задан Niklas R 26 July 2012 в 10:02
поделиться