- ベストアンサー
環境変数をMakefile内で有効にするには?
Makefile上でプロジェクトのディレクトリ名が環境変数で指定されています。環境変数を実際にソースがある場所を指定すればよいことは分かりますが、setで環境変数を指定しても、Makefile内では反映されません。 Makefile内の環境変数を書き換えるには数が多過ぎてしまうし、移植性が失われるため避けたいと思っています。 良い方法があればご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
あれ? 今試したら,環境変数効きますけどね. $ cat Makefile prog: prog.c $(COMPILE) prog.c -o prog $ cat compile #!/bin/bash make -f Makefile $ make prog.c -o prog make: prog.c: Command not found make: *** [prog] Error 127 $ export COMPILE=gcc $ make gcc prog.c -o prog $ touch prog.c $ ./compile gcc prog.c -o prog
その他の回答 (1)
- astronaut
- ベストアンサー率58% (303/516)
make VAR=VAL でだめでしょうか?
補足
早速のご回答ありがとうございます。 複数のmakeをひとつのシェルスクリプトで 実行しているのでそれはできませんでした。 ちなみにそのシェルスクリプトは -------------------------------------- cd $VAR/hoge1 make -f hoge1.mak cd $VAR/hoge2 make -f hoge2.mak . . . cd $VAR/hogen make -f hogen.mak -------------------------------------- のようになっており、それぞれの*.makにも $VARが利用されています。 よろしくお願いします。
お礼
exportでしたか。。。 setでおこなっていました。お騒がせしました。 ありがとうございました。