# Ember Reach - Copyright (C) 2026 Michael Slater. GNU GPL version 2 or later; see COPYING.
# Ember Reach - Linux build (see BUILD.TXT for Windows and DOS)
FPC ?= fpc
FPCFLAGS = -Mobjfpc -Sh -O2 -XX -Xs -vew -Fusrc -FUbuild -FEbin

all: bin/ermaint bin/reach bin/reachcfg

build bin:
	mkdir -p $@

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

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

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


# Windows (Win64): 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 -Fusrc -FUbuild-win -FEbin-win

windows: bin-win/ermaint.exe bin-win/reach.exe bin-win/reachcfg.exe

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

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

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

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

dos:
	sh dosbuild.sh

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