0

makefileで変数を使用して実験していますが、一貫して使用できないようです。

次のコード(ファイルsilly2.mak内):

SUBS = src
SSUBS=/src2
SHELL=/bin/sh

silly5:
    echo '<<<' $$SUBS '--' $$SSUBS '--' $$SHELL '>>>'

で実行する場合:

me@ubuntu:/usr/local/hsfsys$ make -f silly2.mak silly5

次の出力が得られます。

echo '<<<' $SUBS '--' $SSUBS '--' $SHELL '>>>'
<<< -- -- /bin/bash >>>

'SHELL'が他の変数よりもうまく機能するように見えるのはなぜですか?ある種の予約語ですか?変数の順序を移動してオンラインドキュメントを調べてみましたが、echoがSHELLの値を取得するのに、SUBSやSSUBSの値を取得しない理由がわかりません。

4

1 に答える 1

0

これを試して

SUBS = src
SSUBS=/src2
SHELL=/bin/sh

all:
    echo '<<<' $(SUBS) '--' $(SSUBS) '--' $(SHELL) '>>>'
于 2012-07-08T05:05:48.337 に答える