1SubDir HAIKU_TOP src tests system boot loader ; 2 3UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; 4UsePrivateHeaders [ FDirName kernel util ] ; 5UsePrivateHeaders kernel shared storage system ; 6SubDirSysHdrs $(HAIKU_TOP) headers private kernel arch $(TARGET_KERNEL_ARCH_DIR) ; 7SubDirSysHdrs $(HAIKU_TOP) headers private system arch $(TARGET_ARCH) ; 8SubDirSysHdrs $(HAIKU_TOP) src tests system boot loader ; 9SubDirHdrs $(HAIKU_TOP) src system boot loader ; 10SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ; 11SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ; 12SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ; 13SubDirHdrs $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ; 14 15# we need to redefine certain calls in the boot loader so that 16# they will really be used instead of their POSIX counterparts 17# in libroot.so 18 19ObjectDefines 20 # boot loader 21 main.cpp 22 vfs.cpp 23 partitions.cpp 24 RootFileSystem.cpp 25 elf.cpp 26 menu.cpp 27 loader.cpp 28 kernel_args.cpp 29 load_driver_settings.cpp 30 pager.cpp 31 32 # other 33 platform_menu.cpp 34 driver_settings.cpp 35 36 # partitions 37 amiga_rdb.cpp 38 apple.cpp 39 40 gpt.cpp 41 Header.cpp 42 crc32.cpp 43 utility.cpp 44 45 intel.cpp 46 PartitionMap.cpp 47 PartitionMapParser.cpp 48 : 49 read_pos=boot_read_pos fstat=boot_fstat open=boot_open close=boot_close main=boot_main 50 ; 51 52{ 53 local defines = 54 BOOT_ARCH=\\\"$(TARGET_ARCH)\\\" 55 # the boot loader test application will try to load the BeOS kernel 56 # from a supported partition/file system 57 58 BOOT_SUPPORT_PARTITION_AMIGA 59 BOOT_SUPPORT_PARTITION_APPLE 60 BOOT_SUPPORT_PARTITION_EFI 61 BOOT_SUPPORT_PARTITION_INTEL 62 63 BOOT_SUPPORT_FILE_SYSTEM_BFS 64 BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS 65 BOOT_SUPPORT_FILE_SYSTEM_TARFS 66 ; 67 68 defines = [ FDefines $(defines) ] ; 69 70 if $(OS) = "LINUX" { 71 SubDirC++Flags $(defines) ; 72 } else { 73 #SubDirC++Flags $(defines) -DHAVE_READ_POS=1 -fcheck-memory-usage -D_NO_INLINE_ASM ; 74 SubDirC++Flags $(defines) -DHAVE_READ_POS=1 -D_NO_INLINE_ASM ; 75 } 76} 77 78SimpleTest BootLoaderTest : 79 # userland bindings 80 platform_start.cpp 81 platform_console.cpp 82 platform_debug.cpp 83 platform_devices.cpp 84 platform_heap.cpp 85 platform_menu.cpp 86 platform_misc.cpp 87 platform_mmu.cpp 88 Handle.cpp 89 90 # boot loader 91 main.cpp 92 vfs.cpp 93 partitions.cpp 94 RootFileSystem.cpp 95 elf.cpp 96 menu.cpp 97 loader.cpp 98 kernel_args.cpp 99 load_driver_settings.cpp 100 pager.cpp 101 102 # partitioning systems 103 amiga_rdb.cpp 104 apple.cpp 105 106 gpt.cpp 107 Header.cpp 108 crc32.cpp 109 utility.cpp 110 111 intel.cpp 112 PartitionMap.cpp 113 PartitionMapParser.cpp 114 115 # utility functions 116 list.cpp 117 driver_settings.cpp 118 ring_buffer.cpp 119 KMessage.cpp 120 121 : 122 boottest_bfs.a boottest_amiga_ffs.a boottest_tarfs.a libz.a 123 kernelland_emu 124; 125 126# Tell Jam where to find the utility sources 127 128SEARCH on [ FGristFiles list.cpp ring_buffer.cpp ] 129 = [ FDirName $(HAIKU_TOP) src system kernel util ] ; 130 131SEARCH on [ FGristFiles KMessage.cpp ] 132 = [ FDirName $(HAIKU_TOP) src system kernel messaging ] ; 133 134SEARCH on [ FGristFiles strlcat.c strlcpy.c ] 135 = [ FDirName $(HAIKU_TOP) src system libroot posix string ] ; 136 137SEARCH on [ FGristFiles driver_settings.cpp ] 138 = [ FDirName $(HAIKU_TOP) src system libroot os ] ; 139 140SEARCH on [ FGristFiles 141 main.cpp vfs.cpp partitions.cpp 142 heap.cpp RootFileSystem.cpp 143 elf.cpp menu.cpp loader.cpp 144 kernel_args.cpp load_driver_settings.cpp pager.cpp 145 ] = [ FDirName $(HAIKU_TOP) src system boot loader ] ; 146 147# partitioning system modules 148 149SEARCH on [ FGristFiles amiga_rdb.cpp ] 150 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems amiga ] ; 151 152SEARCH on [ FGristFiles apple.cpp ] 153 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems apple ] ; 154 155SEARCH on [ FGristFiles gpt.cpp Header.cpp crc32.cpp utility.cpp ] 156 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems gpt ] ; 157 158SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ] 159 = [ FDirName $(HAIKU_TOP) src add-ons kernel partitioning_systems intel ] ; 160 161 162SubInclude HAIKU_TOP src tests system boot loader file_systems ; 163