SubDir HAIKU_TOP src system boot platform efi ; UsePrivateHeaders [ FDirName kernel boot ] ; UsePrivateHeaders [ FDirName kernel boot platform efi ] ; UsePrivateHeaders [ FDirName kernel arch $(TARGET_KERNEL_ARCH) ] ; UseBuildFeatureHeaders gnuefi ; UseBuildFeatureHeaders gnuefi : headersProtocol ; UseBuildFeatureHeaders gnuefi : headersArch ; SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ; { local defines = _BOOT_MODE GNU_EFI_USE_MS_ABI _BOOT_PLATFORM_EFI ; defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) ; SubDirC++Flags $(defines) -fno-rtti ; } local efi_glue_src = crt0-efi-$(TARGET_ARCH).S ; local platform_src = start.cpp console.cpp video.cpp debug.cpp mmu.cpp heap.cpp acpi.cpp menu.cpp devices.cpp hpet.cpp cpu.cpp smp.cpp serial.cpp smp_trampoline.S support.S ; Includes [ FGristFiles $(efi_glue_src) $(platform_src) ] : [ BuildFeatureAttribute gnuefi : headers ] [ BuildFeatureAttribute gnuefi : headersProtocol ] [ BuildFeatureAttribute gnuefi : headersArch ] ; local platform ; for platform in [ MultiBootSubDirSetup efi ] { on $(platform) { BootMergeObject boot_platform_efi_common.o : $(efi_glue_src) $(platform_src) : : boot_platform_generic_efi.a ; BootMergeObject boot_platform_efi.o : : : boot_platform_efi_$(TARGET_ARCH).o boot_platform_efi_common.o ; LOCATE on [ FGristFiles $(efi_glue_src) ] = [ BuildFeatureAttribute gnuefi : libdir : path ] ; Depends [ FGristFiles $(efi_glue_src) ] : [ BuildFeatureAttribute gnuefi : libdir ] ; Depends [ FGristFiles $(platform_src) ] : [ BuildFeatureAttribute gnuefi : headers ] ; } } SubInclude HAIKU_TOP src system boot platform efi arch $(TARGET_ARCH) ;