私はメイクファイルでこれをしようとしていますが、それは恐ろしく失敗します:
M_Arch := $(Shell g++ -dumpmachine | awk '{split($1,a,"-");print a[1]}')
なぜなのかご存知ですか?エスケープに関係していると思いますが、どこで何をしますか?
これはドル記号です。メイクファイルでは、単一のドル記号を取得するには$$
と入力する必要があります。
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))