• ベストアンサー

環境変数をMakefile内で有効にするには?

Makefile上でプロジェクトのディレクトリ名が環境変数で指定されています。環境変数を実際にソースがある場所を指定すればよいことは分かりますが、setで環境変数を指定しても、Makefile内では反映されません。 Makefile内の環境変数を書き換えるには数が多過ぎてしまうし、移植性が失われるため避けたいと思っています。 良い方法があればご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.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

negi-bozu
質問者

お礼

exportでしたか。。。 setでおこなっていました。お騒がせしました。 ありがとうございました。

その他の回答 (1)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.1

make VAR=VAL でだめでしょうか?

negi-bozu
質問者

補足

早速のご回答ありがとうございます。 複数のmakeをひとつのシェルスクリプトで 実行しているのでそれはできませんでした。 ちなみにそのシェルスクリプトは -------------------------------------- cd $VAR/hoge1 make -f hoge1.mak cd $VAR/hoge2 make -f hoge2.mak . . . cd $VAR/hogen make -f hogen.mak -------------------------------------- のようになっており、それぞれの*.makにも $VARが利用されています。 よろしくお願いします。

関連するQ&A