Как разделить-D всего для одного файла в make-файле гну?

У меня есть '-Wredundant-decls' 'в моем CXXFLAGS, но для одного файла, я хочу удаленный.

В моем make-файле GNU, как я могу структурировать правило удалить просто что часть CXXFLAGS.

Я знаю, как добавить только для того файла, я сделал бы что-то вроде этого:

$O/just_one_file.o: CXXFLAGS += -Wredundant-decls

Так, идеально я сделал бы что-то вроде этого (который не работает) для удаления его:

$O/just_one_file.o: CXXFLAGS -= -Wredundant-decls

Однако, возможно, с некоторым волшебством $, я могу создать некоторый sed или сценарий жемчуга, чтобы разделить-Wredundant-decls и установить CXXFLAGS на разделенное значение:

$O/just_one_file.o: CXXFLAGS = $(shell strip magic here for $CXXFLAGS)
1
задан WilliamKF 28 April 2010 в 00:41
поделиться

2 ответа

Оболочка не нужна:

$O/just_one_file.o: CXXFLAGS := $(subst -Wredundant-decls,,$(CXXFLAGS))

или

$O/just_one_file.o: CXXFLAGS := $(filter-out -Wredundant-decls,$(CXXFLAGS))
2
ответ дан 3 September 2019 в 00:58
поделиться

Хорошо, я понял это для себя:

$O/just_one_file.o: CXXFLAGS := $(shell echo ${CXXFLAGS} | sed s/-Wredundant-decls//g)
0
ответ дан 3 September 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: