-include      Makelocal.mk
PATH_SDCC     ?= /usr/bin
PATH_HEX2BIN  ?= /usr/bin
PATH_BIN      := bin
BUILD_ALL     := "Use 'make help' for possible targets."
BUILD_HELP    := "Use one of the following build targets;"
BUILD_VERSION ?= 1.0
BUILD_NAME    := omsxctl-$(BUILD_VERSION)
.SUFFIXES:

.PHONY: all
all:
	@echo $(BUILD_ALL)

BUILD_HELP += \\n\\t* help
.PHONY: help
help:
	@echo $(BUILD_HELP)

BUILD_HELP += \\n\\t* clean
.PHONY: clean
clean:
	rm bin -rf

bin/omsxctl:
	mkdir -p bin/omsxctl

bin/omsxctl/%.rel: src/%.asm | bin/omsxctl
	$(PATH_SDCC)/sdasz80 -g -l -c -o $@ $<

bin/omsxctl/omsxctl.hex: bin/omsxctl/omsxctl.rel
	$(PATH_SDCC)/sdcc -mz80 --no-std-crt0 --code-loc 0x0100 -o $@ $<

BUILD_HELP += \\n\\t* bin/omsxctl/omsxctl.com
bin/omsxctl/omsxctl.com: bin/omsxctl/omsxctl.hex
	cd bin/omsxctl && $(PATH_HEX2BIN)/hex2bin -e com omsxctl.hex

bin/dist:
	mkdir -p bin/dist
	
bin/dist/$(BUILD_NAME): | bin/dist
	mkdir -p bin/dist/$(BUILD_NAME)

bin/dist/$(BUILD_NAME)/omsxctl.com: bin/dist/$(BUILD_NAME) | bin/omsxctl/omsxctl.com
	cp bin/omsxctl/omsxctl.com bin/dist/$(BUILD_NAME)/omsxctl.com

bin/dist/$(BUILD_NAME)/omsxctl.tcl: bin/dist/$(BUILD_NAME)
	cp src/omsxctl.tcl bin/dist/$(BUILD_NAME)/omsxctl.tcl

BUILD_HELP += \\n\\t* bin/dist/$(BUILD_NAME).tar.gz
bin/dist/$(BUILD_NAME).tar.gz: bin/dist/$(BUILD_NAME)/omsxctl.com bin/dist/$(BUILD_NAME)/omsxctl.tcl
	cd bin/dist && tar -czvf $(BUILD_NAME).tar.gz $(BUILD_NAME)