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