#CC=gcc
CXX=g++


#DEBUG_CXXFLAGS=-DUSE_INLINES
DEBUG_CXXFLAGS=-DUSE_INLINES -DSANITY_CHECKING
#DEBUG_CXXFLAGS=-DUSE_INLINES -g -pg -DSANITY_CHECKING
#DEBUG_CXXFLAGS=-g -pg -DSANITY_CHECKING -DMEMDEBUG -I/usr/local/include

#DEBUG_LD=-L/usr/local/lib -lmemdb

COMMON_OBJS=sgf.o board.o top.o pc.o rnd.o stone.o graphics.o position.o \
	record.o database.o slice.o canon.o
GOO_OBJS=$(COMMON_OBJS) goo.o move.o
ADD_OBJS=$(COMMON_OBJS) goo-add.o

CXXFLAGS=-ansi -Wall -Wmissing-prototypes -pedantic -g -pg -D_POSIX_SOURCE \
	$(DEBUG_CXXFLAGS)
# for curses-graphics.c
LDFLAGS=-lcurses -g -pg -L. -L../db/PORT/`cat ../dbarch` -ldb $(DEBUG_LD)
# for line-graphics.c
#LDFLAGS=-g -L../db/PORT/`cat ../dbarch` -ldb $(DEBUG_LD)

EXES=goo goo-add

all: $(EXES)

goo-add: $(ADD_OBJS)
	$(CXX) -o goo-add $(ADD_OBJS) $(LDFLAGS)

goo: $(GOO_OBJS)
	$(CXX) -o goo $(GOO_OBJS) $(LDFLAGS)

clean:
	rm -f $(EXES) *.o core gmon.out test.sgf

real-clean: clean
	rm -f goo-data-*-*

add: goo-add
	for i in ../9/*; do ./goo-add $$i; done
#	for i in ../13/*; do ./goo-add $$i; done
#	for i in ../19/*; do ./goo-add $$i; done

dep .dependencies:
	gcc -MM *.C > .dependencies

include .dependencies

curses:
	rm -f graphics.C
	ln -s curses-graphics.C graphics.C
	rm -f graphics.o
	make all

line:
	rm -f graphics.C
	ln -s line-graphics.C graphics.C
	rm -f graphics.o
	make all