diff options
Diffstat (limited to 'src/VBox/Devices/PC/BIOS/makefile')
-rw-r--r-- | src/VBox/Devices/PC/BIOS/makefile | 72 |
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 |