summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/PC/BIOS/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/PC/BIOS/makefile')
-rw-r--r--src/VBox/Devices/PC/BIOS/makefile72
1 files changed, 72 insertions, 0 deletions
diff --git a/src/VBox/Devices/PC/BIOS/makefile b/src/VBox/Devices/PC/BIOS/makefile
new file mode 100644
index 00000000..40d0f4ad
--- /dev/null
+++ b/src/VBox/Devices/PC/BIOS/makefile
@@ -0,0 +1,72 @@
+# Compiler flags:
+# -q no banner
+# -wx max warnings
+# -0 generate 8086 code
+# -ms force small model (default)
+# -s remove runtime stack checks (required)
+# -os optimize for size
+# -zu assume that SS != DS (required)
+# -ecc default to __cdecl calling convention (bad idea)
+#
+!ifdef __UNIX__
+Q=\"
+!else
+Q="
+!endif
+
+CPU = 386
+
+CFLAGS = -q -0 -wx -zu -s -oas -d1+ -ms
+CFLAGS32 = -q -wx -zu -s -oas -d1+ -ms -nt=BIOS32 -nd=BIOS32
+# -oat seems to prevent ENTER/LEAVE generation
+#CFLAGS32 = -q -wx -zu -s -oat -d1+ -ms -nt=BIOS32 -nd=BIOS32
+
+DEFS = -DVBOX -DVBOX_LANBOOT_SEG=0xE200 -DVBOX_VERSION_STRING=$(Q)0.9$(Q) &
+ -DVBOX_WITH_SCSI -DVBOX_BIOS_CPU=80386
+
+AFLAGS = -q -0 -wx
+
+INCLS = -I$(Q)../../../../../include$(Q) -I$(Q) ../../BiosCommonCode$(Q)
+
+OBJS = bios.obj post.obj ata.obj floppy.obj floppyt.obj eltorito.obj &
+ boot.obj keyboard.obj disk.obj serial.obj system.obj invop.obj &
+ timepci.obj logo.obj ps2mouse.obj parallel.obj scsi.obj &
+ apm.obj apm_pm.obj pcibios.obj pciutil.obj vds.obj &
+ print.obj pcibio32.obj pci32.obj orgs.obj
+
+!if $(CPU) > 286
+OBJS += ahci.obj
+DEFS += -DVBOX_WITH_AHCI
+!endif
+
+.c.obj : .autodepend
+ wcc -fo=.obj $(CFLAGS) $(DEFS) $(INCLS) $<
+
+.asm.obj : .autodepend
+ wasm -fo=.obj $(AFLAGS) $(DEFS) $(INCLS) $<
+
+vbxbios.rom : vbxbios.bin
+ biossums $< $@
+
+vbxbios.bin : $(OBJS) $(__MAKEFILES__)
+ wlink name $@ system dos debug all option quiet &
+ option nofarcalls, map, verbose, statics, symfile &
+ output raw offset=0xF0000 order &
+ clname DATA segaddr=0xF000 segment _DATA &
+ clname CODE &
+ segment _TEXT segaddr=0xF000 offset=0x1C00 &
+ segment BIOS32 segaddr=0xF000 offset=0xDB00 &
+ segment BIOSSEG segaddr=0xF000 offset=0xE000 &
+ file { $(OBJS) } &
+ library clibs.lib &
+ disable 1014, 1023, 2120
+
+logo.obj : logo.c .autodepend
+ wcc -fo=.obj $(INCLS) $(CFLAGS) $(DEFS) -DVBOX_PC_BIOS $<
+
+pci32.obj : pci32.c .autodepend
+ wcc386 -fo=.obj $(INCLS) $(DEFS) $(CFLAGS32) $<
+
+clean : .symbolic
+ @rm -f *.obj *.err
+ @rm -f vbxbios.bin vbxbios.rom vbxbios.map vbxbios.sym