Как использовать предварительно скомпилированные заголовки с gcc и make? - PullRequest
2 голосов
/ 26 октября 2011

У меня есть файл make, который использует опции -MMD -MP при вызове g ++.Это создает файлы зависимостей .d, которые выглядят примерно так:

blah.o: header1.h header2.h

Теперь я пытаюсь добавить поддержку предварительно скомпилированных заголовков и хотел бы иметь правило, похожее на:

$(OUT_DIR)/%.h.pch: $(SRC_DIR)/%.h
    g++ -c $< -o $@

, а затем я хотел бы, чтобы файлы .d выглядели так:

blah.o: header1.h.pch header2.h.pch

Таким образом, файлы .o зависят от предварительно скомпилированных заголовков, а предварительно скомпилированные заголовки зависят от заголовков.Таким образом, я могу быть уверен, что любые предварительно скомпилированные заголовки созданы ДО того, как будет скомпилирован зависимый файл .cpp.Моя проблема в том, что я не могу найти способ создать файлы зависимостей g ++ с расширениями * .pch.Все, что я пробую, всегда приводит к типичным расширениям .h.У кого-нибудь есть идеи?

1 Ответ

3 голосов
/ 27 октября 2011

Как насчет добавления команды

sed -e 's/.h /.h.pch /g' -e 's/.h$/.h.pch/' $*.d > $*.dd

(Вы можете изменить foo.d на месте, если хотите).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...