2005-10-29 20:27:43 +04:00
|
|
|
SubDir HAIKU_TOP src system kernel ;
|
2005-03-06 19:51:58 +03:00
|
|
|
|
2004-04-22 02:57:39 +04:00
|
|
|
{
|
|
|
|
local defines =
|
2006-03-06 16:40:36 +03:00
|
|
|
HAIKU_ARCH=\\\"$(TARGET_ARCH)\\\"
|
2004-04-22 02:57:39 +04:00
|
|
|
;
|
|
|
|
|
|
|
|
defines = [ FDefines $(defines) ] ;
|
|
|
|
SubDirCcFlags $(defines) ;
|
|
|
|
SubDirC++Flags $(defines) ;
|
|
|
|
}
|
|
|
|
|
2007-07-31 21:17:51 +04:00
|
|
|
UsePrivateHeaders shared ;
|
|
|
|
|
2006-06-13 20:08:55 +04:00
|
|
|
AddResources kernel_$(TARGET_ARCH) : kernel.rdef ;
|
|
|
|
|
2002-11-04 22:06:44 +03:00
|
|
|
KernelMergeObject kernel_core.o :
|
2005-04-01 19:09:09 +04:00
|
|
|
boot_item.cpp
|
2007-08-10 00:03:17 +04:00
|
|
|
condition_variable.cpp
|
2004-11-19 22:12:21 +03:00
|
|
|
cpu.c
|
2006-03-26 19:58:43 +04:00
|
|
|
elf.cpp
|
2004-11-19 22:12:21 +03:00
|
|
|
heap.c
|
|
|
|
image.c
|
|
|
|
int.c
|
|
|
|
kernel_daemon.c
|
|
|
|
linkhack.c
|
|
|
|
lock.c
|
|
|
|
main.c
|
2006-03-05 21:09:19 +03:00
|
|
|
module.cpp
|
2007-07-31 21:17:51 +04:00
|
|
|
Notifications.cpp
|
2004-11-19 22:12:21 +03:00
|
|
|
port.c
|
|
|
|
real_time_clock.c
|
2006-02-01 23:03:55 +03:00
|
|
|
scheduler.cpp
|
2004-11-19 22:12:21 +03:00
|
|
|
sem.c
|
2004-11-25 20:59:13 +03:00
|
|
|
shutdown.c
|
2007-08-27 00:37:54 +04:00
|
|
|
signal.cpp
|
2004-11-19 22:12:21 +03:00
|
|
|
system_info.c
|
|
|
|
smp.c
|
|
|
|
syscalls.c
|
2007-08-27 00:37:54 +04:00
|
|
|
team.cpp
|
|
|
|
thread.cpp
|
2004-11-19 22:12:21 +03:00
|
|
|
timer.c
|
2007-10-02 23:47:31 +04:00
|
|
|
wait_for_objects.cpp
|
2005-03-06 19:51:58 +03:00
|
|
|
|
2005-12-31 00:20:07 +03:00
|
|
|
: $(TARGET_KERNEL_PIC_CCFLAGS)
|
2005-11-27 03:27:19 +03:00
|
|
|
;
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2005-02-11 07:57:38 +03:00
|
|
|
# We need to specify the dependency on the generated syscalls files explicitly.
|
|
|
|
Includes [ FGristFiles syscalls.c ]
|
|
|
|
: <syscalls>syscall_dispatcher.h <syscalls>syscall_table.h ;
|
2004-08-29 00:34:43 +04:00
|
|
|
|
2002-10-26 04:13:27 +04:00
|
|
|
KernelLd linkhack.so :
|
|
|
|
<$(SOURCE_GRIST)>linkhack.o
|
|
|
|
:
|
|
|
|
:
|
|
|
|
-shared -Bdynamic
|
2005-11-27 03:27:19 +03:00
|
|
|
;
|
|
|
|
|
|
|
|
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
|
2007-04-26 07:41:24 +04:00
|
|
|
kernel_slab.o
|
2005-11-27 03:27:19 +03:00
|
|
|
|
|
|
|
lib$(TARGET_ARCH).a
|
2006-01-26 18:06:59 +03:00
|
|
|
kernel_platform_$(TARGET_BOOT_PLATFORM).o
|
2005-11-27 03:27:19 +03:00
|
|
|
|
|
|
|
linkhack.so
|
|
|
|
|
2007-07-31 21:17:51 +04:00
|
|
|
# kernel parts borrowed from libroot and others
|
2005-11-27 03:27:19 +03:00
|
|
|
kernel_os_main.o
|
|
|
|
kernel_os_arch_$(TARGET_ARCH).o
|
|
|
|
kernel_posix.o
|
2007-04-01 21:05:26 +04:00
|
|
|
kernel_posix_arch_$(TARGET_ARCH).o
|
2007-07-31 21:17:51 +04:00
|
|
|
kernel_misc.o
|
2005-11-27 03:27:19 +03:00
|
|
|
|
|
|
|
$(HAIKU_STATIC_LIBSUPC++)
|
|
|
|
|
|
|
|
: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld
|
|
|
|
: -Bdynamic -export-dynamic -dynamic-linker /foo/bar
|
2005-12-31 00:20:07 +03:00
|
|
|
$(TARGET_KERNEL_PIC_LINKFLAGS)
|
2005-11-27 03:27:19 +03:00
|
|
|
:
|
|
|
|
;
|
|
|
|
|
|
|
|
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
|
2007-04-26 07:41:24 +04:00
|
|
|
kernel_slab.o
|
2005-11-27 03:27:19 +03:00
|
|
|
|
|
|
|
lib$(TARGET_ARCH).a
|
2006-01-26 18:06:59 +03:00
|
|
|
kernel_platform_$(TARGET_BOOT_PLATFORM).o
|
2005-11-27 03:27:19 +03:00
|
|
|
|
|
|
|
linkhack.so
|
|
|
|
|
|
|
|
# kernel libroot parts
|
|
|
|
kernel_os_main.o
|
|
|
|
kernel_os_arch_$(TARGET_ARCH).o
|
|
|
|
kernel_posix.o
|
2007-04-16 10:17:14 +04:00
|
|
|
kernel_posix_arch_$(TARGET_ARCH).o
|
2005-11-27 03:27:19 +03:00
|
|
|
|
|
|
|
$(HAIKU_STATIC_LIBSUPC++)
|
|
|
|
|
|
|
|
: $(HAIKU_TOP)/src/system/ldscripts/$(TARGET_ARCH)/kernel.ld
|
|
|
|
: -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar
|
2005-12-31 00:20:07 +03:00
|
|
|
$(TARGET_KERNEL_PIC_LINKFLAGS)
|
2005-11-27 03:27:19 +03:00
|
|
|
;
|
|
|
|
|
|
|
|
NotFile kernel ;
|
|
|
|
Depends kernel : kernel_$(TARGET_ARCH) ;
|
|
|
|
Depends kernel.so : kernel ;
|
|
|
|
# kernel.so will be rebuilt with the kernel
|
|
|
|
|
2007-06-29 23:28:11 +04:00
|
|
|
# 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) ] ;
|
2002-07-09 16:24:59 +04:00
|
|
|
|
2007-05-19 19:36:32 +04:00
|
|
|
# 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) ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2005-10-29 20:27:43 +04:00
|
|
|
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 ;
|
2005-11-27 03:27:19 +03:00
|
|
|
SubInclude HAIKU_TOP src system kernel lib ;
|
2005-10-29 20:27:43 +04:00
|
|
|
SubInclude HAIKU_TOP src system kernel messaging ;
|
2007-04-26 07:41:24 +04:00
|
|
|
SubInclude HAIKU_TOP src system kernel slab ;
|
2005-10-29 20:27:43 +04:00
|
|
|
SubInclude HAIKU_TOP src system kernel util ;
|
|
|
|
SubInclude HAIKU_TOP src system kernel vm ;
|
2005-12-31 00:20:07 +03:00
|
|
|
|
|
|
|
if $(TARGET_BOOT_PLATFORM) {
|
|
|
|
SubInclude HAIKU_TOP src system kernel platform $(TARGET_BOOT_PLATFORM) ;
|
|
|
|
}
|