Подтвердить что ты не робот

Выход из файла makefile

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

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

Вы знаете, почему? Я предполагаю, что это связано с побегом, но что и где?

4b9b3361

Ответ 1

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

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

Ответ 2

Make - это довольно lispy, когда вы приступите к нему. Здесь не-awk-версия, которая делает то же самое:

space := $() #

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

all:
    $(info $(M_ARCH))