haiku/src/kernel/Jamfile

428 lines
9.3 KiB
Plaintext
Raw Normal View History

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>strncmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strcat.o
<$(SOURCE_GRIST)!libroot!posix!string>strcpy.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>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
libbus.a
lib$(OBOS_ARCH).a
libdrivers.a
libkernel_util.a
linkhack.so
# kernel libroot parts
kernel_os_main.o
kernel_os_arch_$(OBOS_ARCH).o
kernel_posix.o
posix_string.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/kernel.ld
: -Bdynamic -export-dynamic -dynamic-linker /foo/bar
:
: kernel
;
KernelLd kernel.so :
# ToDo: remove kernel.so completely and make the drivers/modules
# linkable against the kernel itself
kernel_core.o
kernel_fs.o
kernel_vm.o
kernel_cache.o
kernel_device_manager.o
kernel_disk_device_manager.o
libbus.a
lib$(OBOS_ARCH).a
libdrivers.a
libkernel_util.a
linkhack.so
# kernel libroot parts
kernel_os_main.o
kernel_os_arch_$(OBOS_ARCH).o
kernel_posix.o
posix_string.o
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/kernel.ld
: -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar
;
KernelLd libglue.o : # libglue.o is used for dynamic libraries
<$(SOURCE_GRIST)!glue>crt0.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
KernelLd libroot.so :
libglue.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_signal.o
posix_stdio.o
posix_gnu_getopt.o
posix_gnu_libio.o
posix_gnu_stdio.o
posix_stdlib.o
posix_string.o
posix_sys.o
posix_termios.o
posix_time.o
posix_unistd.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
<$(SOURCE_GRIST)!glue>crt0.o
<$(SOURCE_GRIST)!glue>init_term_dyn.o
<$(SOURCE_GRIST)!glue>start_dyn.o
:
: -r
: no_gcc
;
KernelLd init :
libglue2.o
<$(SOURCE_GRIST)!apps>init.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/init
;
KernelStaticLibraryObjects librld.a :
# needed for rld.so only
<$(SOURCE_GRIST)!libroot!os>syscalls.o
<$(SOURCE_GRIST)!libroot!os>sem.o
<$(SOURCE_GRIST)!libroot!os!arch!$(OBOS_ARCH)>atomic.o
<$(SOURCE_GRIST)!libroot!posix>errno.o
<$(SOURCE_GRIST)!libroot!posix!locale>ctype.o
<$(SOURCE_GRIST)!libroot>kernel_vsprintf.o
<$(SOURCE_GRIST)!libroot!posix!unistd>open.o
<$(SOURCE_GRIST)!libroot!posix!string>memchr.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>memset.o
<$(SOURCE_GRIST)!libroot!posix!string>strcasecmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strcasestr.o
<$(SOURCE_GRIST)!libroot!posix!string>strcat.o
<$(SOURCE_GRIST)!libroot!posix!string>strchr.o
<$(SOURCE_GRIST)!libroot!posix!string>strcmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strcspn.o
<$(SOURCE_GRIST)!libroot!posix!string>strdup.o
<$(SOURCE_GRIST)!libroot!posix!string>strerror.o
<$(SOURCE_GRIST)!libroot!posix!string>strlcat.o
<$(SOURCE_GRIST)!libroot!posix!string>strlcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strlen.o
<$(SOURCE_GRIST)!libroot!posix!string>strncat.o
<$(SOURCE_GRIST)!libroot!posix!string>strncmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strncpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strnicmp.o
<$(SOURCE_GRIST)!libroot!posix!string>strnlen.o
<$(SOURCE_GRIST)!libroot!posix!string>strpbrk.o
<$(SOURCE_GRIST)!libroot!posix!string>strrchr.o
<$(SOURCE_GRIST)!libroot!posix!string>strspn.o
<$(SOURCE_GRIST)!libroot!posix!string>strstr.o
<$(SOURCE_GRIST)!libroot!posix!string>strtok.o
;
KernelLd rld.so :
<$(SOURCE_GRIST)!apps!rld>rld0.o
<$(SOURCE_GRIST)!apps!rld>rld.o
<$(SOURCE_GRIST)!apps!rld>rldelf.o
<$(SOURCE_GRIST)!apps!rld>rldexport.o
<$(SOURCE_GRIST)!apps!rld>rldheap.o
<$(SOURCE_GRIST)!apps!rld>rldaux.o
librld.a
: $(SUBDIR)/apps/rld/arch/$(OBOS_ARCH)/rld.ld
:
:
: beos/system/lib/rld.so
;
KernelLd kernel_false :
libglue2.o
<$(SOURCE_GRIST)!apps>false_main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/false
;
KernelLd kernel_true :
libglue2.o
<$(SOURCE_GRIST)!apps>true_main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/true
;
KernelLd fibo :
libglue2.o
<$(SOURCE_GRIST)!apps>fibo_main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/fibo
;
KernelLd sig_test :
libglue2.o
<$(SOURCE_GRIST)!apps>sig_test.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/sig_test
;
KernelLd monitor_test :
libglue2.o
<$(SOURCE_GRIST)!apps>monitor_test.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/monitor_test
;
KernelLd kernel_fortune :
libglue2.o
<$(SOURCE_GRIST)!apps!fortune>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/fortune
;
KernelConfigSection beos/etc/fortunes : data : $(SUBDIR)/apps/fortune/fortunes ;
KernelLd kernel_ls :
libglue2.o
<$(SOURCE_GRIST)!apps!ls>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/ls
;
KernelLd symlink :
libglue2.o
<$(SOURCE_GRIST)!apps!symlink>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/symlink
;
# Note: shell is a built in target, thus we need the grist.
KernelLd obos_shell :
libglue2.o
<$(SOURCE_GRIST)!apps!shell>main.o
<$(SOURCE_GRIST)!apps!shell>args.o
<$(SOURCE_GRIST)!apps!shell>commands.o
<$(SOURCE_GRIST)!apps!shell>file_utils.o
<$(SOURCE_GRIST)!apps!shell>parse.o
<$(SOURCE_GRIST)!apps!shell>script.o
<$(SOURCE_GRIST)!apps!shell>shell_vars.o
<$(SOURCE_GRIST)!apps!shell>statements.o
<$(SOURCE_GRIST)!apps!shell>shell_history.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/shell
;
KernelLd testapp :
libglue2.o
<$(SOURCE_GRIST)!apps!testapp>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/testapp
;
KernelLd tls_test :
libglue2.o
<$(SOURCE_GRIST)!apps>tls_test.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/tls_test
;
KernelLd pipe_test :
libglue2.o
<$(SOURCE_GRIST)!apps>pipe_test.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/pipe_test
;
KernelLd envtest :
libglue2.o
<$(SOURCE_GRIST)!apps!envtest>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/envtest
;
#if $(OS) = "BEOS"
#{
# KernelConfigSection addons/drivers/dev/misc/pcspeaker
# :
# elf32
# :
# /boot/home/config/add-ons/kernel/drivers/bin/pcspeaker
# ;
# KernelConfigSection addons/drivers/dev/net/tulip
# :
# elf32
# :
# /boot/beos/system/add-ons/kernel/drivers/bin/tulip
# ;
#}
KernelLd kernel_ps :
libglue2.o
<$(SOURCE_GRIST)!apps!ps>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/ps
;
KernelLd kernel_echo :
libglue2.o
<$(SOURCE_GRIST)!apps!echo>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/echo
;
KernelLd kernel_uname :
libglue2.o
<$(SOURCE_GRIST)!apps!uname>main.o
libroot.so
: $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
: beos/bin/uname
;
WriteKernelConfig $(OBOS_KERNEL_CONFIG) ;
BuildKernel $(OBOS_KERNEL) : $(OBOS_KERNEL_CONFIG) ;
KernelFloppyImage $(OBOS_FLOPPY) : $(OBOS_KERNEL) : $(SUBDIR)/boot/arch/$(OBOS_ARCH)/bootblock.bin ;
Depends boot_floppy : $(OBOS_FLOPPY) ;
NotFile boot_floppy ;
Depends bootfloppy : $(OBOS_FLOPPY) ;
NotFile bootfloppy ;
SubInclude OBOS_TOP src kernel apps ;
SubInclude OBOS_TOP src kernel boot ;
SubInclude OBOS_TOP src kernel core ;
SubInclude OBOS_TOP src kernel drivers ;
SubInclude OBOS_TOP src kernel glue ;
SubInclude OBOS_TOP src kernel libroot ;