makefileのあるレベルから次のレベルへ変数を渡すための助けを探しています。私はさまざまなターゲットアーキテクチャ上で動作するようにビルドする必要があるソースツリーを持っています。より高いレベルのmakefileをきれいに保つために、私はアーキテクチャー固有の情報を含む別々のmakefileを作成し、インクルードディレクティブを使用して必要なもののみを組み込みました:includeディレクティブからサブメイクへの変数の受け渡し
後でメイクファイルを作成してソースファイルをビルドします。ビルドが失敗し、アーキテクチャー固有の変数が渡されなかったことが原因で障害が発生していることがわかります。
ifeq ($(ARCH), my_arch) |
include build/my_archdefs.mk | section 1
endif |
<more commands>
debug:
$(MAKE) -C src debug
コードツリーを構築するためのmakefileは、srcディレクトリにあります。 stop gap measureとして、私は下のレベルのmakefileに上で参照されているセクション1を含んでいました。このケースでは、変数ARCHが渡されていないことに気付きました。
ここには関連性があると思われるリンクがいくつかありますが、私はこの作業を行うために何が必要なのか理解できません。 http://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html#Options_002fRecursion http://www.gnu.org/software/make/manual/html_node/Include.html
私が必要とする情報は、私は上記の参照リンクに潜んでいるが、私はちょうどそれを見ていないよと私には思えます。どんなポインタも非常に高く評価されます。
ありがとうございました。
リンクありがとうございます。それが私の必要なものです。後でこれを参照する他の人に関連するかもしれないページ上の1行を指摘したいだけです。デフォルトで変数をエクスポートするためにエクスポートを単独で使用する場合、名前に英数字やアンダースコア以外の文字が含まれている変数は、エクスポートディレクティブで特に記述されていない限りエクスポートされません。 – dinesh