
PROGRAMS := $(wildcard *.pas)
TARGETS := $(PROGRAMS:%.pas=%)

PGN_PARSER_DIR := pgn-parser
CHESS_LIBRARY_DIR := $(HOME)/Documents/pascal/echecs/eschecs/source/chess
FLRE_DIR := $(HOME)/Documents/pascal/sources/flre/src

PC := fpc
PFLAGS := -Mobjfpc -Sh
PFLAGS += -Fu$(PGN_PARSER_DIR)
PFLAGS += -Fu$(CHESS_LIBRARY_DIR)
ifdef FLRE
PFLAGS += -Fu$(FLRE_DIR)
PFLAGS += -dUSE_FLRE
endif
PFLAGS += -ghl

#CECP_ENGINE := ~/Documents/echecs/sources/moteurs/cheese/3_0_1/bin/cheese-301-linux-pop
CECP_ENGINE := ~/Documents/echecs/sources/moteurs/cheng4/40/cheng4_linux_x64
#CECP_ENGINE := ~/Documents/echecs/sources/moteurs/hgm/fairymax/de2556f/fmax
#CECP_ENGINE := ~/Documents/echecs/sources/moteurs/olithink/5_11_7/olithink

GAME := pgnreaddemo.out
LOG := analyze.log

all: demo $(LOG)
	./demo < $(LOG)

$(GAME): game1.pgn pgnreaddemo
	./pgnreaddemo $< > $(GAME)

$(LOG): $(GAME)
	expect analyze.tcl $(GAME) $(CECP_ENGINE) $(LOG)

%: %.pas
	$(PC) $< $(PFLAGS)

clean:
	rm -fv *.o *.ppu

distclean: clean
	rm -fv *.out $(TARGETS) $(LOG)

.PHONY: clean
