1SubDir HAIKU_TOP src system boot loader ; 2 3SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ; 4SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ; 5SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ; 6SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ; 7UsePrivateKernelHeaders ; 8UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; 9UsePrivateHeaders [ FDirName kernel util ] ; 10UsePrivateHeaders shared storage ; 11 12{ 13 local defines = 14 _BOOT_MODE 15 BOOT_ARCH=\\\"$(TARGET_ARCH)\\\" 16 KMESSAGE_CONTAINER_ONLY 17 18 BOOT_SUPPORT_PARTITION_INTEL 19 20 BOOT_SUPPORT_FILE_SYSTEM_BFS 21 BOOT_SUPPORT_FILE_SYSTEM_TARFS 22 #BOOT_SUPPORT_FILE_MAP_DISK 23 ; 24 25 # Add architecture specific partition/file system modules 26 27 switch $(TARGET_ARCH) { 28 case "ppc" : 29 { 30 defines += 31 BOOT_SUPPORT_PARTITION_AMIGA 32 BOOT_SUPPORT_PARTITION_APPLE 33 34 BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS 35 ; 36 } 37 case "x86" : 38 { 39 defines += 40 BOOT_SUPPORT_PARTITION_EFI 41 42 #BOOT_SUPPORT_FILE_SYSTEM_FAT 43 ; 44 } 45 } 46 47 defines = [ FDefines $(defines) ] ; 48 SubDirCcFlags $(defines) -Wall -Wno-multichar ; 49 SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ; 50} 51 52KernelStaticLibrary boot_loader : 53 main.cpp 54 vfs.cpp 55 RootFileSystem.cpp 56 partitions.cpp 57 heap.cpp 58 stdio.cpp 59 elf.cpp 60 menu.cpp 61 loader.cpp 62 kernel_args.cpp 63 load_driver_settings.cpp 64 65 # libroot 66 driver_settings.c 67 68 # utils 69 kernel_cpp.cpp 70 KMessage.cpp 71 list.c 72 safemode_settings.cpp 73 74 : -fno-pic 75 ; 76 77# The partition support is built in an extra static library 78# so that only the ones that are used will be included. 79 80KernelStaticLibrary boot_partitions : 81 FileMapDisk.cpp 82 amiga_rdb.cpp 83 apple.cpp 84 efi_gpt.cpp 85 intel.cpp 86 PartitionMap.cpp 87 PartitionMapParser.cpp 88 : -fno-pic 89 ; 90 91# Tell Jam where to find the utility sources 92SEARCH on [ FGristFiles kernel_cpp.cpp list.c ] 93 = [ FDirName $(HAIKU_TOP) src system kernel util ] ; 94 95SEARCH on [ FGristFiles KMessage.cpp ] 96 = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ; 97 98SEARCH on [ FGristFiles safemode_settings.cpp ] 99 = [ FDirName $(HAIKU_TOP) src system kernel debug ] ; 100 101SEARCH on [ FGristFiles driver_settings.c ] 102 = [ FDirName $(HAIKU_TOP) src system libroot os ] ; 103 104SEARCH on [ FGristFiles amiga_rdb.cpp ] 105 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ; 106 107SEARCH on [ FGristFiles apple.cpp ] 108 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ; 109 110SEARCH on [ FGristFiles efi_gpt.cpp ] 111 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems efi ] ; 112 113SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ] 114 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ; 115 116SEARCH on [ FGristFiles stage2_crt0.S ] 117 = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_ARCH) ] ; 118 119 120SubInclude HAIKU_TOP src system boot loader file_systems ; 121SubInclude HAIKU_TOP src system boot loader net ; 122