Чтобы это имело смысл, header.h
должен иметь заголовок, который (и должен быть) включен в каждый файл .c
и, следовательно, является обязательным условием каждого файла .o
.Если это ваша ситуация, вам нужно написать собственное правило шаблона, например:
%.o: %.c header.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
Но обычный подход к управлению зависимостями файла заголовка - Генерация автозависимостей
Позже
Моя цель состояла в том, чтобы избежать дублирования существующего неявного правила (часть рецепта) для компиляции $ (CC).Возможно ли это?
Необходимо определить новое правило шаблона, которое добавляет header.h
к обязательному условию %.c
и имеет соответствующий рецепт.На самом деле, я бы посоветовал вам также отменить встроенное правило шаблона:
%.o: %.c
%.o: %.c header.h
$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@