⛏️ index : haiku.git

SubDir HAIKU_TOP src system boot platform efi arch arm ;

SubDirHdrs $(SUBDIR) $(DOTDOT) $(DOTDOT) ;
SubDirHdrs $(SUBDIR) $(DOTDOT) generic ;

UseLibraryHeaders [ FDirName libfdt ] ;

UsePrivateHeaders [ FDirName kernel arch arm ] ;
UsePrivateHeaders [ FDirName kernel platform ] ;
UsePrivateHeaders [ FDirName kernel boot arch arm ] ;
UsePrivateHeaders [ FDirName kernel boot platform efi ] ;

local platform ;
for platform in [ MultiBootSubDirSetup efi ] {
	on $(platform) {
		{
			local defines = _BOOT_PLATFORM_EFI ;
			defines = [ FDefines $(defines) ] ;
			SubDirCcFlags $(defines) ;
			SubDirC++Flags $(defines) -fno-rtti ;
		}

		local arch_src =
			crt0-efi-$(TARGET_ARCH).S
			entry.S
			cache.S
			relocation_func.cpp
			arch_cpu.cpp
			arch_dtb.cpp
			arch_mmu.cpp
			arch_smp.cpp
			arch_start.cpp
			arch_timer.cpp
			;

		local generic_src =
			generic_mmu.cpp
			;

		BootMergeObject boot_platform_efi_arm.o :
			$(arch_src)
			$(generic_src)
			;

		SEARCH on [ FGristFiles $(generic_src) ]
			= [ FDirName $(SUBDIR) $(DOTDOT) generic ] ;
	}
}