[makefile] 메이크 파일에서 이스케이프

나는 makefile에서 이것을하려고하는데 끔찍하게 실패합니다.

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

왜 그런지 알아? 탈출과 관련이있는 것 같은데, 어디에서 무엇을할까요?



답변

달러 기호입니다. 메이크 파일 $$에서 단일 달러 기호를 얻으려면 입력 해야합니다.

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))


답변