$MY_ENV_VARIABLE という名前の環境変数が設定されています。
この変数を makefile 内で使用して (たとえば) ソース ファイルをインクルードするにはどうすればよいですか?
LOCAL_SRC_FILES = $(MY_ENV_VARIABLE)/libDEMO.so
上記のようなものは機能しないようです。
注: 私の場合、これは Android NDK でビルドするために必要ですが、これは make 全般に当てはまると思います。
$MY_ENV_VARIABLE という名前の環境変数が設定されています。
この変数を makefile 内で使用して (たとえば) ソース ファイルをインクルードするにはどうすればよいですか?
LOCAL_SRC_FILES = $(MY_ENV_VARIABLE)/libDEMO.so
上記のようなものは機能しないようです。
注: 私の場合、これは Android NDK でビルドするために必要ですが、これは make 全般に当てはまると思います。
情報を追加するだけです...
make で環境変数にアクセスするための構文は、make の他の変数と同様です...
#export the variable. e.g. in the terminal,
export MY_ENV_VARIABLE="hello world"
...
#in the makefile (replace before call)
echo $(MY_ENV_VARIABLE)
これは、コマンドを実行する前に置換を実行します。代わりに、コマンドの実行中に置換を行いたい場合は、エスケープする必要があります$
(たとえば、これecho $MY_ENV_VARIABLE
は正しくなく、make で変数を置換しようとしM
、それを に追加しようとしますY_ENV_VARIABLE
)...
#in the makefile (replace during call)
echo $$MY_ENV_VARIABLE
シェルから変数をエクスポートしたことを確認してください。ランニング:
echo $MY_ENV_VARIABLE
シェルに設定されているかどうかを示します。ただし、サブシェルやその他のサブコマンド (make など) が表示できるようにエクスポートしたかどうかを確認するには、次のコマンドを実行してみてください。
env | grep MY_ENV_VARIABLE
そこにない場合は、必ずexport MY_ENV_VARIABLE
make を実行する前に実行してください。
make は、起動時にすべての環境変数を make 変数として自動的にインポートします。