xref: /haiku/src/system/boot/loader/Jamfile (revision f335531bbc3e489df4eb1c085da3cf7426af0a1f)
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
22*f335531bSFranç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
42c06e68d0SAxel 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	main.cpp
545af32e75SAxel Dörfler	vfs.cpp
555af32e75SAxel Dörfler	RootFileSystem.cpp
565af32e75SAxel Dörfler	partitions.cpp
575af32e75SAxel Dörfler	heap.cpp
585af32e75SAxel Dörfler	stdio.cpp
595af32e75SAxel Dörfler	elf.cpp
605af32e75SAxel Dörfler	menu.cpp
615af32e75SAxel Dörfler	loader.cpp
625af32e75SAxel Dörfler	kernel_args.cpp
635af32e75SAxel Dörfler	load_driver_settings.cpp
645af32e75SAxel Dörfler
655af32e75SAxel Dörfler	# libroot
665af32e75SAxel Dörfler	driver_settings.c
675af32e75SAxel Dörfler
685af32e75SAxel Dörfler	# utils
695af32e75SAxel Dörfler	kernel_cpp.cpp
709e8dc2a9SIngo Weinhold	KMessage.cpp
719e8dc2a9SIngo Weinhold	list.c
725af32e75SAxel Dörfler
735af32e75SAxel Dörfler	: -fno-pic
745af32e75SAxel Dörfler	;
755af32e75SAxel Dörfler
765af32e75SAxel Dörfler# The partition support is built in an extra static library
775af32e75SAxel Dörfler# so that only the ones that are used will be included.
785af32e75SAxel Dörfler
795af32e75SAxel DörflerKernelStaticLibrary boot_partitions :
80*f335531bSFrançois Revol	FileMapDisk.cpp
815af32e75SAxel Dörfler	amiga_rdb.cpp
825af32e75SAxel Dörfler	apple.cpp
83eef8417eSAxel Dörfler	efi_gpt.cpp
845af32e75SAxel Dörfler	intel.cpp
855af32e75SAxel Dörfler	PartitionMap.cpp
865af32e75SAxel Dörfler	PartitionMapParser.cpp
875af32e75SAxel Dörfler	: -fno-pic
885af32e75SAxel Dörfler	;
895af32e75SAxel Dörfler
905af32e75SAxel Dörfler# Tell Jam where to find the utility sources
915af32e75SAxel DörflerSEARCH on [ FGristFiles kernel_cpp.cpp list.c ]
92338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel util ] ;
935af32e75SAxel Dörfler
949e8dc2a9SIngo WeinholdSEARCH on [ FGristFiles KMessage.cpp ]
959e8dc2a9SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;
969e8dc2a9SIngo Weinhold
975af32e75SAxel DörflerSEARCH on [ FGristFiles driver_settings.c ]
98338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system libroot os ] ;
995af32e75SAxel Dörfler
1005af32e75SAxel DörflerSEARCH on [ FGristFiles amiga_rdb.cpp ]
101338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;
1025af32e75SAxel Dörfler
1035af32e75SAxel DörflerSEARCH on [ FGristFiles apple.cpp ]
104338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;
1055af32e75SAxel Dörfler
106eef8417eSAxel DörflerSEARCH on [ FGristFiles efi_gpt.cpp ]
107eef8417eSAxel Dörfler    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ] ;
108eef8417eSAxel Dörfler
1095af32e75SAxel DörflerSEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]
110338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;
1115af32e75SAxel Dörfler
1125af32e75SAxel DörflerSEARCH on [ FGristFiles stage2_crt0.S ]
113338b8dc3SIngo Weinhold    = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_ARCH) ] ;
1145af32e75SAxel Dörfler
1155af32e75SAxel Dörfler
116338b8dc3SIngo WeinholdSubInclude HAIKU_TOP src system boot loader file_systems ;
117d561d0adSIngo WeinholdSubInclude HAIKU_TOP src system boot loader net ;
118