0
私はそれについて何も見つかりませんでした。私はこのルールをMakefileに書き込もうとしています。テキストとしてのMakefile変数の出力
setenv:
@echo "export DYLD_LIBRARY_PATH=."
@echo "export DYLD_INSERT_LIBRARIES=$(NAME).so"
@echo "export DYLD_FORCE_FLAT_NAMESPACE=1"
@echo "# Run eval $$(make setenv)"
は、だから私のターミナルでeval $(make setenv)
を実行することにより、環境変数が設定されます。
しかし、無限ループを開始しています。
私はまたしてみました。このための正しい構文は何ですか...
\$(make setenv)
何も動作しますか?
EDIT:
\$$(make setenv)
は、トリックをしました!
達成しようとしていることは何ですか?エクスポートコマンドがエコーされるのはなぜですか? '$$(...)'は '$(...)'に展開されます。これはシェル置換です。 –
最後の行に書いてありますが、コマンドはそれらを起動するために 'eval'を使うようにエコーされます。 '$(shell export ...) 'よりもクリーンであることがわかりました –
Makefileを使って環境変数を他のものに設定しているのなら、シェルスクリプトがうまくいくでしょう。他のレシピのためにそれらの瓶が必要な場合は、私の答えを見てください。 –