Как создать Makefile с исходным кодом в подкаталогах, используя только один make-файл

У меня есть источник в кучу подкаталогов, как:

src/widgets/apple.cpp
src/widgets/knob.cpp
src/tests/blend.cpp
src/ui/flash.cpp

В корне проекта я хочу сгенерировать один Makefile, используя правило вроде:

%.o: %.cpp
   $(CC) -c 
%.o: %.cpp
   $(CC) -c $<

build/test.exe: build/widgets/apple.o build/widgets/knob.o build/tests/blend.o src/ui/flash.o
   $(LD) build/widgets/apple.o .... build/ui/flash.o -o build/test.exe
lt; build/test.exe: build/widgets/apple.o build/widgets/knob.o build/tests/blend.o src/ui/flash.o $(LD) build/widgets/apple.o .... build/ui/flash.o -o build/test.exe

Когда я пытаюсь это сделать, он не находит правила для build / widgets / apple.o. Могу ли я что-то изменить так, чтобы% .o:% .cpp использовался, когда ему нужно сделать build / widgets / apple.o?

Ответы на вопрос(7)

Ваш ответ на вопрос