Хорошо, данный Makefile должен работать, у меня была опечатка в одном из имен файлов заголовков.
Жаль, но make не предупреждает об этом. Кажется, что когда правило, основанное на шаблонах, пропускает предварительное условие, оно просто игнорируется. Вместо этого используется встроенное .o
правило создания.
Предложение Джонатана Леффлера о ${OBJECTS}: ${HDR}
подняло это, потому что есть ошибка относительно "нет правила делать цель неправильно написанным. H" - я бы ожидал этого и от моего правила.
Так что я могу просто согласиться на пушистость, лучше вместо этого использовать автоматически сгенерированные зависимости.