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

all: parser

parser:
	cd parser ; make all

.PHONY: all clean cleanobj cleanbak cleandep parser
clean: cleanobj cleanbak cleandep
cleanobj:
	rm -f *.o
cleanbak:
	rm -f *~
cleandep:
	rm -f *.d
%:
	$(CXX) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LOADLIBES)
parser/%.o: parser/%.cc
	cd parser; make $(subst parser/,,$@)
%.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 gtkmm-2.0 --libs` -lregexx
# LDFLAGS += `pkg-config gtkmm-2.0 --libs`
CXXFLAGS += `pkg-config gtkmm-2.0 --cflags`

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

OBJS = $(patsubst %.cc,%.o,$(wildcard *.cc))
all: $(OBJS)

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

# custom_text.o
# all: $(EXECS)
