Makefileメモ

よく使うMakefileのメモ書き

SFMTは乱数生成に使うやつ

CC = g++ -std=c++11
OPTION = -I/usr/local/include -L/usr/local/lib -I../modules/SFMT-src-1.5.1
OPTIMIZE = -O3 -fopenmp
DIR = ../module
TEST = -DSFMT_MEXP=19937
.SECONDEXPANSION:
a.out: main.o sub1.o sub2.o SFMT.o
  $(CC) $(TEST) $(OPTION) $(OPTIMIZE) $^ -o $@
  rm -f $^
main.o: $$*.cpp
  $(CC) -c $(TEST) $(OPTION) $(OPTIMIZE) -o $@ $<
sub1.o: $(DIR)/$$*.cpp
  $(CC) -c $(TEST) $(OPTION) $(OPTIMIZE) -o $@ $<
sub2.o: $(DIR)/$$*.cpp
  $(CC) -c $(TEST) $(OPTION) $(OPTIMIZE) -o $@ $<
SFMT.o: $(DIR)/SFMT-src-1.5.1/$$*.c
  $(CC) -c $(TEST) $(OPTIMIZE) -o $@ $<