Ответ 1
Это знак доллара, в make файлах вам нужно будет ввести $$
, чтобы получить один знак доллара:
M_ARCH := $(shell g++ -dumpmachine | awk '{split($$1,a,"-");print a[1]}')
Я пытаюсь сделать это в make файле, и он терпит неудачу:
M_ARCH := $(shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}')
Вы знаете, почему? Я предполагаю, что это связано с побегом, но что и где?
Это знак доллара, в make файлах вам нужно будет ввести $$
, чтобы получить один знак доллара:
M_ARCH := $(shell g++ -dumpmachine | awk '{split($$1,a,"-");print a[1]}')
Make - это довольно lispy, когда вы приступите к нему. Здесь не-awk-версия, которая делает то же самое:
space := $() #
M_ARCH := $(firstword $(subst -,$(space),$(shell g++ -dumpmachine)))
all:
$(info $(M_ARCH))