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