Использование условных выражений в automake - PullRequest
0 голосов
/ 09 июля 2010

Я недавно переключился с использования Makefiles на использование Automake, и я не могу понять, как написать следующий простой оператор if с использованием automake:

DEBUG ?= 1
ifeq (${DEBUG},1)
CXXFLAGS:=$(CXXFLAGS) -g
else
CXXFLAGS:=$(CXXFLAGS) -O3 -DNDEBUG
endif

Это вообще возможно сделать, если я использую automake? Так как он генерирует make-файл автоматически, имеет ли смысл записывать его в шаблон Makefile? Или я должен попытаться найти способ добавить его в автоматически сгенерированный Makefile?

1 Ответ

1 голос
/ 09 июля 2010

Нет, вы не можете использовать такой синтаксис с Automake. Точного эквивалента для первых двух строк нет.

Вы можете сделать что-то близкое, используя условное выражение Automake (см. Использование условных обозначений в руководстве Automake, например), и установите DEBUG из ./configure. Однако я не вижу смысла в этом: если вы хотите изменить CXXFLAGS глобально, просто измените эту переменную в configure, а не в Makefile.am.

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