Я использую GNU make и в том числе стороннюю библиотеку в проекте, у которого есть система сборки, которая идет в ярость, если CFLAGS определяется в среде при ее вызове. Мне нравится иметь CFLAGS, определенный в моей среде по другим причинам. Библиотечная сборка вызывается из другого make файла, так что я говорю, например:
3rdparty: $(MAKE) -f Makefile.3rdparty
Но я хотел бы быть уверенным, что CFLAGS не работает, когда я вызываю make на стороннем Makefile. Самое ближайшее, что я могу найти, это сказать:
CFLAGS:=
Но это все еще оставляет CFLAGS установленным в среде, это просто пустая строка. Кроме
от чего-то отвратительного, как говоря:
3rdparty: bash -c "unset CFLAGS; $(MAKE) -f Makefile.3rdparty"
Есть ли простой способ "отменить" переменную CFLAGS из моего основного файла makefile, чтобы он вообще не присутствовал в среде при вызове библиотеки сторонних разработчиков?