So generieren Sie ein Makefile mit Source in Unterverzeichnissen mit nur einem Makefile

Ich habe Quelle in einer Reihe von Unterverzeichnissen wie:

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

Im Stammverzeichnis des Projekts möchte ich ein einzelnes Makefile mit einer Regel wie der folgenden generieren:

%.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

Wenn ich das versuche, findet es keine Regel für build / widgets / apple.o. Kann ich etwas ändern, sodass% .o:% .cpp verwendet wird, wenn build / widgets / apple.o erstellt werden muss?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage