而不是可执行代码,它所做的就是创建不执行任何操作的文件,即使这些文件是可执行的。
TARGETS = load list show add delete btree
all: $(TARGETS)
%: %.cpp
g++ $< -g -o $@ -MM -MF $@.dd
sed "s/$@\.o:/$@:/" $@.dd > $@.d
-@rm $@.dd
DEPS=$(TARGETS:%=%.d)
-include $(DEPS)
答案 0 :(得分:1)
您正在使用-MM
选项运行g ++,以创建依赖项文件。但是这个选项导致g ++编写一个依赖文件而不是的二进制文件。
试试这个:
TARGETS = load list show add delete btree
all: $(TARGETS)
%: %.cpp
g++ $< -g -o $@
g++ $< -g -MM -MF $@.dd
sed "s/$@\.o:/$@:/" $@.dd > $@.d
-@rm $@.dd
DEPS=$(TARGETS:%=%.d)
-include $(DEPS)