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