1SubDir HAIKU_TOP src system boot platform pxe_ia32 ; 2 3SubDirHdrs $(SUBDIR) $(DOTDOT) bios_ia32 ; 4SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform bios_ia32 ; 5SubDirHdrs $(HAIKU_TOP) headers private kernel boot platform $(TARGET_BOOT_PLATFORM) ; 6 7UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; 8UsePrivateHeaders [ FDirName graphics common ] ; 9UsePrivateHeaders [ FDirName graphics vesa ] ; 10UsePrivateHeaders [ FDirName storage ] ; 11 12{ 13 local defines = _BOOT_MODE _PXE_ENV ; 14 15 defines = [ FDefines $(defines) ] ; 16 SubDirCcFlags $(defines) -Wall -Wno-multichar ; 17 SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ; 18} 19 20local bios_ia32_src = 21 start.c 22 debug.c 23 bios.S 24 console.cpp 25 serial.cpp 26 keyboard.cpp 27 menu.cpp 28 mmu.cpp 29 cpu.cpp 30 smp.cpp 31 support.S 32 video.cpp 33 apm.cpp 34; 35 36local bios_ia32_edid_src = 37 decode_edid.c 38 dump_edid.c 39; 40 41 42KernelMergeObject boot_platform_pxe_ia32.o : 43 pxe_stage2.S 44 smp_trampoline.S 45 pxe_bios.S 46 devices.cpp 47 network.cpp 48 pxe_undi.cpp 49 $(bios_ia32_src) 50 $(bios_ia32_edid_src) 51 52 # generic 53 text_menu.cpp 54 : -fno-pic 55; 56 57 58rule BuildPXEstage1 { 59 local bin = $(1) ; 60 local source = $(2) ; 61 62 Depends $(bin) : $(source) ; 63 MakeLocateDebug $(bin) ; 64} 65 66 67actions BuildPXEstage1 { 68 rm -f $(1) 69 as -o $(1).o $(2) 70 ld --oformat binary --Ttext 0x7C00 -o $(1) $(1).o 71} 72 73BuildPXEstage1 pxehaiku : pxe_stage1.S ; 74 75SEARCH on [ FGristFiles $(bios_ia32_src) ] 76 = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; 77 78SEARCH on [ FGristFiles text_menu.cpp ] 79 = [ FDirName $(HAIKU_TOP) src system boot platform generic ] ; 80 81SEARCH on [ FGristFiles $(bios_ia32_edid_src) ] 82 = [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ; 83 84# We also need the bios_ia32 stage1.bin for building bin/makebootable 85SEARCH on stage1.bin 86 = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; 87 88SEARCH on pxe_stage1.S = $(SUBDIR) ; 89