4

make ファイル内で環境変数の値を使用することは可能だと思います。

私は bash と make が初めてなので、その方法を理解するのに苦労しました。

次のことを試しましたが、成功しませんでした。

バッシュで

TEST_VAR=1

export TEST_VAR

メイクファイルで

ifeq ($(TEST_VAR),1)

COMMON_OBJECTS               += Test1.o

endif

ただし、Test1.cpp はコンパイルされません。

私のmakeファイルにはこれらの行しか含まれておらず、COMMON_OBJECTSを別のファイルで定義された別の変数に追加しています。

この ifeq 条件にコメントすると、Test1 がコンパイルされます。しかし、条件付きでこれを行う方法を探しています。

ここで何が欠けていますか?

4

1 に答える 1

1

bash スクリプト ファイルで「In bash」コマンドを実行する場合は、前に「.」を付けて実行する必要があります。つまり、bash ファイルの名前が「script」の場合、

$ . script
$ make

これは、「.」を前に付けた場合を除いて、各スクリプトが bash の独自のインスタンスで実行されるためです。その後、それを呼び出したのと同じ bash で実行されます。

于 2012-12-26T14:44:51.380 に答える