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