haiku/src/system/kernel/Jamfile

156 lines
3.5 KiB
Plaintext
Raw Normal View History

SubDir HAIKU_TOP src system kernel ;
{
local defines =
HAIKU_ARCH=\\\"$(TARGET_ARCH)\\\"
;
defines = [ FDefines $(defines) ] ;
SubDirCcFlags $(defines) ;
SubDirC++Flags $(defines) ;
}
UsePrivateHeaders shared ;
AddResources kernel_$(TARGET_ARCH) : kernel.rdef ;
KernelMergeObject kernel_core.o :
boot_item.cpp
condition_variable.cpp
cpu.c
elf.cpp
heap.c
image.c
int.c
kernel_daemon.c
linkhack.c
lock.c
main.c
module.cpp
Notifications.cpp
port.c
real_time_clock.c
scheduler.cpp
sem.c
shutdown.c
signal.cpp
system_info.c
smp.c
syscalls.c
team.cpp
thread.cpp
timer.c
wait_for_objects.cpp
: $(TARGET_KERNEL_PIC_CCFLAGS)
;
# We need to specify the dependency on the generated syscalls files explicitly.
Includes [ FGristFiles syscalls.c ]
: <syscalls>syscall_dispatcher.h <syscalls>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 parts borrowed from libroot and others
kernel_os_main.o
kernel_os_arch_$(TARGET_ARCH).o
kernel_posix.o
kernel_posix_arch_$(TARGET_ARCH).o
kernel_misc.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
# propagate HAIKU_INCLUDE_IN_IMAGE variable from kernel to kernel_$(TARGET_ARCH)
HAIKU_INCLUDE_IN_IMAGE on kernel_$(TARGET_ARCH)
= [ on kernel return $(HAIKU_INCLUDE_IN_IMAGE) ] ;
# 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 <revisioned>kernel_$(TARGET_ARCH)
: [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ;
CopySetHaikuRevision <revisioned>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) ;
}