SubDir HAIKU_TOP src system boot loader ;SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ;SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ;SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ;SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ;UsePrivateKernelHeaders ;UsePrivateHeaders [ FDirName kernel disk_device_manager ] ;UsePrivateHeaders [ FDirName kernel util ] ;UsePrivateHeaders shared storage ;local defines = $(DEFINES) ;local platform ;for platform in [ MultiBootSubDirSetup ] {on $(platform) {{DEFINES = $(defines) ;DEFINES +=BOOT_ARCH=\\\"$(TARGET_KERNEL_ARCH_DIR)\\\"KMESSAGE_CONTAINER_ONLYBOOT_SUPPORT_PARTITION_INTELBOOT_SUPPORT_FILE_SYSTEM_BFSBOOT_SUPPORT_FILE_SYSTEM_TARFS#BOOT_SUPPORT_FILE_MAP_DISKBOOT_SUPPORT_FILE_SYSTEM_FAT;if $(TARGET_BOOT_PLATFORM) = efi {DEFINES +=_BOOT_PLATFORM_EFIBOOT_SUPPORT_PARTITION_EFI;}# Add architecture specific partition/file system modulesswitch $(TARGET_KERNEL_ARCH_DIR) {case "ppc" :{DEFINES +=BOOT_SUPPORT_ELF32 #How to deal with PPC970 ?BOOT_SUPPORT_PARTITION_AMIGABOOT_SUPPORT_PARTITION_APPLEBOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS;}case "x86" :{DEFINES +=ALTERNATE_BOOT_ARCH=\\\"x86_64\\\"BOOT_SUPPORT_PARTITION_EFI#BOOT_SUPPORT_FILE_SYSTEM_FAT;if $(TARGET_BOOT_PLATFORM) != efi {DEFINES +=_BOOT_PLATFORM_BIOSBOOT_SUPPORT_ELF32BOOT_SUPPORT_ELF64;} else {if $(TARGET_ARCH) = x86_64 {DEFINES += BOOT_SUPPORT_ELF64 ;} else {DEFINES += BOOT_SUPPORT_ELF32 ;}}}case "sparc" :{DEFINES += BOOT_SUPPORT_ELF64 ;}case "riscv64" :{DEFINES += BOOT_SUPPORT_ELF64 ;}case "m68k" :{DEFINES += BOOT_SUPPORT_ELF32 ;}case "arm" :{DEFINES += BOOT_SUPPORT_ELF32 ;}case "arm64" :{DEFINES += BOOT_SUPPORT_ELF64 ;}}local kernelC++Header = [ FDirName $(HAIKU_TOP) headers private kernel utilkernel_cpp.h ] ;SubDirC++Flags -fno-rtti -include $(kernelC++Header) ;}BootStaticLibrary [ MultiBootGristFiles boot_loader ] :PathBlocklist.cppelf.cppheap.cppkernel_args.cppload_driver_settings.cpploader.cppmain.cppmenu.cpppackage_support.cpppager.cpppartitions.cppRootFileSystem.cppstdio.cppsystem_revision.cvfs.cppmisc.cpp# librootdriver_settings.cpp# utilskernel_cpp.cppKMessage.cpplist.cppring_buffer.cppsafemode_settings.cppStringHash.cppDataIO.cppReferenceable.cpp;# The partition support is built in an extra static library# so that only the ones that are used will be included.BootStaticLibrary [ MultiBootGristFiles boot_partitions ] :FileMapDisk.cppamiga_rdb.cppapple.cppgpt.cppHeader.cppcrc32.cpputility.cppintel.cppPartitionMap.cppPartitionMapParser.cpp;# Tell Jam where to find the utility sourcesSEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp StringHash.cpp ]= [ FDirName $(HAIKU_TOP) src system kernel util ] ;SEARCH on [ FGristFiles KMessage.cpp ]= [ FDirName $(HAIKU_TOP) src system kernel messaging ] ;SEARCH on [ FGristFiles safemode_settings.cpp ]= [ FDirName $(HAIKU_TOP) src system kernel debug ] ;SEARCH on [ FGristFiles driver_settings.cpp system_revision.c ]= [ FDirName $(HAIKU_TOP) src system libroot os ] ;SEARCH on [ FGristFiles amiga_rdb.cpp ]= [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ;SEARCH on [ FGristFiles apple.cpp ]= [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ;SEARCH on [ FGristFiles gpt.cpp Header.cpp crc32.cpp utility.cpp ]= [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ;SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ]= [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ;SEARCH on [ FGristFiles stage2_crt0.S ]= [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH_DIR) ] ;SEARCH on [ FGristFiles DataIO.cpp Referenceable.cpp ]= [ FDirName $(HAIKU_TOP) src kits support ] ;}}SubInclude HAIKU_TOP src system boot loader file_systems ;SubInclude HAIKU_TOP src system boot loader net ;