如何向此头文件添加依赖项

时间:2010-05-11 08:50:23

标签: makefile g++

这是一个用于六个不同程序的简单头文件。这个Makefile过去工作得很好,但后来我改变了程序以包含其他实现文件。需要更改此Makefile,以便在实现文件更改时,包含这些实现文件的文件将被重新编译。

all: load list show add delete btree
%: %.cpp
    g++ $< -g -o $@

1 个答案:

答案 0 :(得分:2)

您可以使用gcc的-MM选项创建依赖项文件,然后将它们包含在Makefile中。

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)

存在sed行,用于将相关性文件从load.o: load.c更改为load: load.c