git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12359 a95241bf-73f2-0310-859d-f6bbb57e9c96
189 lines
4.5 KiB
Plaintext
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 ;
|