xref: /haiku/src/system/boot/loader/Jamfile (revision 746cac055adc6ac3308c7bc2d29040fb95689cc9)
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 ;
7UsePrivateKernelHeaders ;
8UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
9UsePrivateHeaders [ FDirName kernel util ] ;
10UsePrivateHeaders 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	FileMapDisk.cpp
38	RootFileSystem.cpp
39	partitions.cpp
40	heap.cpp
41	stdio.cpp
42	elf.cpp
43	menu.cpp
44	loader.cpp
45	kernel_args.cpp
46	load_driver_settings.cpp
47
48	# libroot
49	driver_settings.c
50
51	# utils
52	kernel_cpp.cpp
53	KMessage.cpp
54	list.c
55
56	: -fno-pic
57	;
58
59# The partition support is built in an extra static library
60# so that only the ones that are used will be included.
61
62KernelStaticLibrary boot_partitions :
63	amiga_rdb.cpp
64	apple.cpp
65	efi_gpt.cpp
66	intel.cpp
67	PartitionMap.cpp
68	PartitionMapParser.cpp
69	: -fno-pic
70	;
71
72# Tell Jam where to find the utility sources
73SEARCH on [ FGristFiles kernel_cpp.cpp list.c ]
74    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
75
76SEARCH on [ FGristFiles KMessage.cpp ]
77    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
78
79SEARCH on [ FGristFiles driver_settings.c ]
80    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
81
82SEARCH on [ FGristFiles amiga_rdb.cpp ]
83    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
84
85SEARCH on [ FGristFiles apple.cpp ]
86    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
87
88SEARCH on [ FGristFiles efi_gpt.cpp ]
89    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ] ;
90
91SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
92    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
93
94SEARCH on [ FGristFiles stage2_crt0.S ]
95    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_ARCH) ] ;
96
97
98SubInclude HAIKU_TOP src system boot loader file_systems ;
99SubInclude HAIKU_TOP src system boot loader net ;
100