4
# -0 generate 8086 code
5
# -ms force small model (default)
6
# -s remove runtime stack checks (required)
7
# -os optimize for size
8
# -zu assume that SS != DS (required)
9
# -ecc default to __cdecl calling convention (bad idea)
16
CFLAGS = -q -0 -wx -zu -s -oas -d1+ -ms
17
CFLAGS32 = -q -wx -zu -s -oas -d1+ -ms -nt=BIOS32 -nd=BIOS32
19
DEFS = -DVBOX -DVBOX_LANBOOT_SEG=0xE200 -DVBOX_VERSION_STRING=$(Q)0.9$(Q) &
20
-DVBOX_WITH_SCSI -DVBOX_WITH_AHCI
24
INCLS = -I$(Q)../../../../../include$(Q)
27
wcc -fo=.obj $(CFLAGS) $(DEFS) $(INCLS) $<
29
.asm.obj : .autodepend
30
wasm -fo=.obj $(AFLAGS) $(DEFS) $<
32
OBJS = bios.obj print.obj ata.obj floppy.obj eltorito.obj boot.obj &
33
keyboard.obj disk.obj serial.obj system.obj timepci.obj logo.obj &
34
ps2mouse.obj parallel.obj scsi.obj ahci.obj apm.obj apm_pm.obj &
35
pcibios.obj pciutil.obj vds.obj pcibio32.obj pci32.obj orgs.obj
37
vbxbios.rom : vbxbios.bin
40
vbxbios.bin : $(OBJS) $(__MAKEFILES__)
41
wlink name $@ system dos debug all option quiet &
42
option nofarcalls, map, verbose, statics, symfile &
43
output raw offset=0xF0000 order &
44
clname DATA segaddr=0xF000 segment _DATA &
46
segment _TEXT segaddr=0xF000 offset=0x1600 &
47
segment BIOS32 segaddr=0xF000 offset=0xDB00 &
48
segment BIOSSEG segaddr=0xF000 offset=0xE000 &
51
disable 1014, 1023, 2120
53
logo.obj : logo.c .autodepend
54
wcc -fo=.obj $(INCLS) $(CFLAGS) $(DEFS) -DVBOX_PC_BIOS $<
56
pci32.obj : pci32.c .autodepend
57
wcc386 -fo=.obj $(INCLS) $(DEFS) $(CFLAGS32) $<
61
@rm -f vbxbios.bin vbxbios.rom vbxbios.map vbxbios.sym