1SubDir HAIKU_TOP src system boot platform efi ; 2 3UsePrivateHeaders [ FDirName kernel boot ] ; 4UsePrivateHeaders [ FDirName kernel platform ] ; 5UsePrivateHeaders [ FDirName kernel boot platform efi ] ; 6UsePrivateHeaders [ FDirName kernel boot arch $(TARGET_KERNEL_ARCH_DIR) ] ; 7 8if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != arm64 { 9 UseLibraryHeaders [ FDirName libfdt ] ; 10} 11 12SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ; 13 14{ 15 local defines = _BOOT_MODE _BOOT_PLATFORM_EFI ; 16 17 if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != arm64 { 18 defines += _BOOT_FDT_SUPPORT ; 19 } 20 21 defines = [ FDefines $(defines) ] ; 22 SubDirCcFlags $(defines) ; 23 SubDirC++Flags $(defines) -fno-rtti ; 24} 25 26local platform_src = 27 start.cpp 28 console.cpp 29 cpu.cpp 30 video.cpp 31 debug.cpp 32 mmu.cpp 33 heap.cpp 34 acpi.cpp 35 timer.cpp 36 menu.cpp 37 devices.cpp 38 quirks.cpp 39 smp.cpp 40 serial.cpp 41 ; 42 43local support_libs ; 44 45if $(TARGET_ARCH) != x86_64 && $(TARGET_ARCH) != x86 && $(TARGET_ARCH) != arm64 { 46 support_libs += boot_fdt.a ; 47 platform_src += dtb.cpp ; 48} 49 50local platform ; 51for platform in [ MultiBootSubDirSetup efi ] { 52 on $(platform) { 53 54 BootMergeObject boot_platform_efi_common.o : 55 $(platform_src) 56 : : 57 [ MultiBootGristFiles $(support_libs) ] 58 boot_platform_generic_efi.a 59 ; 60 61 BootMergeObject boot_platform_efi.o : 62 : : 63 boot_platform_efi_$(TARGET_ARCH).o 64 boot_platform_efi_common.o 65 ; 66 } 67} 68 69SubInclude HAIKU_TOP src system boot platform efi arch $(TARGET_ARCH) ; 70