如何使用 GNU Make 从目录中过滤掉文件列表?
How to use GNU Make filter-out a list of files from a directory?
我有一个要从我的 Makefile
中排除的 cpp
个文件的列表。我无法像 那样应用通配符;相反,我想排除特定文件名的列表。我怎么做?
这似乎不起作用。
SRCDIR = ../src
EXCLUDE := file1.cpp,file2.cpp,file3.cpp
SRCS = $(shell find $(SRCDIR) -name '*.cpp')
SRCS := $(filter-out $(SRCDIR)/$(EXCLUDE) , $(SRCS))
查看documentation,可以过滤多个文件为:
objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o
$(filter-out $(mains),$(objects))
所以我的问题几乎变成了是否有办法通过从变量 SRCDIR
?[=20 加载值来排除 ../src/file1.cpp
、../src/file2.cpp
、../src/file3.cpp
=]
你可能想要这样的东西:
SRCS := $(filter-out $(EXCLUDE:%=$(SRCDIR)/%),$(SRCS))
我有一个要从我的 Makefile
中排除的 cpp
个文件的列表。我无法像
这似乎不起作用。
SRCDIR = ../src
EXCLUDE := file1.cpp,file2.cpp,file3.cpp
SRCS = $(shell find $(SRCDIR) -name '*.cpp')
SRCS := $(filter-out $(SRCDIR)/$(EXCLUDE) , $(SRCS))
查看documentation,可以过滤多个文件为:
objects=main1.o foo.o main2.o bar.o
mains=main1.o main2.o
$(filter-out $(mains),$(objects))
所以我的问题几乎变成了是否有办法通过从变量 SRCDIR
?[=20 加载值来排除 ../src/file1.cpp
、../src/file2.cpp
、../src/file3.cpp
=]
你可能想要这样的东西:
SRCS := $(filter-out $(EXCLUDE:%=$(SRCDIR)/%),$(SRCS))