在makefile中转义
我试图在一个makefile中做到这一点,它可怕地失败:
M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}')
你知道为什么吗? 我猜这跟逃跑有关,但是在什么地方呢?
这是美元符号,在生成文件中,您必须input$$
来获得一个美元符号:
M_ARCH := $(shell g++ -dumpmachine | awk '{split($$1,a,"-");print a[1]}')
当你认真对待的时候,Make是相当不礼貌的。 这是一个非awk的版本,可以做同样的事情:
space := $() # M_ARCH := $(firstword $(subst -,$(space),$(shell g++ -dumpmachine))) all: $(info $(M_ARCH))