在makefile中定义逗号字符串和空格字符串

  • 时间:
  • 来源:互联网
  • 文章标签:

空格和逗号是makefile中常见的分隔符,估计是写不出一个完全没有空格和逗号的makefile的,没有的话意义就不对了。但是如果要进行字符串处理,空格和逗号就不能直接出现了,即使直接写上make解析器也不会将其作为字符串使用。所以应该这样写,才能让空格和逗号变成字符串。具体是谁想出来的已经不可考了,这里就写原创,请真正的原创不要见怪。

comma:=,
empty:=
space:=$(empty) 
foo:= a,b,c
bar:= $(subst $(comma),$(space),$(foo)) 

all:
	@echo $(foo)
	@echo $(bar)
上面的代码将逗号替换成空格。注意comma,empty,space这三个变量。comma的等号后面就是一个逗号;empty的等号后面没东西,直接回车;space的等号后面是$(empty)再加一个空格(如果你加多个空格那么space就代表多个空格)


输出结果(测试的makefile在/usr/local里):

root@debian:/usr/local# make
a,b,c
a b c


本文链接http://www.taodudu.cc/news/show-647501.html