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'显然会创建可执行文件。 –