Files
haiku-beta6/src/system/Jamfile
T
Axel Dörfler 5af32e7526 Renamed src/kernel to src/system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-04-13 13:06:35 +00:00

189 lines
4.5 KiB
Plaintext

SubDir OBOS_TOP src kernel ;
KernelLd boot_loader :
boot_platform_$(OBOS_BOOT_PLATFORM).o
boot_loader.a
boot_partitions.a
# file systems
boot_bfs.a
boot_amiga_ffs.a
# libroot functions needed by the stage2 boot loader
<$(SOURCE_GRIST)!libroot!os!arch!$(OBOS_ARCH)>byteorder.o
<$(SOURCE_GRIST)!libroot>ctype.o
<$(SOURCE_GRIST)!libroot>kernel_vsprintf.o
<$(SOURCE_GRIST)!libroot!posix!string>memset.o
<$(SOURCE_GRIST)!libroot!posix!string>memcmp.o
<$(SOURCE_GRIST)!libroot!posix!string>memcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>memmove.o
<$(SOURCE_GRIST)!libroot!posix!string>strdup.o
<$(SOURCE_GRIST)!libroot!posix!string>strlen.o
<$(SOURCE_GRIST)!libroot!posix!string>strnlen.o
<$(SOURCE_GRIST)!libroot!posix!string>strcmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strcasecmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strncmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strcat.o
<$(SOURCE_GRIST)!libroot!posix!string>strcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strlcat.o
<$(SOURCE_GRIST)!libroot!posix!string>strlcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strchr.o
<$(SOURCE_GRIST)!libroot!posix!string>strrchr.o
<$(SOURCE_GRIST)!libroot!posix!stdlib>strtol.o
<$(SOURCE_GRIST)!libroot>qsort.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/boot_loader.ld
: -Bstatic
;
KernelLd stage2 :
boot_arch_stage2.o
# posix functions needed by the stage2 boot loader
<$(SOURCE_GRIST)!libroot>ctype.o
<$(SOURCE_GRIST)!libroot>kernel_vsprintf.o
<$(SOURCE_GRIST)!libroot!posix!string>memset.o
<$(SOURCE_GRIST)!libroot!posix!string>memcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strnlen.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/stage2.ld
: -dN
:
: bootstrap
;
KernelLd kernel :
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
lib$(OBOS_ARCH).a
linkhack.so
# kernel libroot parts
kernel_os_main.o
kernel_os_arch_$(OBOS_ARCH).o
kernel_posix.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/kernel.ld
: -Bdynamic -export-dynamic -dynamic-linker /foo/bar
:
: kernel
;
LINKLIBS on kernel += $(KERNEL_C++_SUPPORT_LIBS) ;
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
lib$(OBOS_ARCH).a
linkhack.so
# kernel libroot parts
kernel_os_main.o
kernel_os_arch_$(OBOS_ARCH).o
kernel_posix.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/kernel.ld
: -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar
;
LINKLIBS on kernel.so += $(KERNEL_C++_SUPPORT_LIBS) ;
# ToDo: this is outdated; instead, the standard Be mechanism should be used
KernelLd libglue.o : # libglue.o is used for dynamic libraries
<$(SOURCE_GRIST)!glue!arch!$(OBOS_ARCH)>crti.o
$(LIBGCC_DIR)/crtbegin.o
$(LIBGCC_DIR)/crtend.o
<$(SOURCE_GRIST)!glue!arch!$(OBOS_ARCH)>crtn.o
<$(SOURCE_GRIST)!glue>init_term_dyn.o
:
: -r
: no_gcc
;
UnarchiveObjects $(LIBGCC_OBJECTS) : $(LIBGCC_DIR)/libgcc.a ;
# we need to link against libgcc.a objects and make
# it available to other applications as in BeOS
# ToDo: Rewrite as SharedLibrary
KernelLd libroot.so :
<$(SOURCE_GRIST)!glue!arch!$(OBOS_ARCH)>crti.o
$(LIBGCC_DIR)/crtbegin.o
<$(SOURCE_GRIST)!glue>init_term_dyn.o
$(LIBGCC_OBJECTS)
<$(SOURCE_GRIST)!libroot>libroot_init.o
os_main.o
os_arch_$(OBOS_ARCH).o
posix_arch_$(OBOS_ARCH).o
posix_locale.o
posix_main.o
posix_malloc.o
posix_math.o
posix_math_arch_$(OBOS_ARCH).o
posix_pthread.o
posix_signal.o
posix_stdio.o
posix_gnu_arch_$(OBOS_ARCH).o
posix_gnu_ctype.o
posix_gnu_ext.o
posix_gnu_libio.o
posix_gnu_locale.o
posix_gnu_regex.o
posix_gnu_stdio.o
posix_gnu_stdlib.o
posix_gnu_wcsmbs.o
posix_stdlib.o
posix_string.o
posix_sys.o
posix_time.o
posix_unistd.o
$(LIBGCC_DIR)/crtend.o
<$(SOURCE_GRIST)!glue!arch!$(OBOS_ARCH)>crtn.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/library.ld
: -shared -soname libroot.so -Bdynamic -export-dynamic
: no_gcc
: beos/system/lib/libroot.so
;
KernelLd libglue2.o : # libglue2.o is used for executables
libglue.o
<$(SOURCE_GRIST)!glue>start_dyn.o
:
: -r
: no_gcc
;
WriteKernelConfig $(OBOS_KERNEL_CONFIG) ;
BuildKernel $(OBOS_KERNEL) : $(OBOS_KERNEL_CONFIG) ;
Depends kernel.so : kernel ;
# kernel.so will be rebuilt with the kernel
SubInclude OBOS_TOP src kernel boot ;
SubInclude OBOS_TOP src kernel core ;
SubInclude OBOS_TOP src kernel glue ;
SubInclude OBOS_TOP src kernel libroot ;
SubInclude OBOS_TOP src kernel runtime_loader ;