SubDir HAIKU_TOP src system kernel ; { local defines = HAIKU_ARCH=\\\"$(TARGET_ARCH)\\\" ; defines = [ FDefines $(defines) ] ; SubDirCcFlags $(defines) ; SubDirC++Flags $(defines) ; } AddResources kernel_$(TARGET_ARCH) : kernel.rdef ; KernelMergeObject kernel_core.o : boot_item.cpp cpu.c elf.cpp heap.c image.c int.c kernel_daemon.c linkhack.c lock.c main.c module.cpp port.c real_time_clock.c scheduler.cpp sem.c shutdown.c signal.c system_info.c smp.c syscalls.c team.c thread.c timer.c : $(TARGET_KERNEL_PIC_CCFLAGS) ; # We need to specify the dependency on the generated syscalls files explicitly. Includes [ FGristFiles syscalls.c ] : syscall_dispatcher.h syscall_table.h ; KernelLd linkhack.so : <$(SOURCE_GRIST)>linkhack.o : : -shared -Bdynamic ; KernelLd kernel_$(TARGET_ARCH) : kernel_core.o kernel_fs.o kernel_vm.o kernel_cache.o kernel_device_manager.o kernel_disk_device_manager.o kernel_util.o kernel_messaging.o kernel_debug.o kernel_slab.o lib$(TARGET_ARCH).a kernel_platform_$(TARGET_BOOT_PLATFORM).o linkhack.so # kernel libroot parts kernel_os_main.o kernel_os_arch_$(TARGET_ARCH).o kernel_posix.o kernel_posix_arch_$(TARGET_ARCH).o $(HAIKU_STATIC_LIBSUPC++) : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld : -Bdynamic -export-dynamic -dynamic-linker /foo/bar $(TARGET_KERNEL_PIC_LINKFLAGS) : ; KernelLd kernel.so : kernel_core.o kernel_fs.o kernel_vm.o kernel_cache.o kernel_device_manager.o kernel_disk_device_manager.o kernel_util.o kernel_messaging.o kernel_debug.o kernel_slab.o lib$(TARGET_ARCH).a kernel_platform_$(TARGET_BOOT_PLATFORM).o linkhack.so # kernel libroot parts kernel_os_main.o kernel_os_arch_$(TARGET_ARCH).o kernel_posix.o kernel_posix_arch_$(TARGET_ARCH).o $(HAIKU_STATIC_LIBSUPC++) : $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld : -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar $(TARGET_KERNEL_PIC_LINKFLAGS) ; NotFile kernel ; Depends kernel : kernel_$(TARGET_ARCH) ; Depends kernel.so : kernel ; # kernel.so will be rebuilt with the kernel # Copy kernel and update the copy's revision section. We link everything # against the original, but the copy will end up on the disk image (this way # we avoid unnecessary dependencies). The copy will be located in a subdirectory. if $(TARGET_PLATFORM) = haiku { MakeLocate kernel_$(TARGET_ARCH) : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; CopySetHaikuRevision kernel_$(TARGET_ARCH) : kernel_$(TARGET_ARCH) ; } SubInclude HAIKU_TOP src system kernel arch ; SubInclude HAIKU_TOP src system kernel cache ; SubInclude HAIKU_TOP src system kernel device_manager ; SubInclude HAIKU_TOP src system kernel debug ; SubInclude HAIKU_TOP src system kernel disk_device_manager ; SubInclude HAIKU_TOP src system kernel fs ; SubInclude HAIKU_TOP src system kernel lib ; SubInclude HAIKU_TOP src system kernel messaging ; SubInclude HAIKU_TOP src system kernel slab ; SubInclude HAIKU_TOP src system kernel util ; SubInclude HAIKU_TOP src system kernel vm ; if $(TARGET_BOOT_PLATFORM) { SubInclude HAIKU_TOP src system kernel platform $(TARGET_BOOT_PLATFORM) ; }