0
我有一個我製作的makefile的問題,哪些產品沒有可執行文件並在目錄中保留所有.o文件。下面是代碼:Makefile離開.o並且不會生成可執行文件
CXXFLAGS=-Wall
sources = tst_Robot.cpp Robot.cpp Position.cpp Plot.cpp Objet.cpp EtatRobot.cpp EtatFige.cpp EtatEnRoute.cpp EtatEnChargeFacePlot.cpp EtatEnCharge.cpp EtatAVideFacePlot.cpp EtatAVide.cpp
objets = $(sources:.cpp=.o)
%: %.o
$(LINK.cpp) -o [email protected] $^
robot : $(objets)
###
clean:
rm -f *~ *.o *.bak
depend:
makedepend $(sources)
我不明白的是,makedepend工作,沒有錯誤,所有的.o產生,但程序本身並不生產,甚至與規則: 機器人:$(objets)
所以我不明白爲什麼它不起作用,我將不勝感激,如果你能幫我把它搞砸。
'%:%.o'只適用於單個'.o'文件。 –
爲什麼?我認爲%選擇了以「.o」結尾的所有文件。 – ArkDeus
依賴關係樹的根目錄就是你製作的目錄。由於'make depend'會調用'makedepend $(sources)',因此只會生成$(sources)',而'make robot'顯然會創建可執行文件。 –