这与Remove item from a Makefile variable?密切相关。
答案告诉我们使用filter-out
,但它会返回一个新变量。我需要它来修改现有的变量。
我面临的问题是GNUmakefile,它执行以下操作:
SRCS = $(wildcard *.cpp)
ifeq ($(SRCS),) # workaround wildcard function bug in GNU Make 3.77
SRCS = $(shell echo *.cpp)
endif
OBJS = $(SRCS:.cpp=.o)
SRCS
最终会提供一些不需要的*.cpp
个文件,例如Borland Developer Studio project中使用的文件。
我们如何在不使用新变量的情况下就地过滤?