GPSSHOGI_HOME = ../..
include $(GPSSHOGI_HOME)/makefile.conf
-include makefile.local

# type make RELEASE=yes to build optimized programs
# type make DEBUG=yes to build programs for debugging

LDFLAGS +=  -L$(OSL_LIB_DIR)
LOADLIBES = -losl -lm 

ifeq ($(CXX),icc)
INCLUDES += -I/usr/local/include
OTHERFLAGS = -w1
ifndef RELEASE
CXXOPTFLAGS = -O
OTHERFLAGS +=  -DDEBUG
else
CXXOPTFLAGS = -O3
OTHERFLAGS += -wp_ipo -ipo_obj -unroll8 -DNDEBUG
#PROF = -prof_use
endif
LDFLAGS +=  -L/opt/intel/compiler70/ia32/lib
else
OTHERFLAGS = -pipe -Wall $(CPUOPTION)
ifdef PROFILE
PROF = -g -pg
endif
ifdef DEBUG
CXXOPTFLAGS = -O0
OTHERFLAGS += -g -DDEBUG -DCHECKMATE_DEBUG
else
CXXOPTFLAGS = -O2 
OTHERFLAGS += -frename-registers -funroll-loops -finline-limit=12000
ifndef PROF
OTHERFLAGS += -fomit-frame-pointer
endif
ifdef RELEASE
CXXOPTFLAGS = $(RELEASE_CXX_OPTFLAGS)
OTHERFLAGS += -DNDEBUG
endif
endif
LDFLAGS +=  -L$(CXX_HOME)/lib -Wl,-rpath,$(CXX_HOME)/lib
endif

LDFLAGS += $(PROF)

CXXFLAGS =  $(PROF) $(OTHERFLAGS) $(CXXOPTFLAGS) $(INCLUDES) $(ADDITIONALFLAGS)

SRCS = evalrecord.cc analyzerecord.cc extract.cc checkstat.cc learn.cc \
	evalpositions.cc
# analyze_cost.cc

OBJS = $(SRCS:.cc=.o)
PROGRAMS = $(SRCS:.cc=)
CC = $(CXX)

# CC, LDFLAGS, LOADLIBES Ƥ
# %.o  % 򾡼˺äƤΤ
# ̤ʤΰʳϽɬפʤ

all: $(OBJS) $(PROGRAMS)
$(PROGRAMS): $(OSL_LIB_DIR)/libosl.a 

clean: 
	rm -f core *.o $(PROGNAME) nohup.out *~
distclean: clean 
	rm -f *~

-include $(patsubst %.cc,.deps/%.cc.d,$(SRCS))

KIF_FILE = ../../data/kisen/01.kif

### ¸
# (1)  (proof, disproof)򽸤
pdp2-20.txt:
	time ./evalrecord -N 2 -l 20 -k $(KIF_FILE) -o $@
pdp40k-20.txt:
	time ./evalrecord -N 40000 -l 20 -k $(KIF_FILE) -o $@
pdp40k-10.txt:
	time ./evalrecord -N 40000 -l 10 -k $(KIF_FILE) -o $@
pdp40k-40.txt:
	time ./evalrecord -N 40000 -l 40 -k $(KIF_FILE) -o $@
# (2) ʲfitting ǡ

# (3) 
pdp40k80k-40.txt:
	time ./evalrecord -F 40000 -N 40000 -l 40 -k $(KIF_FILE) -o $@
