CXX = g++
CXXFLAGS = -g -Wall -O9
CFLAGS = -g -Wall -O9
DESTDIR = 

all: gmp sgf igs
.PHONY: gmp sgf igs
gmp:
	cd gmp; make all
sgf:
	cd sgf; make all
igs:
	cd igs; make all
.PHONY: all clean cleanobj cleanbak cleandep cleansub
clean: cleanobj cleanbak cleandep cleansub
cleanobj:
	rm -f *.o
cleanbak:
	rm -f *~
cleandep:
	rm -f *.d
cleansub:
	cd gmp; make clean
	cd sgf; make clean
	cd igs; make clean

%:
	$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LOADLIBES)
%.d: %.cc
	sh -ec 'c++ -MM $< $(CXXFLAGS) | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; [ -s $@ ] || rm -f $@'
ifneq ($(MAKECMDGOALS),clean)
-include $(patsubst %.cc,%.d,$(wildcard *.cc))
endif

LDFLAGS += `pkg-config gconfmm-2.0 gtkmm-2.0 --libs` -lregexx
# LDFLAGS += `pkg-config gtkmm-2.0 --libs`
CXXFLAGS += `pkg-config gconfmm-2.0 gtkmm-2.0 --cflags`

PARSERS = $(patsubst %.cc,%.o,$(wildcard igs/parser/*.cc))

EXECS+=ccgo
ccgo: $(PARSERS) \
	go.o settings.o \
	setting_win.o \
	game.o board.o move.o rule.o setup.o play_game.o view_win.o \
	view.o walk.o view_walk.o game_walk.o proper_game.o score_proper.o \
	view_game.o node.o prop_node.o root_proper.o proper.o \
	modifi_proper.o sgf/sgf.o sgf/prop.o sgf/node.o sgf/tree.o \
	modifi.o put_move.o handicap.o game_setup.o proper_node.o \
	part_win.o time.o part.o play_walk.o player.o arena.o gmp/gmp.o \
	gmp/device.o gmp/player.o ccgo.o \
	igs/win.o igs/control.o igs/line_box.o igs/conn.o igs/game_list.o \
	igs/match.o igs/player_list.o igs/parser/init.o igs/game.o \
	igs/custom_text.o igs/show.o \
	igs/player.o igs/match_box.o \
	igs/match_win.o igs/stats_box.o \
	igs/board.o igs/result.o igs/login_dialog.o \
	igs/encode.o igs/storage.o igs/tagged_message.o \
	igs/static.o

all: $(EXECS)
clean: cleanexe
cleanexe:
	rm -f $(EXECS)

install: ccgo
	install -D -s ccgo $(DESTDIR)/usr/bin/ccgo
	install -m644 -D ccgo.png $(DESTDIR)/usr/share/pixmaps/ccgo.png
	install -m644 -D ccgo.desktop $(DESTDIR)/usr/share/gnome/apps/Games/ccgo.desktop
	mkdir -p $(DESTDIR)/usr/share/pixmaps/ccgo
	install -m644 images/*.png $(DESTDIR)/usr/share/pixmaps/ccgo
