PREFIX=$(HOME)/games
BIN=$(HOME)/bin
DEST=$(PREFIX)/chummer/chummer-$(VERSION)

VERSION=5.225.0
CHUMMER_URL=https://github.com/chummer5a/chummer5a/releases/download/$(VERSION)/Chummer$(VERSION).zip
CHUMMER_ARCHIVE=Chummer$(VERSION).zip

export WINEARCH=win32
export WINEPREFIX=$(DEST)/wine

.PHONY: default
default:
	@printf 'Targets:\n'
	@printf ' wine                 Install wine and winetricks\n'
	@printf ' install              Install Chummer in $(DEST)\n'
	@printf '                      Requires user interaction:\n'
	@printf '                      Press OK in winecfg dialog\n'
	@printf ' install-startscript  Install start script in $(BIN)\n'
	@printf ' clean                Remove $(DEST)\n'

.PHONY: install
install: setup-wineprefix install-chummer

.PHONY: install-startscript
install-startscript: $(BIN)/chummer

.PHONY: install-chummer
install-chummer: $(DEST)/chummer/Chummer5.exe

.PHONY: setup-wineprefix
setup-wineprefix: | $(WINEPREFIX)
	winetricks --force --unattended dotnet48
	winetricks --force --unattended allfonts

$(WINEPREFIX): | $(DEST)
	winecfg

.PHONY:
wine:
	sudo apt install wine
	sudo apt install winetricks/unstable

dest: | $(DEST)
$(DEST):
	mkdir -p $(DEST)

$(BIN)/chummer: chummer.sh
	< $< sed -e 's#\(ROOT\)=.*#\1=$(DEST)#' > $@
	chmod 0755 $@

$(DEST)/chummer/Chummer5.exe: $(CHUMMER_ARCHIVE) | $(DEST)
	mkdir -p $(DEST)/chummer
	unzip -d $(DEST)/chummer $(CHUMMER_ARCHIVE)
	touch $@

$(CHUMMER_ARCHIVE):
	curl --location --output $@ $(CHUMMER_URL)

.PHONY: clean
clean:
	test "$(DEST)" && test "$(DEST)" != /
	$(RM) -r "$(DEST)"
