Allow double for all floating point values in large configurations.
[pachi/derm.git] / Makefile
blob8140a1466b2b3b5784bcf16c766d92b873912af6
1 #### CONFIGURATION
3 # PROFILING=1
5 PREFIX=/usr/local
6 BINDIR=$(PREFIX)/bin
8 # -ffast-math breaks us
9 CUSTOM_CFLAGS=-Wall -ggdb3 -O3 -std=gnu99 -frename-registers -pthread -Wsign-compare -D_GNU_SOURCE
10 ifdef MAC
11 SYS_CFLAGS=-DNO_THREAD_LOCAL
12 LDFLAGS=-lm -pthread -ldl -rdynamic
13 else
14 SYS_CFLAGS=-march=native
15 LDFLAGS=-lm -pthread -lrt -ldl -rdynamic
16 endif
18 ifdef DOUBLE
19 CUSTOM_CFLAGS+=-Dfloating_t=double
20 endif
22 # Profiling:
23 ifdef PROFILING
24 LDFLAGS+=-pg
25 CUSTOM_CFLAGS+=-pg -fno-inline
26 else
27 # Whee, an extra register!
28 CUSTOM_CFLAGS+=-fomit-frame-pointer
29 endif
31 LD=ld
32 AR=ar
34 ### CONFIGURATION END
36 ifndef INSTALL
37 INSTALL=/usr/bin/install
38 endif
40 export
41 unexport INCLUDES
42 INCLUDES=-I.
45 OBJS=board.o gtp.o move.o ownermap.o pattern3.o pattern.o patternsp.o playout.o probdist.o random.o stone.o timeinfo.o network.o fbook.o
46 SUBDIRS=random replay patternscan joseki montecarlo uct uct/policy playout tactics t-unit distributed
48 all: all-recursive zzgo
50 LOCALLIBS=random/random.a replay/replay.a patternscan/patternscan.a joseki/joseki.a montecarlo/montecarlo.a uct/uct.a uct/policy/uctpolicy.a playout/playout.a tactics/tactics.a t-unit/test.a distributed/distributed.a
51 zzgo: $(OBJS) zzgo.o $(LOCALLIBS)
52 $(call cmd,link)
54 .PHONY: zzgo-profiled
55 zzgo-profiled:
56 @make clean all XLDFLAGS=-fprofile-generate XCFLAGS="-fprofile-generate -fomit-frame-pointer -frename-registers"
57 ./zzgo -t =5000 no_tbook <genmove19.gtp
58 @make clean all clean-profiled XLDFLAGS=-fprofile-use XCFLAGS="-fprofile-use -fomit-frame-pointer -frename-registers"
60 # install-recursive?
61 install:
62 $(INSTALL) ./zzgo $(DESTDIR)$(BINDIR)
65 clean: clean-recursive
66 rm -f zzgo *.o
68 clean-profiled: clean-profiled-recursive
69 rm -f *.gcda *.gcno
71 -include Makefile.lib