makeファイルを作成するために必要なC++コードがいくつかあります。それぞれの.hと.Cのペアはオブジェクトを作成し、いくつかのオブジェクトをリンクして実行可能ファイルを形成します。かなり標準的なもの。gmakeはディレクトリ内のすべてのファイルをコンパイルします
この非GNU makeをコマンドは、ちょうどこれは何が行うことは、それぞれ%の.Cファイル(つまり、すべての.Cファイル)のための対応の.oファイルを作成されているディレクトリにオブジェクトに
%.o:%.C
$(CC) $(CPFLAGS) -c $<
をすべてのファイルを作成します。
誰もがgmakeでこれを行う方法を知っていますか?
乾杯
マーク
、お役に立てば幸いです。 OPは静的なパターンルールではなく、標準的なパターンルールを示しています。$(ワイルドカード)が追加のオーバーヘッドなしでこのトリックを行うここで$(シェル)を使用する理由はありません。 –
@ Eric:もちろん、静的パターンルールを修正します。一定。私はしばしばコマンドを一般化するので、余分なフォークにもかかわらず$(シェル)をたくさん使います。 = =割り当てを使うことで、私は彼に余分な苦しみを1度しか与えません。 – dmckee
あなたは好きなだけ=と$(ワイルドカード)を簡単に使うことができます: –