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 genericPlatformSources = 21 text_menu.cpp 22 video_blit.cpp 23 video_splash.cpp 24 video_rle.cpp 25; 26 27local bios_ia32_src = 28 start.c 29 debug.c 30 bios.S 31 console.cpp 32 serial.cpp 33 keyboard.cpp 34 menu.cpp 35 mmu.cpp 36 multiboot.cpp 37 cpu.cpp 38 acpi.cpp 39 smp.cpp 40 support.S 41 video.cpp 42 hpet.cpp 43 apm.cpp 44; 45 46local bios_ia32_edid_src = 47 decode_edid.c 48 dump_edid.c 49; 50 51 52KernelMergeObject boot_platform_pxe_ia32.o : 53 pxe_stage2.S 54 smp_trampoline.S 55 pxe_bios.S 56 devices.cpp 57 network.cpp 58 pxe_undi.cpp 59 $(bios_ia32_src) 60 $(bios_ia32_edid_src) 61 $(genericPlatformSources) 62 63 : -fno-pic 64; 65 66 67rule BuildPXEstage1 bin : source { 68 SEARCH on $(source) = $(SEARCH_SOURCE) ; 69 Depends $(bin) : $(source) ; 70 MakeLocateDebug $(bin) ; 71 LocalClean clean : $(bin) ; 72} 73 74 75actions BuildPXEstage1 { 76 rm -f $(1) 77 $(TARGET_CC) -c -o $(1).o $(2) && 78 $(TARGET_LD) --oformat binary --Ttext 0x7C00 -o $(1) $(1).o 79} 80 81BuildPXEstage1 pxehaiku : pxe_stage1.S ; 82 83SEARCH on [ FGristFiles $(bios_ia32_src) ] 84 = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; 85 86SEARCH on [ FGristFiles $(bios_ia32_edid_src) ] 87 = [ FDirName $(HAIKU_TOP) src add-ons accelerants common ] ; 88 89SEARCH on [ FGristFiles $(genericPlatformSources) ] 90 = [ FDirName $(HAIKU_TOP) src system boot platform generic ] ; 91 92# We also need the bios_ia32 stage1.bin for building bin/makebootable 93SEARCH on stage1.bin 94 = [ FDirName $(SUBDIR) $(DOTDOT) bios_ia32 ] ; 95