Как исправить этот Makefile - PullRequest
0 голосов
/ 15 мая 2010

Вместо исполняемого кода все, что он делает, это создает файлы, которые ничего не делают, даже если файлы сделаны исполняемыми.

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)

1 Ответ

1 голос
/ 15 мая 2010

Вы запускаете g ++ с опцией -MM, чтобы создать файл зависимостей. Но эта опция заставляет 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...