Top | Wiki | Blog | Github  

以前のリビジョンの文書です


Makefile

すぐ忘れてしまうのでメモメモ.

基本設定

  • 大文字で書いたら,変数として使える.
CC = icc
$(CC) # icc と展開される.
  • コロンの後に依存するファイルを記述する.依存するファイルが更新されると自動的にコンパイルされる.
a.out: hoge.o hogehoge.o # a.out をターゲットと呼ぶ.hoge.o と hogehoge.o が依存ファイル
        $(CC) -o a.out hoge.o hogehoge.o # 依存ファイルらをリンクして実行ファイルを作成する.必要に応じてライブラリもリンクする必要がある.
  • リンクで必要とされるオブジェクトファイルの依存関係も記述すれば,とりあえず動く
a.out: hoge.o hogehoge.o
        $(CC) -o a.out hoge.o hogehoge.o
 
hoge.o: hoge.c
        $(CC) -o hoge.o -c hoge.c
 
hoge.o: hogehoge.c
        $(CC) -o hogehoge.o -c hogehoge.c
 
hoge.c: hoge.h               # hoge.h が更新されたら,hoge.c を更新
hogehoge.c: hogehoge.h # hogehoge.h が更新されたら,hogehoge.c を更新