Простой способ передачи переменных в CFLAGS в файле make - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть Makefile, который выглядит как ниже. Я использую ifeq для добавления переменных во флаги компилятора.

ABC=1
XYZ=1

ifeq ($(ABC),1)
CFLAGS+= -DABC
endif

ifeq ($(XYZ),1)
CFLAGS+= -DXYZ
endif

...

Есть ли более чистый способ добавить все переменные в CFLAGS вместо использования ifeq для всех?

1 Ответ

0 голосов
/ 06 февраля 2020

Есть ли более чистый способ добавить все переменные в CFLAGS вместо использования ifeq для всех?

Вы можете использовать имена вычисляемых переменных для избегайте этих многословных ifeq блоков:

ABC=1
XYZ=1

cflags.abc.1 := -DABC
cflags.xyz.1 := -DXYZ

CFLAGS += cflags.abc.${ABC} cflags.xyz.${XYZ}

Используется тот факт, что неустановленные переменные расширяются до пустых строк в GNU make.

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