Я программирую приложение клиентского сервера UDP на языке программирования C; Я хочу автоматически скомпилировать 2 источника файлов и 3 файла заголовка всякий раз, когда меняются зависимости, поэтому я решил использовать утилиту make.скомпилировать заголовки зависимостей с make-файлом
Цель Makefile называется «редактировать»:
edit : server_UDP.o client_UDP.o \
gcc -o edit server_UDP.o client_UDP.o \
client_UDP.o : client_UDP.c cliHeader_UDP.h wrapHeader.h
gcc -c client_UDP.c
server_UDP.o : server_UDP.c servHeader_UDP.h wrapHeader.h
gcc -c server_UDP.c
Это не вызывает перекомпиляции, когда я изменить несколько строк кода в wrapHeader.h.
Как мне изменить правило makefile edit, когда есть изменение в wrapHeader.h, чтобы перекомпилировать server_UDP и client_UDP?
** Примечание: wrapHeader.h является основной заголовок
cliHeader_UDP.h: включить "wrapHeader.h"
servHeader_UDP.h: включить "wrapHeader.h"
Оба 'gcc' и Gnu' make' имеют * фантастический набор функций, которые при настройке для совместной работы друг с другом будут делать именно то, что вы ищете. Переключатель компилятора 'gcc -MM' будет * почти * генерировать для вас« совместимую с make »цель. Для получения информации о том, как это делается, и пример кода для тестирования, см. Онлайн-документы gnu make [на этом веб-сайте] (http://www.gnu.org/software/make/manual/html_node/index.html), с уделением особого внимания [этому разделу] (http://www.gnu.org/software/make/manual/html_node/Automatic-Prerequisites.html#Automatic-Prerequisites). – WhozCraig
Возможный дубликат [Makefile, зависимостей заголовков] (http://stackoverflow.com/questions/2394609/makefile-header-dependencies) –