Вот простой заголовочный файл для шести разных программ. Этот Makefile работал очень хорошо, но потом я сменил программы на другие файлы реализации. Этот Makefile необходимо изменить, чтобы при изменении файлов реализации файлы, которые включают эти файлы реализации, перекомпилировались.Как добавить зависимости к этому заголовочному файлу
all: load list show add delete btree
%: %.cpp
g++ $< -g -o [email protected]
Когда я делаю g ++ -MM list.cpp, я получаю следующий вывод: list.o: list.cpp bt.h insert.c btio.c btutil.c Lab2.cpp. Что я должен делать с этим? На самом деле это ничего не создает. – neuromancer
Вам не нужно запускать его напрямую - правило%:% .cpp делает это. Правило преобразует эту строку в набор .d-файлов, которые затем включаются в make-файл – Mark
'-MM' генерирует этот вывод, а' -MF 'перенаправляет его в файл (заканчивается на .dd). Следующая строка запускает 'sed', чтобы немного изменить и переименовать ее в' .d'. Эти последние '.d' файлы включены в Makefile и сообщают, какой файл зависит от другого. –