aboutsummaryrefslogtreecommitdiff
path: root/w9x/makefile
diff options
context:
space:
mode:
authorJavier <dev.git@javispedro.com>2026-10-26 00:50:06 +0100
committerJavier <dev.git@javispedro.com>2026-10-26 00:50:06 +0100
commit6b8a368c51082fdd010ef5e1b0be4eb9b5059d1a (patch)
treee274d41a8dd5e912e20617a937a1fda5af91f8de /w9x/makefile
parent9b1cf601360fb194047e6dcc2af75c2f38c611ec (diff)
downloadchu-6b8a368c51082fdd010ef5e1b0be4eb9b5059d1a.tar.gz
chu-6b8a368c51082fdd010ef5e1b0be4eb9b5059d1a.zip
refactor common parts into inc/ch375.h and add win9x, linux drivers
Diffstat (limited to 'w9x/makefile')
-rw-r--r--w9x/makefile40
1 files changed, 40 insertions, 0 deletions
diff --git a/w9x/makefile b/w9x/makefile
new file mode 100644
index 0000000..115d6d2
--- /dev/null
+++ b/w9x/makefile
@@ -0,0 +1,40 @@
+# Debug Settings
+!ifeq debug 1
+# Dump debug log to IOS debug log
+debug_cflags = -DENABLE_DLOG=1
+!endif
+
+# Binaries to build
+bins = chudisk.pdr
+infs = chudisk.inf
+
+# Object files for chudisk.pdr
+pdr_objs = chupdr.obj
+
+vxd_cflags = -osi -s -zc -w3 -wcd=202 -i=../inc $(debug_cflags)
+# -osi to optimize for size, put intrinsics inline (to avoid runtime calls)
+# -s to disable stack checks, since it inserts calls to the runtime
+# -zc moves const data objects to text segment. required due to no data segment.
+# -w3 enables warnings
+# -wcd=202 disables the unreferenced function warning (e.g., for inline functions in headers)
+
+compile_vxd = *wcc386 -fo=$^@ $(vxd_cflags) $[@
+
+.BEFORE:
+ # We need DOS and Windows headers, not host platform's
+ set include=$(%watcom)/h/win;$(%watcom)/h
+
+all: $(bins) .SYMBOLIC
+
+chudisk.pdr: chudisk.lnk $(pdr_objs)
+ *wlink @$[@ name $@ file { $(pdr_objs) }
+
+chupdr.obj: chupdr.c .AUTODEPEND
+ $(compile_vxd)
+
+test.obj: test.asm .AUTODEPEND
+ wasm -fo=$^@ $[@
+
+clean: .SYMBOLIC
+ rm -f $(bins)
+ rm -f *.obj *.map