SubDir HAIKU_TOP src system boot platform efi ; UsePrivateHeaders [ FDirName kernel boot ] ; 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 ; local arch_src = relocation_func.cpp entry.S ; Includes [ FGristFiles $(efi_glue_src) $(platform_src) $(arch_src) ] : [ BuildFeatureAttribute gnuefi : headers ] [ BuildFeatureAttribute gnuefi : headersProtocol ] [ BuildFeatureAttribute gnuefi : headersArch ] ; local platform ; for platform in [ MultiBootSubDirSetup efi ] { on $(platform) { BootMergeObject boot_platform_efi.o : $(efi_glue_src) $(platform_src) $(arch_src) : : boot_platform_generic_efi.a ; SEARCH on [ FGristFiles $(arch_src) ] = [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; LOCATE on [ FGristFiles $(efi_glue_src) ] = [ BuildFeatureAttribute gnuefi : libdir : path ] ; Depends [ FGristFiles $(efi_glue_src) ] : [ BuildFeatureAttribute gnuefi : libdir ] ; Depends [ FGristFiles $(platform_src) $(arch_src) ] : [ BuildFeatureAttribute gnuefi : headers ] ; } }