xref: /haiku/src/system/boot/loader/Jamfile (revision c04f3a625afa73d870e755e27e1ebdf9ea6c8038)
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 :
59*c04f3a62SIngo 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
6728a2172cSIngo Weinhold	pager.cpp
6828a2172cSIngo Weinhold	partitions.cpp
6928a2172cSIngo Weinhold	RootFileSystem.cpp
7028a2172cSIngo Weinhold	stdio.cpp
7128a2172cSIngo Weinhold	vfs.cpp
7228a2172cSIngo Weinhold	vm.cpp
735af32e75SAxel Dörfler
745af32e75SAxel Dörfler	# libroot
7585db3873SIngo Weinhold	driver_settings.cpp
765af32e75SAxel Dörfler
775af32e75SAxel Dörfler	# utils
785af32e75SAxel Dörfler	kernel_cpp.cpp
799e8dc2a9SIngo Weinhold	KMessage.cpp
80bd185b41SIngo Weinhold	list.cpp
8128a2172cSIngo Weinhold	ring_buffer.cpp
8289294b50SAxel Dörfler	safemode_settings.cpp
833a7e0b00SIngo Weinhold	StringHash.cpp
845af32e75SAxel Dörfler
8530572237SIngo Weinhold	Referenceable.cpp
8630572237SIngo Weinhold
875af32e75SAxel Dörfler	: -fno-pic
885af32e75SAxel Dörfler	;
895af32e75SAxel Dörfler
905af32e75SAxel Dörfler# The partition support is built in an extra static library
915af32e75SAxel Dörfler# so that only the ones that are used will be included.
925af32e75SAxel Dörfler
9365ad1ba3SAlex SmithBootStaticLibrary boot_partitions :
94f335531bSFrançois Revol	FileMapDisk.cpp
955af32e75SAxel Dörfler	amiga_rdb.cpp
965af32e75SAxel Dörfler	apple.cpp
97ab313893SAxel Dörfler
98eef8417eSAxel Dörfler	efi_gpt.cpp
99ab313893SAxel Dörfler	Header.cpp
100ab313893SAxel Dörfler	crc32.cpp
101ab313893SAxel Dörfler	utility.cpp
102ab313893SAxel Dörfler
1035af32e75SAxel Dörfler	intel.cpp
1045af32e75SAxel Dörfler	PartitionMap.cpp
1055af32e75SAxel Dörfler	PartitionMapParser.cpp
1065af32e75SAxel Dörfler	: -fno-pic
1075af32e75SAxel Dörfler	;
1085af32e75SAxel Dörfler
1095af32e75SAxel Dörfler# Tell Jam where to find the utility sources
1103a7e0b00SIngo WeinholdSEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp StringHash.cpp ]
111338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
1125af32e75SAxel Dörfler
1139e8dc2a9SIngo WeinholdSEARCH on [ FGristFiles KMessage.cpp ]
1149e8dc2a9SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
1159e8dc2a9SIngo Weinhold
11689294b50SAxel DörflerSEARCH on [ FGristFiles safemode_settings.cpp ]
11789294b50SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
11889294b50SAxel Dörfler
11985db3873SIngo WeinholdSEARCH on [ FGristFiles driver_settings.cpp ]
120338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
1215af32e75SAxel Dörfler
1225af32e75SAxel DörflerSEARCH on [ FGristFiles amiga_rdb.cpp ]
123338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
1245af32e75SAxel Dörfler
1255af32e75SAxel DörflerSEARCH on [ FGristFiles apple.cpp ]
126338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
1275af32e75SAxel Dörfler
128ab313893SAxel DörflerSEARCH on [ FGristFiles efi_gpt.cpp Header.cpp crc32.cpp utility.cpp ]
12961ba1259SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ;
130eef8417eSAxel Dörfler
1315af32e75SAxel DörflerSEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
132338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
1335af32e75SAxel Dörfler
1345af32e75SAxel DörflerSEARCH on [ FGristFiles stage2_crt0.S ]
135da80a050SAlex Smith    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ] ;
1365af32e75SAxel Dörfler
13730572237SIngo WeinholdSEARCH on [ FGristFiles Referenceable.cpp ]
13830572237SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src kits support ] ;
13930572237SIngo Weinhold
1405af32e75SAxel Dörfler
141338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src system boot loader file_systems ;
142d561d0adSIngo WeinholdSubInclude HAIKU_TOP src system boot loader net ;
143