Почему make не собирает все объектные файлы?

Есть Makefile:

CC = gcc
CFLAGS = -Wall -Werror -g

first.o: header.h

%.o: %.c
    $(CC) -c $(CFLAGS) $< -o $@

main: first.o second.o main.o
    $(CC) $(CFLAGS) $^ -o $@

При его запуске он всегда пересобирает только first.o. Я же ожидаю того, что first.o будет пересобираться при внесении изменений в header.h. Вопрос: в чем причина подобного поведения и как его исправить?


Ответы (0 шт):