Я пытаюсь сделать это в 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]}')
Мэйк довольно шустрый, когда ты к нему подойдешь.Вот не-awk версия, которая делает то же самое:
space := $() # M_ARCH := $(firstword $(subst -,$(space),$(shell g++ -dumpmachine))) all: $(info $(M_ARCH))