xref: /haiku/src/system/boot/loader/Jamfile (revision 32832cbe47f991cc6d2b29824903181d8baaaa63)
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 ;
561ba1259SAxel DörflerSubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ;
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{
1330572237SIngo Weinhold	DEFINES +=
145af32e75SAxel Dörfler		_BOOT_MODE
15da80a050SAlex Smith		BOOT_ARCH=\\\"$(TARGET_KERNEL_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
23085cf27bSIngo Weinhold		BOOT_SUPPORT_FILE_SYSTEM_FAT
245af32e75SAxel Dörfler	;
255af32e75SAxel Dörfler
26c06e68d0SAxel Dörfler	# Add architecture specific partition/file system modules
27c06e68d0SAxel Dörfler
28da80a050SAlex Smith	switch $(TARGET_KERNEL_ARCH) {
29c06e68d0SAxel Dörfler		case "ppc" :
30c06e68d0SAxel Dörfler		{
3130572237SIngo Weinhold			DEFINES +=
32c06e68d0SAxel Dörfler				BOOT_SUPPORT_PARTITION_AMIGA
33c06e68d0SAxel Dörfler				BOOT_SUPPORT_PARTITION_APPLE
34c06e68d0SAxel Dörfler
35c06e68d0SAxel Dörfler				BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS
36c06e68d0SAxel Dörfler			;
37c06e68d0SAxel Dörfler		}
38c06e68d0SAxel Dörfler		case "x86" :
39c06e68d0SAxel Dörfler		{
4030572237SIngo Weinhold			DEFINES +=
417417d5edSAlex Smith				ALTERNATE_BOOT_ARCH=\\\"x86_64\\\"
42f6a34444SAlex Smith				BOOT_SUPPORT_ELF64
437417d5edSAlex Smith
44c06e68d0SAxel Dörfler				BOOT_SUPPORT_PARTITION_EFI
45c06e68d0SAxel Dörfler
469e90c30eSAxel Dörfler				#BOOT_SUPPORT_FILE_SYSTEM_FAT
47c06e68d0SAxel Dörfler			;
48c06e68d0SAxel Dörfler		}
49c06e68d0SAxel Dörfler	}
50c06e68d0SAxel Dörfler
5130572237SIngo Weinhold	local kernelC++Header = [ FDirName $(HAIKU_TOP) headers private kernel util
5230572237SIngo Weinhold		kernel_cpp.h ] ;
5330572237SIngo Weinhold
5430572237SIngo Weinhold	SubDirC++Flags -fno-rtti -include $(kernelC++Header) ;
555af32e75SAxel Dörfler}
565af32e75SAxel Dörfler
5730572237SIngo Weinhold
5865ad1ba3SAlex SmithBootStaticLibrary boot_loader :
59c04f3a62SIngo Weinhold	PathBlacklist.cpp
605af32e75SAxel Dörfler	elf.cpp
6128a2172cSIngo Weinhold	heap.cpp
625af32e75SAxel Dörfler	kernel_args.cpp
635af32e75SAxel Dörfler	load_driver_settings.cpp
6428a2172cSIngo Weinhold	loader.cpp
6528a2172cSIngo Weinhold	main.cpp
6628a2172cSIngo Weinhold	menu.cpp
675c0f8450SIngo Weinhold	package_support.cpp
6828a2172cSIngo Weinhold	pager.cpp
6928a2172cSIngo Weinhold	partitions.cpp
7028a2172cSIngo Weinhold	RootFileSystem.cpp
7128a2172cSIngo Weinhold	stdio.cpp
7228a2172cSIngo Weinhold	vfs.cpp
7328a2172cSIngo Weinhold	vm.cpp
745af32e75SAxel Dörfler
755af32e75SAxel Dörfler	# libroot
7685db3873SIngo Weinhold	driver_settings.cpp
775af32e75SAxel Dörfler
785af32e75SAxel Dörfler	# utils
795af32e75SAxel Dörfler	kernel_cpp.cpp
809e8dc2a9SIngo Weinhold	KMessage.cpp
81bd185b41SIngo Weinhold	list.cpp
8228a2172cSIngo Weinhold	ring_buffer.cpp
8389294b50SAxel Dörfler	safemode_settings.cpp
843a7e0b00SIngo Weinhold	StringHash.cpp
855af32e75SAxel Dörfler
86*32832cbeSIngo Weinhold	DataIO.cpp
8730572237SIngo Weinhold	Referenceable.cpp
8830572237SIngo Weinhold
895af32e75SAxel Dörfler	: -fno-pic
905af32e75SAxel Dörfler	;
915af32e75SAxel Dörfler
925af32e75SAxel Dörfler# The partition support is built in an extra static library
935af32e75SAxel Dörfler# so that only the ones that are used will be included.
945af32e75SAxel Dörfler
9565ad1ba3SAlex SmithBootStaticLibrary boot_partitions :
96f335531bSFrançois Revol	FileMapDisk.cpp
975af32e75SAxel Dörfler	amiga_rdb.cpp
985af32e75SAxel Dörfler	apple.cpp
99ab313893SAxel Dörfler
100eef8417eSAxel Dörfler	efi_gpt.cpp
101ab313893SAxel Dörfler	Header.cpp
102ab313893SAxel Dörfler	crc32.cpp
103ab313893SAxel Dörfler	utility.cpp
104ab313893SAxel Dörfler
1055af32e75SAxel Dörfler	intel.cpp
1065af32e75SAxel Dörfler	PartitionMap.cpp
1075af32e75SAxel Dörfler	PartitionMapParser.cpp
1085af32e75SAxel Dörfler	: -fno-pic
1095af32e75SAxel Dörfler	;
1105af32e75SAxel Dörfler
1115af32e75SAxel Dörfler# Tell Jam where to find the utility sources
1123a7e0b00SIngo WeinholdSEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp StringHash.cpp ]
113338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
1145af32e75SAxel Dörfler
1159e8dc2a9SIngo WeinholdSEARCH on [ FGristFiles KMessage.cpp ]
1169e8dc2a9SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
1179e8dc2a9SIngo Weinhold
11889294b50SAxel DörflerSEARCH on [ FGristFiles safemode_settings.cpp ]
11989294b50SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
12089294b50SAxel Dörfler
12185db3873SIngo WeinholdSEARCH on [ FGristFiles driver_settings.cpp ]
122338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
1235af32e75SAxel Dörfler
1245af32e75SAxel DörflerSEARCH on [ FGristFiles amiga_rdb.cpp ]
125338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
1265af32e75SAxel Dörfler
1275af32e75SAxel DörflerSEARCH on [ FGristFiles apple.cpp ]
128338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
1295af32e75SAxel Dörfler
130ab313893SAxel DörflerSEARCH on [ FGristFiles efi_gpt.cpp Header.cpp crc32.cpp utility.cpp ]
13161ba1259SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ;
132eef8417eSAxel Dörfler
1335af32e75SAxel DörflerSEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
134338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
1355af32e75SAxel Dörfler
1365af32e75SAxel DörflerSEARCH on [ FGristFiles stage2_crt0.S ]
137da80a050SAlex Smith    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ] ;
1385af32e75SAxel Dörfler
139*32832cbeSIngo WeinholdSEARCH on [ FGristFiles DataIO.cpp Referenceable.cpp ]
14030572237SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src kits support ] ;
14130572237SIngo Weinhold
1425af32e75SAxel Dörfler
143338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src system boot loader file_systems ;
144d561d0adSIngo WeinholdSubInclude HAIKU_TOP src system boot loader net ;
145