summaryrefslogtreecommitdiff
path: root/z180
diff options
context:
space:
mode:
authorLeo C2014-07-02 14:55:38 +0200
committerLeo C2014-07-02 14:55:38 +0200
commit70da9bec89594932d89d8a8a0815e127f3359365 (patch)
tree9ac4a0e18c68cce212bd7aec6dfed16dce9580c1 /z180
parentf4d5b4febbffab80cb06bd18564d4c326756fad7 (diff)
downloadz180-stamp-70da9bec89594932d89d8a8a0815e127f3359365.zip
New build system: tup
Diffstat (limited to 'z180')
-rw-r--r--z180/.gitignore4
-rw-r--r--z180/Tupfile74
2 files changed, 78 insertions, 0 deletions
diff --git a/z180/.gitignore b/z180/.gitignore
new file mode 100644
index 0000000..c54f75d
--- /dev/null
+++ b/z180/.gitignore
@@ -0,0 +1,4 @@
+*.lst
+*.rel
+*.map
+*.hex
diff --git a/z180/Tupfile b/z180/Tupfile
new file mode 100644
index 0000000..c7e1085
--- /dev/null
+++ b/z180/Tupfile
@@ -0,0 +1,74 @@
+include_rules
+
+PROG = hdrom
+
+SRC = r3init.180
+SRC += ddtz.180
+SRC += fifoio.180 msgbuf.180 ser1-i.180 console.180
+SRC += romend.180
+
+
+AS_OPT = MFS
+
+LN_PROG = 0
+LN_DATA = C000
+
+
+DEFS = -DSTM32F1 -DBAUD=115200
+
+###############################################################################
+# Executables
+
+CPMEMU = zxcc
+
+#AS = $(CPMEMU) ccpline.com
+AS = $(CPMEMU) slr180.com
+
+
+###############################################################################
+
+!AS-plain = |> $(AS) -%B/$(AS_OPT) |> %B.rel | %B.lst
+
+!AS = |> ^ $(AS) -%B/$(AS_OPT)^ set +e; OUTPUT=\$(mktemp);\
+$(AS) -%B/$(AS_OPT) > ${OUTPUT};\
+grep -q '^ 0 Error(s) Detected' ${OUTPUT}; ERROR=$?;\
+[ "${ERROR}" != "0" ] && cat ${OUTPUT};\
+[ "${ERROR}" != "0" ] && rm -f %B.rel;\
+rm -f ${OUTPUT}; exit ${ERROR} \
+|> %B.rel | %B.lst
+
+!LINK = |> ld80 -o %o -ms %O.map -P $(LN_PROG) -D $(LN_DATA) %f |> | %O.map
+
+#ifndef DEBUG
+
+: foreach $(SRC) |> !AS-plain |> {objs}
+: {objs} |> !LINK |> $(PROG).hex
+: $(PROG).hex |> srec_cat -o %o -c_array %B -C_COMpressed -include %f -Intel |> $(PROG).c | $(PROG).h
+
+
+
+#$(AS) -%B/$(AS_OPT) > ${OUTPUT};\
+#$(AS) -%B/$(AS_OPT) ; echo "Kein Fehler"; exit 0 \
+
+#cat ${OUTPUT}; sleep 2 ;\
+#grep -q '^ 0 Error(s) Detected' ${OUTPUT}; ERROR=$? ; \
+#if [ "${ERROR}" != "0" ]; then cat ${OUTPUT}; rm -f %B.rel; fi ; \
+#exit 0 \
+
+#COMMAND="$(AS) -%B/$(AS_OPT)"; \
+
+
+#endif
+
+
+!cc = |> ^ CC %f^ $(CC) $(CFLAGS) $(CPPFLAGS) -c %f -o %o |> %B.o
+!LINK = |> ^ LINK %o^ $(LD) $(CFLAGS) $(LDFLAGS) -Wl,-Map=%O.map %f $(LDLIBS) -o %o |> | %O.map
+!OBJCOPY= |> ^ OBJCOPY %o^ $(OBJCOPY) -Oihex %f %o |>
+!OBJDUMP= |> ^ OBJDUMP %o^ $(OBJDUMP) -h -S %f > %o |> %O.lss
+
+#: foreach $(SRC) $(SRC_Z) |> !cc |> {objs}
+#
+#: {objs} |> !LINK |> $(PROG).elf
+#: $(PROG).elf |> !OBJCOPY |> %B.hex
+#: $(PROG).elf |> !OBJDUMP |> %B.lss
+