Как добавить зависимости в этот заголовочный файл - PullRequest
1 голос
/ 11 мая 2010

Вот простой заголовочный файл для шести разных программ. Этот Makefile работал нормально, но потом я изменил программы, добавив в них другие файлы реализации. Этот Makefile необходимо изменить, чтобы при изменении файлов реализации файлы, включающие эти файлы реализации, перекомпилировались.

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

1 Ответ

2 голосов
/ 11 мая 2010

Вы можете использовать опцию -MM в gcc для создания файлов зависимостей, а затем включить их в свой 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.

...