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 bin : source { 59 SEARCH on $(source) = $(SEARCH_SOURCE) ; 60 Depends $(bin) : $(source) ; 61 MakeLocateDebug $(bin) ; 62 LocalClean clean : $(bin) ; 63} 64 65 66actions BuildPXEstage1 { 67 rm -f $(1) 68 $(TARGET_CC) -c -o $(1).o $(2) && 69 $(TARGET_LD) --oformat binary --Ttext 0x7C00 -o $(1) $(1).o 70} 71 72BuildPXEstage1 pxehaiku : pxe_stage1.S ; 73 74SEARCH on [ FGristFiles $(bios_ia32_src) ] 75 = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; 76 77SEARCH on [ FGristFiles text_menu.cpp ] 78 = [ FDirName $(HAIKU_TOP) src system boot platform generic ] ; 79 80SEARCH on [ FGristFiles $(bios_ia32_edid_src) ] 81 = [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ; 82 83# We also need the bios_ia32 stage1.bin for building bin/makebootable 84SEARCH on stage1.bin 85 = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; 86