Что означает символ «@» в makefile, когда после флага -I, такого как -I @mathinc@ ?

#c #makefile

Вопрос:

Я пытаюсь понять следующую строку в Makefile.в файле:

CXXFLAGS = -O3 -DNDEBUG -std=c 11 -Wno-deprecated-declarations -Isrc -I @mathinc@

Я знаю -I , что флаг добавляет каталог в список мест, где компилятор будет искать включенные файлы, но что это @mathinc@ значит?

Ответ №1:

Обратите внимание, что файл вызывается Makefile.in — это означает, что он вводится в другой файл (или преобразование).

Короче говоря, configure запустится и определит, скажем, где находятся соответствующие включаемые файлы @mathinc — вероятно, для некоторых математических заголовков. configure После запуска он будет выдавать (без завершения) на основе того, что он находит. Makefile .in Проверьте этот файл.

configure скрипты создаются в системе с именем autoconf , которая, как и все системы сборки, имеет своих поклонников и ненавистников. Есть несколько достойных руководств, например, это.