コマンドの出力をMakefile変数に割り当てる方法 質問する

コマンドの出力をMakefile変数に割り当てる方法 質問する

インストールされている Python が特定のバージョン (たとえば 2.5) より大きい場合にのみ、いくつかの make ルールを条件付きで実行する必要があります。

次のように実行できると思いました:

python -c 'import sys; print int(sys.version_info >= (2,5))'

そして、その出力 (正常な場合は '1'、それ以外の場合は '0') をifeqmake ステートメントで使用します。

単純な bash シェル スクリプトでは次のようになります。

MY_VAR=`python -c 'import sys; print int(sys.version_info >= (2,5))'`

しかし、これは Makefile では機能しません。

何か提案はありますか? これを実現するために、他の適切な回避策を使用することもできます。

ベストアンサー1

Makeshell組み込み関数を次のように使用します。MY_VAR=$(shell echo whatever)

me@Zack:~$make
MY_VAR IS whatever

me@Zack:~$ cat Makefile 
MY_VAR := $(shell echo whatever)

all:
    @echo MY_VAR IS $(MY_VAR)

おすすめ記事