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 main.cpp
 
hoge.o: hoge.c hoge.h
        $(CC) -o hoge.o -c hoge.c
 
hoge.o: hogehoge.c hogehoge.h
        $(CC) -o hogehoge.o -c hogehoge.c