+# Build ddtz.com from ddtz.z80
+
+PROG := ddtz
+
+SRC := $(PROG).z80
+
+OBJ := $(SRC:.z80=.rel)
+
+AS_OPT := MF
+
+ASM := zxcc slrz80.com
+LINK := zxcc link80.com
+
+.phony: all
+all: $(PROG).com
+
+
+
+$(PROG).com: $(PROG).prl
+ @# Remove the PRL header record (256 bytes)
+ dd status=none bs=256 skip=1 if=$< of=$@
+
+$(PROG).prl: $(OBJ)
+ $(LINK) -'$(PROG)[op,$$SZ]'
+
+
+
+.phony: clean
+clean:
+ rm -f $(PROG).com *.rel *.lst *.prl
+
+.SUFFIXES:
+.SUFFIXES: .z80 .rel .prl
+
+
+define cpm-asm =
+COMMAND="$(ASM) -$(basename $<)/$(AS_OPT)"; \
+OUTPUT=$$(mktemp); echo $${COMMAND}; \
+$${COMMAND} > $${OUTPUT}; \
+grep -q '^ 0 Error(s) Detected' $${OUTPUT}; ERROR=$$? ; \
+if [ "$${ERROR}" != "0" ]; then cat $${OUTPUT}; rm -f $@; fi ; \
+exit $${ERROR}
+endef
+
+%.rel %lst: %.z80
+ @$(cpm-asm)