xref: /haiku/src/system/boot/loader/Jamfile (revision ab313893415e1eaed50e2af3b3517b614ee10e8a)
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{
135af32e75SAxel Dörfler	local 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		{
31c06e68d0SAxel Dörfler			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		{
40c06e68d0SAxel Dörfler			defines +=
417417d5edSAlex Smith				ALTERNATE_BOOT_ARCH=\\\"x86_64\\\"
42f6a34444SAlex Smith				BOOT_SUPPORT_ELF64
437417d5edSAlex Smith
447417d5edSAlex Smith				BOOT_SUPPORT_PARTITION_EFI
457417d5edSAlex Smith
467417d5edSAlex Smith				#BOOT_SUPPORT_FILE_SYSTEM_FAT
477417d5edSAlex Smith			;
487417d5edSAlex Smith		}
49c06e68d0SAxel Dörfler	}
50c06e68d0SAxel Dörfler
515af32e75SAxel Dörfler	defines = [ FDefines $(defines) ] ;
5208e6655aSStephan Aßmus	SubDirCcFlags $(defines) ;
5308e6655aSStephan Aßmus	SubDirC++Flags $(defines) -fno-rtti ;
545af32e75SAxel Dörfler}
555af32e75SAxel Dörfler
5665ad1ba3SAlex SmithBootStaticLibrary boot_loader :
575af32e75SAxel Dörfler	elf.cpp
5828a2172cSIngo Weinhold	heap.cpp
595af32e75SAxel Dörfler	kernel_args.cpp
605af32e75SAxel Dörfler	load_driver_settings.cpp
6128a2172cSIngo Weinhold	loader.cpp
6228a2172cSIngo Weinhold	main.cpp
6328a2172cSIngo Weinhold	menu.cpp
6428a2172cSIngo Weinhold	pager.cpp
6528a2172cSIngo Weinhold	partitions.cpp
6628a2172cSIngo Weinhold	RootFileSystem.cpp
6728a2172cSIngo Weinhold	stdio.cpp
6828a2172cSIngo Weinhold	vfs.cpp
6928a2172cSIngo Weinhold	vm.cpp
705af32e75SAxel Dörfler
715af32e75SAxel Dörfler	# libroot
7285db3873SIngo Weinhold	driver_settings.cpp
735af32e75SAxel Dörfler
745af32e75SAxel Dörfler	# utils
755af32e75SAxel Dörfler	kernel_cpp.cpp
769e8dc2a9SIngo Weinhold	KMessage.cpp
77bd185b41SIngo Weinhold	list.cpp
7828a2172cSIngo Weinhold	ring_buffer.cpp
7989294b50SAxel Dörfler	safemode_settings.cpp
805af32e75SAxel Dörfler
815af32e75SAxel Dörfler	: -fno-pic
825af32e75SAxel Dörfler	;
835af32e75SAxel Dörfler
845af32e75SAxel Dörfler# The partition support is built in an extra static library
855af32e75SAxel Dörfler# so that only the ones that are used will be included.
865af32e75SAxel Dörfler
8765ad1ba3SAlex SmithBootStaticLibrary boot_partitions :
88f335531bSFrançois Revol	FileMapDisk.cpp
895af32e75SAxel Dörfler	amiga_rdb.cpp
905af32e75SAxel Dörfler	apple.cpp
91*ab313893SAxel Dörfler
92eef8417eSAxel Dörfler	efi_gpt.cpp
93*ab313893SAxel Dörfler	Header.cpp
94*ab313893SAxel Dörfler	crc32.cpp
95*ab313893SAxel Dörfler	utility.cpp
96*ab313893SAxel Dörfler
975af32e75SAxel Dörfler	intel.cpp
985af32e75SAxel Dörfler	PartitionMap.cpp
995af32e75SAxel Dörfler	PartitionMapParser.cpp
1005af32e75SAxel Dörfler	: -fno-pic
1015af32e75SAxel Dörfler	;
1025af32e75SAxel Dörfler
1035af32e75SAxel Dörfler# Tell Jam where to find the utility sources
10428a2172cSIngo WeinholdSEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp ]
105338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
1065af32e75SAxel Dörfler
1079e8dc2a9SIngo WeinholdSEARCH on [ FGristFiles KMessage.cpp ]
1089e8dc2a9SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
1099e8dc2a9SIngo Weinhold
11089294b50SAxel DörflerSEARCH on [ FGristFiles safemode_settings.cpp ]
11189294b50SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src system kernel debug ] ;
11289294b50SAxel Dörfler
11385db3873SIngo WeinholdSEARCH on [ FGristFiles driver_settings.cpp ]
114338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
1155af32e75SAxel Dörfler
1165af32e75SAxel DörflerSEARCH on [ FGristFiles amiga_rdb.cpp ]
117338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
1185af32e75SAxel Dörfler
1195af32e75SAxel DörflerSEARCH on [ FGristFiles apple.cpp ]
120338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
1215af32e75SAxel Dörfler
122*ab313893SAxel DörflerSEARCH on [ FGristFiles efi_gpt.cpp Header.cpp crc32.cpp utility.cpp ]
12361ba1259SAxel Dörfler    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ;
124eef8417eSAxel Dörfler
1255af32e75SAxel DörflerSEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
126338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
1275af32e75SAxel Dörfler
1285af32e75SAxel DörflerSEARCH on [ FGristFiles stage2_crt0.S ]
129da80a050SAlex Smith    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ] ;
1305af32e75SAxel Dörfler
1315af32e75SAxel Dörfler
132338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src system boot loader file_systems ;
133d561d0adSIngo WeinholdSubInclude HAIKU_TOP src system boot loader net ;
134