# Build ddt180.com from ddt180.z80 PROG := ddt180 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)