xref: /haiku/src/system/boot/platform/efi/Jamfile (revision 692fe5550319c0342c9525e674b7f10105d977ee)
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