xref: /haiku/src/system/boot/loader/Jamfile (revision 582da17386c4a192ca30270d6b0b95f561cf5843)
1SubDir HAIKU_TOP src system boot loader ;
2
3SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ;
4SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ;
5SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ;
6SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ;
7UsePrivateHeaders [ FDirName kernel boot platform $(TARGET_BOOT_PLATFORM) ] ;
8UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
9UsePrivateHeaders [ FDirName kernel util ] [ FDirName kernel arch $(TARGET_ARCH) ] ;
10UsePrivateHeaders kernel shared storage ;
11
12{
13	local defines =
14		_BOOT_MODE
15		BOOT_ARCH=\\\"$(TARGET_ARCH)\\\"
16
17		BOOT_SUPPORT_PARTITION_AMIGA
18		BOOT_SUPPORT_PARTITION_APPLE
19		BOOT_SUPPORT_PARTITION_EFI
20		BOOT_SUPPORT_PARTITION_INTEL
21
22		BOOT_SUPPORT_FILE_SYSTEM_BFS
23		BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS
24		BOOT_SUPPORT_FILE_SYSTEM_TARFS
25
26		KMESSAGE_CONTAINER_ONLY
27	;
28
29	defines = [ FDefines $(defines) ] ;
30	SubDirCcFlags $(defines) -Wall -Wno-multichar ;
31	SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ;
32}
33
34KernelStaticLibrary boot_loader :
35	main.cpp
36	vfs.cpp
37	RootFileSystem.cpp
38	partitions.cpp
39	heap.cpp
40	stdio.cpp
41	elf.cpp
42	menu.cpp
43	loader.cpp
44	kernel_args.cpp
45	load_driver_settings.cpp
46
47	# libroot
48	driver_settings.c
49
50	# utils
51	kernel_cpp.cpp
52	KMessage.cpp
53	list.c
54
55	: -fno-pic
56	;
57
58# The partition support is built in an extra static library
59# so that only the ones that are used will be included.
60
61KernelStaticLibrary boot_partitions :
62	amiga_rdb.cpp
63	apple.cpp
64	efi_gpt.cpp
65	intel.cpp
66	PartitionMap.cpp
67	PartitionMapParser.cpp
68	: -fno-pic
69	;
70
71# Tell Jam where to find the utility sources
72SEARCH on [ FGristFiles kernel_cpp.cpp list.c ]
73    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
74
75SEARCH on [ FGristFiles KMessage.cpp ]
76    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
77
78SEARCH on [ FGristFiles driver_settings.c ]
79    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
80
81SEARCH on [ FGristFiles amiga_rdb.cpp ]
82    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
83
84SEARCH on [ FGristFiles apple.cpp ]
85    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
86
87SEARCH on [ FGristFiles efi_gpt.cpp ]
88    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ] ;
89
90SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
91    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
92
93SEARCH on [ FGristFiles stage2_crt0.S ]
94    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_ARCH) ] ;
95
96
97SubInclude HAIKU_TOP src system boot loader file_systems ;
98SubInclude HAIKU_TOP src system boot loader net ;
99