1SubDir HAIKU_TOP src system boot platform efi ; 2 3SetupFeatureObjectsDir $(TARGET_BOOT_PLATFORM) ; 4 5UsePrivateHeaders [ FDirName kernel boot ] ; 6UseBuildFeatureHeaders gnuefi ; 7UseBuildFeatureHeaders gnuefi : headersProtocol ; 8UseBuildFeatureHeaders gnuefi : headersArch ; 9 10{ 11 local defines = _BOOT_MODE GNU_EFI_USE_MS_ABI _BOOT_PLATFORM_EFI ; 12 defines = [ FDefines $(defines) ] ; 13 SubDirCcFlags $(defines) ; 14 SubDirC++Flags $(defines) -fno-rtti ; 15} 16 17local efi_glue_src = 18 crt0-efi-x86_64.S 19 ; 20 21local platform_src = 22 relocation_func.cpp 23 start.cpp 24 console.cpp 25 video.cpp 26 debug.cpp 27 entry.S 28 mmu.cpp 29 heap.cpp 30 acpi.cpp 31 menu.cpp 32 devices.cpp 33 hpet.cpp 34 cpu.cpp 35 smp.cpp 36 smp_trampoline.S 37 support.S 38 ; 39 40Includes [ FGristFiles $(efi_glue_src) $(platform_src) ] 41 : 42 [ BuildFeatureAttribute gnuefi : headers ] 43 [ BuildFeatureAttribute gnuefi : headersProtocol ] 44 [ BuildFeatureAttribute gnuefi : headersArch ] 45 ; 46 47BootMergeObject boot_platform_efi.o : 48 $(efi_glue_src) 49 $(platform_src) 50 : 51 : boot_platform_generic.a 52 ; 53 54SEARCH on [ FGristFiles relocation_func.cpp ] 55 = [ FDirName $(SUBDIR) arch $(TARGET_ARCH) ] ; 56LOCATE on [ FGristFiles $(efi_glue_src) ] 57 = [ BuildFeatureAttribute gnuefi : libdir : path ] ; 58Depends [ FGristFiles $(efi_glue_src) ] 59 : [ BuildFeatureAttribute gnuefi : libdir ] ; 60