CPPFLAGS= -Wall -g -std=c++20
CPPFLAGS= -Wall -O3 -DNDEBUG -std=c++20 -flto=auto


objs=engine.o
objs+=analysis.o
objs+=input.o
objs+=output.o
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



all: rndgaljoen

rndgaljoen: rndgaljoen.o $(objs)
	g++ -o rndgaljoen rndgaljoen.o $(objs) -O3 -flto=auto

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

check:
	./rndgaljoen

clean:
	- rm *~ *.o ../board/*.o ../board/pieces/*.o ../board/piecelist.*.o ../board/mailbox/*.o ../board/bitboards/*.o
	- rm *~ *.o ../pst/*.o ../connections/*.o ../hashtable/*.o
	- rm *~ *.o ../movegen/*.o ../search/*.o ../tmanager/*.o rndgaljoen
	- rm *.pgn *.log


