2012-04-18 25 views
2

私のメイクに私はコマンドラインからCPPFLAGSを設定

program_INCLUDE_DIRS += ../inc 
    CPPFLAGS += $(foreach includedir,$(program_INCLUDE_DIRS),-I$(includedir)) 

は、今、私が実行している間(私はメイクファイルを実行している場所の上のディレクトリが存在する)../inc2という名前のディレクトリを含めるようにすることを考えてみましょうコマンドラインでmakefileを実行する

私は../inc2ディレクトリをCPPFLAGSに設定する必要があることを知っています。

コマンドラインで../inc2ディレクトリを含めるようにコマンドの構文を教えてください。また、私はメイクファイル(../ inc)に含まれている既存のディレクトリを上書きしたくありません。

答えて

1

+=は、置き換えられる代わりにCPPFLAGSを意味します。それはあなたがあなたのシェルでそれを設定することができることを意味し、既存のディレクトリは次のように、追加されます:

export CPPFLAGS=-I../inc2 
make 

あなたはこの多くを行うために必要がある場合は、よりよい解決策が言って、あなたのメイクファイルを変更するには、次のようになります。

+0

@カール....私はエクスポート機能を使用してこれを達成することはできません...コマンドラインから直接このようにする方法を提案できますか...... make CPPFLAGS + = - I ../ inc2 。また、私は輸出の../inc2が乗り越えられていると推測しています.. /inc2 –

+0

あなたはどんなシェルを使っていますか? 'CPPFLAGS = -I ../ inc2 make'はほとんどのUNIX系シェルでも動作します。私は窓のために何があるのか​​分からない。 –

関連する問題