linux:gnu_make

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linux:gnu_make [2011/03/22 11:13] – 外部編集 非ログインユーザーlinux:gnu_make [2019/08/19 06:48] (現在) ともやん
行 4: 行 4:
  プログラム開発では、ソースコード修正、ビルド、テストを何度も繰り返し行うことになるが、その際に上記に述べたような機能は非常に重要な要素である。\\  プログラム開発では、ソースコード修正、ビルド、テストを何度も繰り返し行うことになるが、その際に上記に述べたような機能は非常に重要な要素である。\\
 \\ \\
- make自体はIDEからも利用されており、上記に述べたことを実現しつつビルドを自動化するために利用される。その他にUnitテストやインストールの実行も自動化することが可能である。\\+ make 自体は IDE からも利用されており、上記に述べたことを実現しつつビルドを自動化するために利用される。その他に Unit テストやインストールの実行も自動化することが可能である。\\
  
 ===== 作業を自動化するMakefileの記述 ===== ===== 作業を自動化するMakefileの記述 =====
- makeコマンドを実行すると、カレントフォルダに存在する Makefile もしくは makefile の内容が実行される。\\+ make コマンドを実行すると、カレントフォルダに存在する Makefile もしくは makefile の内容が実行される。\\
 \\ \\
- 例えば、単一のC++ソースをコンパイルするには、以下のコマンドを実行する。\\+ 例えば、単一の C++ ソースをコンパイルするには、以下のコマンドを実行する。\\
 <code bash> <code bash>
 $ g++ -o hellocpp hellomain.cpp $ g++ -o hellocpp hellomain.cpp
 </code> </code>
  これをMakefileで記述すると以下のようになる。\\  これをMakefileで記述すると以下のようになる。\\
-\\ +<file autoconf Makefile>
-[Makefile] +
-<code>+
 hellocpp: hellomain.cpp hellocpp: hellomain.cpp
  g++ -o hellocpp hellomain.cpp  g++ -o hellocpp hellomain.cpp
-</code>+</file>
  ※注意: 2行目の先頭はタブを挿入しなければならない。スペースだと次のようなエラーになる。「Makefile:2: *** 分離記号を欠いています.  中止.」\\  ※注意: 2行目の先頭はタブを挿入しなければならない。スペースだと次のようなエラーになる。「Makefile:2: *** 分離記号を欠いています.  中止.」\\
 \\ \\
行 36: 行 34:
 \\ \\
  以下に複数ソースファイルから実行ファイルをビルドする Makefile の例を示す。\\  以下に複数ソースファイルから実行ファイルをビルドする Makefile の例を示す。\\
-\\ +<file autoconf Makefile>
-[Makefile] +
-<code>+
 StockPricesImport: Http.o MySQLDB.o StockPricesImportApp.o StockPricesImport: Http.o MySQLDB.o StockPricesImportApp.o
  g++ -o StockPricesImport Http.o MySQLDB.o StockPricesImportApp.o  g++ -o StockPricesImport Http.o MySQLDB.o StockPricesImportApp.o
行 47: 行 43:
 StockPricesImportApp.o: StockPricesImportApp.cpp StockPricesImportApp.h StockPricesImportApp.o: StockPricesImportApp.cpp StockPricesImportApp.h
  g++ -c StockPricesImportApp.cpp  g++ -c StockPricesImportApp.cpp
-</code>+</file>
  Makefileの意味は以下の通り。\\  Makefileの意味は以下の通り。\\
   * StockPricesImport ターゲットは、Http.o、MySQLDB.o、StockPricesImportApp.o の四つのファイルに依存している。   * StockPricesImport ターゲットは、Http.o、MySQLDB.o、StockPricesImportApp.o の四つのファイルに依存している。
行 80: 行 76:
  
 ===== 偽りのターゲットを使ったテクニック ===== ===== 偽りのターゲットを使ったテクニック =====
- +準備中...
 ===== 参考文献 ===== ===== 参考文献 =====
 この文章を作成するに当たって、以下の文献を参考にさせて頂きました。原文の著者、翻訳者の方々に感謝いたします。\\ この文章を作成するに当たって、以下の文献を参考にさせて頂きました。原文の著者、翻訳者の方々に感謝いたします。\\
  • linux/gnu_make.1300759997.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)