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