Выход в make-файле

Я пытаюсь сделать это в make-файле, и он перестал работать ужасно:

M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}')

Вы знаете почему? Я предполагаю, что это имеет отношение к выходу, но какой и где?

79
задан Jonas Byström 4 March 2010 в 21:14
поделиться

2 ответа

Это знак доллара. В make-файлах вам нужно будет ввести $$ , чтобы получить единственный знак доллара:

M_ARCH := $(shell g++ -dumpmachine | awk '{split($$1,a,"-");print a[1]}')
153
ответ дан 24 November 2019 в 10:11
поделиться

Make довольно шепелявит, когда вы к ней подходите. Вот версия, отличная от awk, которая делает то же самое:

space := $() #

M_ARCH := $(firstword $(subst -,$(space),$(shell g++ -dumpmachine)))

all:
    $(info $(M_ARCH))
16
ответ дан 24 November 2019 в 10:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: