タグ

makeとルールに関するiwwのブックマーク (6)

  • Makefileの書き方に関する備忘録 その3 - minus9d's diary

    この記事は続き記事です。目次→Makefileの書き方に関する備忘録 - minus9dの日記 変数に何を入れるか .cから.oへのコンパイルには以下の暗黙的なルールが使われる。 $(CC) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@.ccから.oへのコンパイルには以下の暗黙的なルールが使われる。 $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c -o $@これらの変数には、以下のルールに従って値を入れるのがよさそう。 $(CC): Cのコンパイラを指定。cc, gcc, armcc(ARM用のコンパイラ)など $(CXX): C++のコンパイラを指定。g++など $(CPPFLAGS): C/C++共通で指定したいフラグを入れる。-I/usr/include, -O2など $(CFLAGS):

    Makefileの書き方に関する備忘録 その3 - minus9d's diary
    iww
    iww 2017/08/22
    $(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LOADLIBES) $(LDLIBS) -o $@
  • GNU make 日本語訳(Coop編) - 暗黙ルールの利用

    標準的なターゲットファイル更新の手法の中にはかなり頻繁に使うものもあります。例えば、オブジェクトファイルを作成するにはccというCコンパイラを使ってCソースファイルから作るという方法が習慣的なものの一つです。 習慣的な技術の利用方法をわざわざ詳細に指定しなくてもいいようにmakeに伝えてくれるものが暗黙のルールです。例えばCコンパイル作業に働く暗黙のルールがあります。ファイル名でどの暗黙ルールが実行されるのかが決定されるのです。例えばCのコンパイル作業では典型的に`.c'ファイルを受け取り`.o'ファイルを作成します。だからこの二つで終わるファイル名の組を見つけるとmakeはCコンパイルを行う暗黙ルールを適用します。 暗黙ルールの連鎖が次々に適用されることもあります。例えば`.o'ファイルを更新するのに`.y'ファイルを使う場合それを`.c'のつもりで更新します。 これについては暗黙ルール

    iww
    iww 2017/08/17
    暗黙のルール、変数の初期値
  • Makefile での .PHONY と FORCE の違い

    [以前](/2012/02/linuxmakefile-4.html)、 `.PHONY:` 指定と `: FORCE` 指定について触れたことがあるのですが、 明らかに両者を使い分けるべきケースがあることに最近気がついた。 まずは、 make の初歩ですが、 PHONY ターゲットからおさらいします。 次のような `clean` ターゲットがあったとする。 clean: $(RM) $(programs) $(objects) もし、カレントディレクトリにたまたま `clean` という名前のファイルが存在すると、 この `clean` は実行してくれません。 $ touch clean $ make clean make: `clean' is up to date. そこで、 .PHONY: clean clean: $(RM) $(programs) $(objects) としてお

  • Makefileの書き方スピード再入門 【追記あり】 - フリーフォーム フリークアウト

    移転しました http://please-sleep.cou929.nu/20090929.html

    Makefileの書き方スピード再入門 【追記あり】 - フリーフォーム フリークアウト
    iww
    iww 2017/07/06
    phonyターゲット はいつも存在を忘れる。 基本的にcleanなんて名前のファイルを作ることは無いから気にしなくていい気がする
  • make

    機能 概要 ファイルの構成 必要条件の自動生成 ルールの書き方 ( 明示的 ) 書き方 ワイルドカードの使い方 ディレクトリ検索 偽のターゲット 組込み済ターゲット名 複数のターゲット 複数のルール 静的なパターンルール ダブルコロンルール コマンドの書き方 制御用特殊文字 エコー 実行 エラー 中断と kill 再帰的用法 変数(マクロ) 定義 参照の基礎 参照の進んだ機能 テキストの追加 環境変数の取得方法 自動変数 make の実行 makefile ゴールを指定する引数 オプション 変数のオーバライド 実行の継続 暗黙のルール 使い方 カタログ 定義済み変数 連鎖 パターンルール 最終ルールの定義 サフィックスルール 検索アルゴリズム その他 オプション 主なターゲット make ファイルの約束

  • GNU make 日本語訳(Coop編) - ルールの記述

    makefileに現れるルールは、いつ、どうやって特定のファイル——これをターゲットといい、ほとんどはルールひとつにつき1つだけです——を作り直すかを指示します。ルールはターゲットの依存関係である別のファイルや、ターゲットを作成したり更新したりするためのコマンドを列挙します。 ルールの順番に意味はありません。ただし、makeにターゲットを与えるためにあるデフォルトゴールを他の方法で指定しなかった場合を除きます。デフォルトゴールとは一番初めのmakefileの最初のルールのターゲットのことです。最初のルールに複数のターゲットがある場合、一番初めのターゲットだけをデフォルトとみなします。 ただしこれには、ピリオド(".")で始まるターゲットは、一つ以上のスラッシュ("/")のようなものを含んでいない限りはデフォルトにはならない、それから型ルールを定義するターゲットはデフォルトゴールとして機能し

    iww
    iww 2011/08/18
  • 1