# LORD Free Pascal port
FPC ?= fpc
FPCFLAGS = -Mobjfpc -Sh -O2 -XX -Xs -vew -FUbuild -FEbin

# Windows (Win64) door: needs the FPC x86_64-win64 units, see BUILD.TXT
WINUNITS ?= $(HOME)/fpc-win64/lib/fpc/3.2.2/units/x86_64-win64
WINFLAGS = -Twin64 -Px86_64 -Fu$(WINUNITS)/* -Mobjfpc -Sh -O2 -XX -Xs -vew -FUbuild-win -FEbin-win

all: bin/lord bin/lordcfg

windows: bin-win/lord.exe bin-win/lordcfg.exe

build-win bin-win:
	mkdir -p $@

bin-win/lord.exe: src/*.pas src/*.inc | build-win bin-win
	$(FPC) $(WINFLAGS) src/lord.pas

bin-win/lordcfg.exe: src/*.pas src/*.inc | build-win bin-win
	$(FPC) $(WINFLAGS) src/lordcfg.pas

build bin:
	mkdir -p $@

bin/lord: src/*.pas src/*.inc | build bin
	$(FPC) $(FPCFLAGS) src/lord.pas

bin/lordcfg: src/*.pas src/*.inc | build bin
	$(FPC) $(FPCFLAGS) src/lordcfg.pas

src/records_intf.inc src/records_impl.inc: gen_records.py ref/recorddefs.js
	python3 gen_records.py

src/tables.inc: gen_tables.py ref/lordtables.json
	python3 gen_tables.py

clean:
	rm -rf build bin build-win bin-win
