Я использую gcc (работающий как g ++
) и GNU make.
Я использую gcc для предварительной компиляции файла заголовка precompiled.h
, создавая precompiled.h.gch
; следующая строка в Makefile делает это:
# MYCCFLAGS is a list of command-line parameters, e.g. -g -O2 -DNDEBUG
precompiled.h.gch: precompiled.h
g++ $(MYCCFLAGS) -c $< -o $@
Все было хорошо, пока мне не пришлось запустить g ++
с другими параметрами командной строки.
В этом случае, даже если precompiled.h.gch
существует, его нельзя использовать, и компиляция будет намного медленнее.
В документации gcc я прочитал, что для решения этой ситуации,
мне нужно создать каталог с именем precompiled.h.gch
и поместить
предварительно скомпилированные файлы заголовков,
один файл для каждого набора параметров командной строки g ++
.
Итак, теперь мне интересно, как мне изменить свой Makefile, чтобы указать g ++
для создания
gch-файлы таким образом.
Может быть, я могу запустить g ++
, чтобы проверить, может ли он использовать какой-либо существующий файл
в каталоге precompiled.h.gch
,
а если нет, сгенерируйте новый предварительно скомпилированный заголовок с уникальным именем файла.
Поддерживает ли gcc такой тест?
Может быть, я смогу реализовать то, что хочу, другим способом?