Как прекомпилировать заголовки при построении цели за один шаг?

У меня есть простой make-файл, который находит файлы CPP относительно него и строит цель оттуда. Как я могу изменить это, чтобы также прекомпилировать файлы заголовков относительно этого при построении цели?

TARGET ?= application
CXXFLAGS += -Os -I. -MMD -MP -std=c++11    

SOURCES := $(shell find -L . -name '*.cpp')
OBJECTS := $(SOURCES:.cpp=.o)
DEPENDS := $(SOURCES:.cpp=.d)    

$(TARGET): $(OBJECTS) 
    $(CXX) $(OBJECTS) -o $@ $(LDLIBS)    

.PHONY: clean    

clean : 
    $(RM) $(TARGET) $(OBJECTS) $(DEPENDS)    

-include $(DEPENDS)

1 ответ

Решение

Похоже, я не могу сделать то, что я имел в виду. Решением здесь является следование совету @Rup и включение основных зависимостей в один скомпилированный заголовок.

GCC - 3.21 Использование предварительно скомпилированных заголовков

Предварительно скомпилированный заголовочный файл можно использовать только в том случае, если применяются следующие условия:

  • Только один предварительно скомпилированный заголовок может быть использован в конкретной компиляции.
Другие вопросы по тегам