CPPFLAGS=`pkg-config --cflags gtkmm-3.0` -DNDEBUG -DUNIX -Wall -O3 -std=c++20
CPPFLAGS=`pkg-config --cflags gtkmm-3.0` -DNDEBUG -Wall -O3 -std=c++20
LDFLAGS=`pkg-config --libs gtkmm-3.0` -lpthread -lstdc++fs







objs=../board/bposition.o
objs+=../board/cposition.o
objs+=../board/position.o
objs+=../board/hasher.o
objs+=../board/materialsignature.o
objs+=../board/rep3filter.o
objs+=../board/piece.o
objs+=../board/square.o
objs+=../board/bitboard.o
objs+=../board/move.o
objs+=../board/mlist.o
objs+=../board/movegenerator.o
objs+=../board/connections.o
objs+=../board/attacks.o
objs+=../board/rookmask.o
objs+=../board/bishopmask.o
objs+=../board/magicmoves.o
objs+=../board/timer.o
objs+=../board/duration.o

objs+=../polyglotbook/book.o
objs+=../polyglotbook/bkmove.o
objs+=../polyglotbook/record.o
objs+=../polyglotbook/key.o
objs+=../options/clock.o
objs+=../options/homedir.o
objs+=../options/installedengines.o
objs+=../options/level.o
objs+=../options/option.o 
objs+=../pgn/game.o
objs+=../pgn/gametree.o
objs+=../pgn/lexer.o
objs+=../pgn/movesection.o
objs+=../pgn/mse.o
objs+=../pgn/pgnfile.o
objs+=../pgn/sanmove.o
objs+=../pgn/tagsection.o
objs+=../tournament/book.o
objs+=../tournament/participant.o
objs+=../tournament/table.o
objs+=../tournament/tournament.o

objs+=engines/guiengine.o
objs+=engines/base_engine.o
objs+=engines/uci_engine.o
objs+=engines/xboard_engine.o
objs+=engines/setproto.o
objs+=engines/engvar.o
objs+=engines/engio.o
objs+=tourmanager.o
objs+=manager.o
objs+=cvtrio.o


all: galjoencli unittest $(objs)

unittest: unittest.o unittest.cpp $(objs)
	g++ -o unittest unittest.o $(objs) $(LDFLAGS)

unittest.o: galjoencli
	g++ -c unittest.cpp $(CPPFLAGS)

galjoencli: galjoencli.o $(objs)
	g++ -o galjoencli galjoencli.o $(objs) $(LDFLAGS)

galjoencli.o: ../rndgal/rndgaljoen
	g++ -c galjoencli.cpp $(CPPFLAGS)

../rndgal/rndgaljoen: $(objs)
	make -C ../rndgal

clean:
	- rm *.o *.log *.pgn
	- rm engines/*.o galjoencli unittest ../rndgal/rndgaljoen ../rndgal/*.o

check:
	./unittest

install:
	install galjoencli /usr/local/bin


