xref: /haiku/src/system/boot/loader/Jamfile (revision 28a2172c3f19a34e31ba20085148e5428544823a)
1338b8dc3SIngo WeinholdSubDir HAIKU_TOP src system boot loader ;
25af32e75SAxel Dörfler
3338b8dc3SIngo WeinholdSubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ;
4338b8dc3SIngo WeinholdSubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ;
5eef8417eSAxel DörflerSubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ;
6338b8dc3SIngo WeinholdSubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ;
76b202f4eSIngo WeinholdUsePrivateKernelHeaders ;
85af32e75SAxel DörflerUsePrivateHeaders [ FDirName kernel disk_device_manager ] ;
96b202f4eSIngo WeinholdUsePrivateHeaders [ FDirName kernel util ] ;
106b202f4eSIngo WeinholdUsePrivateHeaders shared storage ;
115af32e75SAxel Dörfler
125af32e75SAxel Dörfler{
135af32e75SAxel Dörfler	local defines =
145af32e75SAxel Dörfler		_BOOT_MODE
15338b8dc3SIngo Weinhold		BOOT_ARCH=\\\"$(TARGET_ARCH)\\\"
16c06e68d0SAxel Dörfler		KMESSAGE_CONTAINER_ONLY
175af32e75SAxel Dörfler
185af32e75SAxel Dörfler		BOOT_SUPPORT_PARTITION_INTEL
195af32e75SAxel Dörfler
205af32e75SAxel Dörfler		BOOT_SUPPORT_FILE_SYSTEM_BFS
2185a53ea2SAxel Dörfler		BOOT_SUPPORT_FILE_SYSTEM_TARFS
22f335531bSFrançois Revol		#BOOT_SUPPORT_FILE_MAP_DISK
235af32e75SAxel Dörfler	;
245af32e75SAxel Dörfler
25c06e68d0SAxel Dörfler	# Add architecture specific partition/file system modules
26c06e68d0SAxel Dörfler
27c06e68d0SAxel Dörfler	switch $(TARGET_ARCH) {
28c06e68d0SAxel Dörfler		case "ppc" :
29c06e68d0SAxel Dörfler		{
30c06e68d0SAxel Dörfler			defines +=
31c06e68d0SAxel Dörfler				BOOT_SUPPORT_PARTITION_AMIGA
32c06e68d0SAxel Dörfler				BOOT_SUPPORT_PARTITION_APPLE
33c06e68d0SAxel Dörfler
34c06e68d0SAxel Dörfler				BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS
35c06e68d0SAxel Dörfler			;
36c06e68d0SAxel Dörfler		}
37c06e68d0SAxel Dörfler		case "x86" :
38c06e68d0SAxel Dörfler		{
39c06e68d0SAxel Dörfler			defines +=
40c06e68d0SAxel Dörfler				BOOT_SUPPORT_PARTITION_EFI
41c06e68d0SAxel Dörfler
429e90c30eSAxel Dörfler				#BOOT_SUPPORT_FILE_SYSTEM_FAT
43c06e68d0SAxel Dörfler			;
44c06e68d0SAxel Dörfler		}
45c06e68d0SAxel Dörfler	}
46c06e68d0SAxel Dörfler
475af32e75SAxel Dörfler	defines = [ FDefines $(defines) ] ;
485af32e75SAxel Dörfler	SubDirCcFlags $(defines) -Wall -Wno-multichar ;
495af32e75SAxel Dörfler	SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ;
505af32e75SAxel Dörfler}
515af32e75SAxel Dörfler
525af32e75SAxel DörflerKernelStaticLibrary boot_loader :
535af32e75SAxel Dörfler	elf.cpp
54*28a2172cSIngo Weinhold	heap.cpp
555af32e75SAxel Dörfler	kernel_args.cpp
565af32e75SAxel Dörfler	load_driver_settings.cpp
57*28a2172cSIngo Weinhold	loader.cpp
58*28a2172cSIngo Weinhold	main.cpp
59*28a2172cSIngo Weinhold	menu.cpp
60*28a2172cSIngo Weinhold	pager.cpp
61*28a2172cSIngo Weinhold	partitions.cpp
62*28a2172cSIngo Weinhold	RootFileSystem.cpp
63*28a2172cSIngo Weinhold	stdio.cpp
64*28a2172cSIngo Weinhold	vfs.cpp
65*28a2172cSIngo Weinhold	vm.cpp
665af32e75SAxel Dörfler
675af32e75SAxel Dörfler	# libroot
685af32e75SAxel Dörfler	driver_settings.c
695af32e75SAxel Dörfler
705af32e75SAxel Dörfler	# utils
715af32e75SAxel Dörfler	kernel_cpp.cpp
729e8dc2a9SIngo Weinhold	KMessage.cpp
73bd185b41SIngo Weinhold	list.cpp
74*28a2172cSIngo Weinhold	ring_buffer.cpp
7589294b50SAxel Dörfler	safemode_settings.cpp
765af32e75SAxel Dörfler
775af32e75SAxel Dörfler	: -fno-pic
785af32e75SAxel Dörfler	;
795af32e75SAxel Dörfler
805af32e75SAxel Dörfler# The partition support is built in an extra static library
815af32e75SAxel Dörfler# so that only the ones that are used will be included.
825af32e75SAxel Dörfler
835af32e75SAxel DörflerKernelStaticLibrary boot_partitions :
84f335531bSFrançois Revol	FileMapDisk.cpp
855af32e75SAxel Dörfler	amiga_rdb.cpp
865af32e75SAxel Dörfler	apple.cpp
87eef8417eSAxel Dörfler	efi_gpt.cpp
885af32e75SAxel Dörfler	intel.cpp
895af32e75SAxel Dörfler	PartitionMap.cpp
905af32e75SAxel Dörfler	PartitionMapParser.cpp
915af32e75SAxel Dörfler	: -fno-pic
925af32e75SAxel Dörfler	;
935af32e75SAxel Dörfler
945af32e75SAxel Dörfler# Tell Jam where to find the utility sources
95*28a2172cSIngo WeinholdSEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp ]
96338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
975af32e75SAxel Dörfler
989e8dc2a9SIngo WeinholdSEARCH on [ FGristFiles KMessage.cpp ]
999e8dc2a9SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
1009e8dc2a9SIngo Weinhold
10189294b50SAxel DörflerSEARCH on [ FGristFiles safemode_settings.cpp ]
10289294b50SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
10389294b50SAxel Dörfler
1045af32e75SAxel DörflerSEARCH on [ FGristFiles driver_settings.c ]
105338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
1065af32e75SAxel Dörfler
1075af32e75SAxel DörflerSEARCH on [ FGristFiles amiga_rdb.cpp ]
108338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
1095af32e75SAxel Dörfler
1105af32e75SAxel DörflerSEARCH on [ FGristFiles apple.cpp ]
111338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
1125af32e75SAxel Dörfler
113eef8417eSAxel DörflerSEARCH on [ FGristFiles efi_gpt.cpp ]
114eef8417eSAxel Dörfler    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ] ;
115eef8417eSAxel Dörfler
1165af32e75SAxel DörflerSEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
117338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
1185af32e75SAxel Dörfler
1195af32e75SAxel DörflerSEARCH on [ FGristFiles stage2_crt0.S ]
120338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_ARCH) ] ;
1215af32e75SAxel Dörfler
1225af32e75SAxel Dörfler
123338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src system boot loader file_systems ;
124d561d0adSIngo WeinholdSubInclude HAIKU_TOP src system boot loader net ;
125