Unix 如何使用GNUMake';排除特定文件;什么是通配符函数?
我的项目的目录结构如下: 我的Makefile如下所示:Unix 如何使用GNUMake';排除特定文件;什么是通配符函数?,unix,grep,gnu-make,Unix,Grep,Gnu Make,我的项目的目录结构如下: 我的Makefile如下所示: dir1_contents := $(wildcard dir1/*) dir3_contents := $(wildcard dir3/*) all: clean_dir1 clean_dir3 clean_dir1: echo 'dir1_contents = $(dir1_contents)' clean_dir3: echo 'dir3_contents = $(dir3_contents)' 当我运行make
dir1_contents := $(wildcard dir1/*)
dir3_contents := $(wildcard dir3/*)
all: clean_dir1 clean_dir3
clean_dir1:
echo 'dir1_contents = $(dir1_contents)'
clean_dir3:
echo 'dir3_contents = $(dir3_contents)'
当我运行make时,我得到的是:
$ pwd
make-test
$ make -s
dir1_contents = dir1/dir2 dir1/file2.junk dir1/file3.junk
dir3_contents = dir3/file4.junk
我想在dir1\u contents
中获取dir1
的内容。但是我想从列表中排除file3.junk
。我怎么做
也许我应该使用grep-v
?但我不确定这是不是最好的办法。这里有内置的GNUMake函数吗?使用$(过滤掉模式,文本)
(有人建议使用%/file3.junk
而不是file3.junk
,但我相信你不需要这样做;我让你去做实验)我认为(使用%/code>的更正)是不对的。
$(filter-out file3.junk,${dir1_contents})