Как избежать повторной ссылки в Makefile

Я написал простой make-файл и не смог избежать ненужной перелинковки.

Target: foo1.o foo2.o
    LINK COMMAND

.c.o:
    COMPILE command

Каждый раз, когда я пытаюсь сделать TARGET, даже если исходные файлы не были обновлены, всегда выполняется команда LINK.

Как я могу избежать этой ненужной повторной ссылки?

Спасибо,


person charles    schedule 24.02.2011    source источник
comment
Как написано, это должно работать (за исключением случаев изменения). Можете ли вы предоставить фактический make-файл и стенограмму его двойного запуска?   -  person wnoise    schedule 25.02.2011
comment
Абстрагирование сложного кода — хороший план, но нужно быть осторожным, чтобы гарантировать, что абстрактная версия действительно представляет собой полный код.   -  person dmckee --- ex-moderator kitten    schedule 25.02.2011
comment
Спасибо @wnoise и @dmckee, я разобрался с проблемой. Я попытался сохранить исполняемый файл в другом каталоге, например, tmp/foo, makefile не определяет временную метку подкаталога. Изменение TARGET на tmp/TARGET решает проблему.   -  person charles    schedule 25.02.2011


Ответы (1)


(Ответ в комментарии: см. Пустое информационное окно при нажатии маркера)

ОП написал:

Я попытался сохранить исполняемый файл в другом каталоге, например, tmp/foo, makefile не определяет временную метку подкаталога. Изменение TARGET как tmp/TARGET решает проблему.

person Community    schedule 24.01.2015