omsxctl/Makefile

53 lines
1.4 KiB
Makefile

-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)