SubDir OBOS_TOP src kernel boot loader ; # SubDirHdrs $(OBOS_TOP) src add-ons kernel partitioning_systems amiga ; UsePrivateHeaders [ FDirName kernel boot platform $(OBOS_BOOT_PLATFORM) ] ; UsePrivateHeaders [ FDirName kernel disk_device_manager ] ; UsePrivateHeaders [ FDirName kernel util ] ; UsePrivateHeaders [ FDirName shared ] ; UsePrivateHeaders [ FDirName storage ] ; { local defines = _BOOT_MODE BOOT_ARCH=\\\"$(OBOS_ARCH)\\\" BOOT_SUPPORT_PARTITION_AMIGA BOOT_SUPPORT_PARTITION_APPLE BOOT_SUPPORT_PARTITION_INTEL BOOT_SUPPORT_FILE_SYSTEM_BFS BOOT_SUPPORT_FILE_SYSTEM_AMIGA_FFS ; defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) -Wall -Wno-multichar ; SubDirC++Flags $(defines) -Wall -Wno-multichar -fno-rtti ; } KernelStaticLibrary boot_loader : main.cpp vfs.cpp RootFileSystem.cpp partitions.cpp heap.cpp stdio.cpp elf.cpp menu.cpp loader.cpp kernel_args.cpp load_driver_settings.cpp # libroot driver_settings.c # utils list.c kernel_cpp.cpp : -fno-pic ; # The partition support is built in an extra static library # so that only the ones that are used will be included. KernelStaticLibrary boot_partitions : amiga_rdb.cpp apple.cpp intel.cpp PartitionMap.cpp PartitionMapParser.cpp : -fno-pic ; # Tell Jam where to find the utility sources SEARCH on [ FGristFiles kernel_cpp.cpp list.c ] = [ FDirName $(OBOS_TOP) src kernel core util ] ; SEARCH on [ FGristFiles driver_settings.c ] = [ FDirName $(OBOS_TOP) src kernel libroot os ] ; SEARCH on [ FGristFiles amiga_rdb.cpp ] = [ FDirName $(OBOS_TOP) src add-ons kernel partitioning_systems amiga ] ; SEARCH on [ FGristFiles apple.cpp ] = [ FDirName $(OBOS_TOP) src add-ons kernel partitioning_systems apple ] ; SEARCH on [ FGristFiles intel.cpp PartitionMap.cpp PartitionMapParser.cpp ] = [ FDirName $(OBOS_TOP) src add-ons kernel partitioning_systems intel ] ; SEARCH on [ FGristFiles stage2_crt0.S ] = [ FDirName $(OBOS_TOP) src kernel boot arch $(OBOS_ARCH) ] ; SubInclude OBOS_TOP src kernel boot loader file_systems ;