1SubDir HAIKU_TOP src system boot loader ; 2 3SetupFeatureObjectsDir $(TARGET_BOOT_PLATFORM) ; 4 5SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ; 6SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ; 7SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ; 8SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ; 9UsePrivateKernelHeaders ; 10UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; 11UsePrivateHeaders [ FDirName kernel util ] ; 12UsePrivateHeaders shared storage ; 13 14{ 15 DEFINES += 16 _BOOT_MODE 17 BOOT_ARCH=\\\"$(TARGET_KERNEL_ARCH)\\\" 18 KMESSAGE_CONTAINER_ONLY 19 20 BOOT_SUPPORT_PARTITION_INTEL 21 22 BOOT_SUPPORT_FILE_SYSTEM_BFS 23 BOOT_SUPPORT_FILE_SYSTEM_TARFS 24 #BOOT_SUPPORT_FILE_MAP_DISK 25 BOOT_SUPPORT_FILE_SYSTEM_FAT 26 ; 27 28 # Add architecture specific partition/file system modules 29 30 switch $(TARGET_KERNEL_ARCH) { 31 case "ppc" : 32 { 33 DEFINES += 34 BOOT_SUPPORT_PARTITION_AMIGA 35 BOOT_SUPPORT_PARTITION_APPLE 36 37 BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS 38 ; 39 } 40 case "x86" : 41 { 42 DEFINES += 43 ALTERNATE_BOOT_ARCH=\\\"x86_64\\\" 44 BOOT_SUPPORT_ELF64 45 46 BOOT_SUPPORT_PARTITION_EFI 47 48 #BOOT_SUPPORT_FILE_SYSTEM_FAT 49 ; 50 if $(HAIKU_BOOT_PLATFORM) != efi { 51 DEFINES += 52 BOOT_SUPPORT_ELF32 53 ; 54 } 55 } 56 } 57 58 local kernelC++Header = [ FDirName $(HAIKU_TOP) headers private kernel util 59 kernel_cpp.h ] ; 60 61 SubDirC++Flags -fno-rtti -include $(kernelC++Header) ; 62} 63 64 65BootStaticLibrary boot_loader : 66 PathBlacklist.cpp 67 elf.cpp 68 heap.cpp 69 kernel_args.cpp 70 load_driver_settings.cpp 71 loader.cpp 72 main.cpp 73 menu.cpp 74 package_support.cpp 75 pager.cpp 76 partitions.cpp 77 RootFileSystem.cpp 78 stdio.cpp 79 vfs.cpp 80 vm.cpp 81 82 # libroot 83 driver_settings.cpp 84 85 # utils 86 kernel_cpp.cpp 87 KMessage.cpp 88 list.cpp 89 ring_buffer.cpp 90 safemode_settings.cpp 91 StringHash.cpp 92 93 DataIO.cpp 94 Referenceable.cpp 95 ; 96 97# The partition support is built in an extra static library 98# so that only the ones that are used will be included. 99 100BootStaticLibrary boot_partitions : 101 FileMapDisk.cpp 102 amiga_rdb.cpp 103 apple.cpp 104 105 efi_gpt.cpp 106 Header.cpp 107 crc32.cpp 108 utility.cpp 109 110 intel.cpp 111 PartitionMap.cpp 112 PartitionMapParser.cpp 113 ; 114 115# Tell Jam where to find the utility sources 116SEARCH on [ FGristFiles kernel_cpp.cpp list.cpp ring_buffer.cpp StringHash.cpp ] 117 = [ FDirName $(HAIKU_TOP) src system kernel util ] ; 118 119SEARCH on [ FGristFiles KMessage.cpp ] 120 = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ; 121 122SEARCH on [ FGristFiles safemode_settings.cpp ] 123 = [ FDirName $(HAIKU_TOP) src system kernel debug ] ; 124 125SEARCH on [ FGristFiles driver_settings.cpp ] 126 = [ FDirName $(HAIKU_TOP) src system libroot os ] ; 127 128SEARCH on [ FGristFiles amiga_rdb.cpp ] 129 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ; 130 131SEARCH on [ FGristFiles apple.cpp ] 132 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ; 133 134SEARCH on [ FGristFiles efi_gpt.cpp Header.cpp crc32.cpp utility.cpp ] 135 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ; 136 137SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ] 138 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ; 139 140SEARCH on [ FGristFiles stage2_crt0.S ] 141 = [ FDirName $(HAIKU_TOP) src system boot arch $(TARGET_KERNEL_ARCH) ] ; 142 143SEARCH on [ FGristFiles DataIO.cpp Referenceable.cpp ] 144 = [ FDirName $(HAIKU_TOP) src kits support ] ; 145 146 147SubInclude HAIKU_TOP src system boot loader file_systems ; 148SubInclude HAIKU_TOP src system boot loader net ; 149