研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

makefile 簡単に

2010-05-05 13:54:06 | Weblog
ディレクトリ内の foo.c bar.c といったCのソースから、foo bar という実行バイナリをコンパイルするための Makefile となっている。ライブラリのリンクが必要な場合は個別に必要になるので、あまり綺麗とは言えないが、まあまあだろう。サンプルプログラム等のコンパイルには重宝している。

sources := $(wildcard *.c)
targets := $(subst .c,, $(sources))

CC       := gcc
CFLAGS   := -O2 -Wall -Wextra
CPPFLAGS := -I./includes

.PHONY: all clean
all: $(targets)
clean:
        rm -rf *.o #* *~ *.dSYM gmon.out a.out $(targets)

foo : LDFLAGS += -lpthread
bar : LDFLAGS += -lm