MakefileのLinux--の書き方

簡単な例:ATは最初の2つの2の.cおよび.hファイル(チューブなしhannuo.cではない)がある
test.cのは:

 TEST.H:

 

txt.c:

 

txt.h:

 

 

同じディレクトリ内のファイル:

通常の状況下では、コンパイラ:

 我々は、実行、結果正常に生成されたファイルを見ることができます:

 今Makefileを書くことによって達成されます。

最初のMakefileファイルを作成します(私は上記を建て前に、名前を構築する必要がないのMakefileまたはメイクファイルでなければなりません)、そのファイルはvimの中に書かれています。

依存関係、コンパイル書き込みコマンドを(コマンドは結果を配置対象のファイル名タブ・キー、で始める必要があり、あなたがカスタマイズすることができます)書きます
-------------------- -------------------------------
結果:test.o txt.o
  のgcc -o txt.o結果test.o
テスト.o:test.cの
  gccの-c test.cの
txt.o:txt.c TEST.H txt.h
  のgcc -c txt.c TEST.H txt.h
------------- --------------------------------------
生産井のような単純なMakefileのファイルを、その後、ダウンし、端末に返す、結果ファイルを生成に成功し、それを実行することができますmakeコマンドを入力します。(削除する元第一世代の結果に続いて、それを変更する代わりに、Tabキーのペーストコマンドの前にコードをコピー)
Makefileは:

削除結果:

結果:

上記の文言は、最も原始的なの一つであり、文字列が簡略化され、代替で書かれていてもよいです。

結果:

 説明:$(と、フロントの後ろに等価「=」)は同じ形式、クリーン参照する:.oファイルを生成し、生成されたファイル、$(OBJ)をクリアするためにコンパイルコマンドを、結果を生成することができる、すなわち下記クリアした後、実行可能ファイル、。

そこ言葉遣い:

 結果:

 コンパイルまでどのプリコンパイル済みヘッダーファイルを.gch、スピード

ここでは、より簡潔な文言があります:

結果:

 

 ここでは、我々はいくつかの特別なマクロを使います。%.O:.oのオブジェクトのすべてが(また、ヘッダファイルの先頭にリストされた)同じ名前の.cファイルに依存することを示す、規則的なパターンである%Cは、$ ^は、すべての依存関係を表しますここでは、すなわち.Cと.hファイルは、$は、<第一項の依存関係、すなわち.Cファイルを表すが、ここだけを教えても無駄です。.oまたはその他の文書は単純すぎると十分ではありません長いリストを見ていきます場合は、次のように、それはより便利にするために、書き込みに機能を追加することができます。

若しくは

 これは、シェル関数は主に、現在のディレクトリにあるシェルコマンド(端末コマンド)./実行するために使用され、あなたはここで、特定のを見つけるためにあなたのプログラムファイルディレクトリへのパスを変更することができ、現在のディレクトリ内のすべての.cおよび.hのを見つけることですファイル。$(ソース:..%C =%oは) 文字の置換機能である、それはすべての文字列を供給しますので、関係なく、我々はこのプロジェクトに参加し、どのくらい、すべての.oファイルでの.oが.cに置き換えられませんクリア後はきれいに作ることが可能ですどのように多く生成された他の文書のコマンド.Cとメイクファイルは自動的にプロジェクトに含まれる.hファイル、手動で追加する必要が非常に簡単です、そして関係なくは、元の状態に復元しました。エラーはまた、コメントや提案を要求された場合は、すべての利益は、上記の研究よりも小さくなければなりません!

 

  

 

おすすめ

転載: www.cnblogs.com/Lovezxy/p/12603737.html