Предположим, что вы полностью создали свой код, поэтому при запуске make
ничего не происходит, потому что все обновлено.
Теперь предположим, что один из ваших исходных файлов foo.c
включает файл заголовка bar.h
,Вы редактируете заголовочный файл bar.h
, но не редактируете исходный файл foo.c
.Для целей этого эксперимента вы можете использовать touch bar.h
для имитации редактирования.
Теперь, если вы закомментируете первые две строки выше, при запуске make
он скажет, что ничего не нужно делать и не перекомпилироватьчто угодно, даже если заголовочный файл был изменен.Если вы не закомментируете первые две строки выше, при запуске make
он поймет, что заголовок был изменен, и перекомпилирует исходный файл.
Что - это то, что эти двастроки и все опции -MT
и т. д. предназначены для.