Я довольно много гуглил и обнаружил, что этот шаблон (Surf's здесь ), кажется довольно распространенным в файлах Arch Linux PKGBUILD. Другой пример был в PKMUILD DWM .
Очевидно, что он исправляет файл config.mk
, поэтому при вызове make
значения добавляются к флагам, а не переопределяют флаги (которые уже должны быть установлены в другом месте). Таким образом, должны быть существующие настройки, которые необходимо сохранить. Похоже, что это просто делается по умолчанию создателями пакетов, поэтому было сложно найти причину.
Глядя дальше, я обнаружил этот отчет об ошибке , относящийся к файлу config.mk
DWM, где автор отмечает, что версия этого файла переопределяла флаги, установленные в makepkg.conf
, который является основной конфигурацией файл для makepkg
, который позволяет настраивать параметры компиляции для каждой машины. Это кажется разумным объяснением того, что вы нашли. На этой странице значение по умолчанию для CFLAGS
будет примерно таким:
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"
Таким образом, исправленный файл config.mk
приведет к следующему при сборке пакета:
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -std=c99 -pedantic -Wall -Os -I. ....."