Зависит от самого файла make - PullRequest
23 голосов
/ 11 ноября 2010

В случае изменения самого Makefile безопасной ставкой будет считать все цели устаревшими.

Есть ли умный способ добавить эту зависимость? Есть ли альтернативы?

Ответы [ 2 ]

7 голосов
/ 12 ноября 2010

Безопасная ставка, но ужасная идея.Пример: вы используете automake и обновляете Makefile.am, чтобы добавить один исходный файл.Правильный ответ - скомпилировать только новый файл и связать его. В вашей схеме все будет перестроено.

Более того, добавление зависимости ничего не изменит, если вы не коснетесь файла, что-то вроде:

$(SRCS): Makefile
    touch $@

Это затем отключит редакторы, которые используют mtime для обнаружения одновременных изменений (например, emacs).

Если вы делаете что-то серьезное, просто запустите make clean allделать изменения.

5 голосов
/ 11 ноября 2010

Убедитесь, что объектные файлы зависят от make-файла:

$(OBJFILES) : Makefile

Где Makefile - имя файла make.

...