2011-07-02 5 views
0

現在、私はいくつかの予期せぬ再帰とファイル名の必要な収集のためにメークファイルに問題があります。私はプロジェクトのルートフォルダにあるMakefileを再帰的に呼び出す必要があり、すべてのファイルを収集し、それらを "ターゲット"として使用するために書き込むという目的で、すべての可能なサブフォルダ(およびそのサブフォルダ...)または従属ファイル。例えば再帰メークファイル - ルートメイクファイルに変数を渡す

/Makefileは、/Sourceを通過/Source/Boot/Source/Boot/Boot.sを見つけ( - >一つのターゲットしたがって/Source/Boot/Boot.oである)、それは/Source/Kernelでオンになり、/Source/Kernel/Foo.c発見( - >第二の標的したがって/Source/Kernel/Foo.oあります)。これらのファイルをサブフォルダのMakefileでコンパイルできますが、私のルートMakefileがルートに戻るときにそれらをリンクする必要があります。

問題は、これらのオブジェクトファイルへのパスをルートメイクファイルに適切に渡してリンクする方法です。

+3

http://miller.emu.id.au/pmiller/books/rmch/を参照してください。再帰的メイクファイルを持たないようにしてください。 – Mark

+0

@マーク:これをもっと適切に解決する方法はありますか? –

+0

@マークは悪いリンクのようです。 – ThomasMcLeod

答えて

2

再帰的に呼ばれるメークファイルは、外部ファイルを使用してオブジェクトファイル名を収集するなど、ハッキングに頼らない限り、呼び出し元に情報を渡すことはできません。 リンク先のマークを見てください。それは、あなたが望むことを維持できる方法であなたのプロジェクトを整理する方法を示しています。