揮発性のメモ2

http://d.hatena.ne.jp/iww/

Makefile

書き換える分は最小になるよう、できるだけ自動で解決できるMakefileを目指す。

  • ソースやヘッダが増える分は自動で増える
  • 最終生成物とオブジェクトの依存関係だけ書けば良いようにする
# Makefile
all:;


#---- プロジェクトごとに書き換え ここから ----------------

# 暗黙の変数
CC      = gcc
CFLAGS  += -pthread -O2 -Wall -g
LDFLAGS += -pthread -lrt

# 生成プログラムリスト
ALL := test_hoge test_piyo
test_hoge: test_hoge.o mylib_queue.o mylib_thread.o
test_piyo: test_piyo.o mylib_thread.o

#---- プロジェクトごとに書き換え ここまで ----------------


all: $(ALL)
*.o: Makefile

clean:
	rm -rf html depends $(ALL) *.o

html: *.c *.h
	doxygen

depends: *.c *.h
	gcc -MM *.c > depends

-include depends

.PHONY: all clean
Makefile
ソースやヘッダ が 依存している。Makefileいじったら問答無用でやり直させる
htmlディレクト
doxygenのファイルができる
dependsファイル
依存関係ファイル
ソースをいじってmakeするたびに作り直す
ゴミな.cも依存関係を解析してしまう (使われないので最終生成物に影響はないが)