haiku/src/kernel/Jamfile

455 lines
8.2 KiB
Plaintext
Raw Normal View History

SubDir OBOS_TOP src kernel ;
KernelLd stage2 :
<$(SOURCE_GRIST)!boot!arch!$(OBOS_ARCH)>stage2.o
<$(SOURCE_GRIST)!boot!arch!$(OBOS_ARCH)>stage2_asm.o
<$(SOURCE_GRIST)!boot!arch!$(OBOS_ARCH)>smp_boot.o
<$(SOURCE_GRIST)!boot!arch!$(OBOS_ARCH)>smp_trampoline.o
# posix functions needed by the stage2 boot loader
<$(SOURCE_GRIST)!libroot!posix!locale>ctype.o
<$(SOURCE_GRIST)!libroot!posix!stdio>kvsprintf.o
<$(SOURCE_GRIST)!libroot!posix!string>memset.o
<$(SOURCE_GRIST)!libroot!posix!string>memcpy.o
<$(SOURCE_GRIST)!libroot!posix!string>strnlen.o
:
$(SUBDIR)/boot/arch/$(OBOS_ARCH)/stage2.ld
:
-dN
:
:
bootstrap
;
KernelLd kernel :
kernel_core.o
kernel_fs.o
libbus.a
libvm.a
lib$(OBOS_ARCH).a
libdrivers.a
linkhack.so
kernel_os_arch_$(OBOS_ARCH).o
kernel_posix_locale.o
kernel_posix_main.o
kernel_posix_signal.o
kernel_posix_stdio.o
kernel_posix_stdlib.o
kernel_posix_sys.o
kernel_posix_time.o
kernel_posix_unistd.o
posix_string.o
:
$(SUBDIR)/core/arch/$(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
libbus.a
libvm.a
lib$(OBOS_ARCH).a
libdrivers.a
linkhack.so
kernel_os_arch_$(OBOS_ARCH).o
kernel_posix_locale.o
kernel_posix_main.o
kernel_posix_signal.o
kernel_posix_stdio.o
kernel_posix_stdlib.o
kernel_posix_sys.o
kernel_posix_time.o
kernel_posix_unistd.o
posix_string.o
:
$(SUBDIR)/core/arch/$(OBOS_ARCH)/kernel.ld
:
-Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar
;
KernelLd libglue.o :
<$(SOURCE_GRIST)!glue>lib0.o
:
:
-r
:
no_gcc
;
KernelLd libroot.so :
libglue.o
<$(SOURCE_GRIST)!libroot>libroot_init.o
os_main.o
os_arch_$(OBOS_ARCH).o
posix_locale.o
posix_main.o
posix_malloc.o
posix_math.o
posix_math_arch_$(OBOS_ARCH).o
posix_stdio.o
posix_stdlib.o
posix_string.o
posix_sys.o
posix_time.o
posix_unistd.o
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/library.ld
:
-shared -soname libroot.so -Bdynamic -export-dynamic
:
no_gcc
:
lib/libroot.so
;
KernelLd libglue2.o :
<$(SOURCE_GRIST)!glue>crt0.o
:
:
-r
:
no_gcc
;
KernelLd init :
libglue2.o
<$(SOURCE_GRIST)!apps>init.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/init
;
KernelStaticLibraryObjects librld.a :
# needed for rld.so only
<$(SOURCE_GRIST)!libroot>libroot_init.o
<$(SOURCE_GRIST)!libroot!os>syscalls.o
<$(SOURCE_GRIST)!libroot!os>sem.o
<$(SOURCE_GRIST)!libroot!os!arch!$(OBOS_ARCH)>atomic.o
<$(SOURCE_GRIST)!libroot!os!arch!$(OBOS_ARCH)>cpuid.o
<$(SOURCE_GRIST)!libroot!posix>errno.o
<$(SOURCE_GRIST)!libroot!posix>dlfcn.o
<$(SOURCE_GRIST)!libroot!posix>rlimit.o
<$(SOURCE_GRIST)!libroot!posix!locale>ctype.o
<$(SOURCE_GRIST)!libroot!posix!stdio>kvsprintf.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>rldunix.o
<$(SOURCE_GRIST)!apps!rld>rldbeos.o
<$(SOURCE_GRIST)!apps!rld>rldheap.o
<$(SOURCE_GRIST)!apps!rld>rldaux.o
librld.a
:
$(SUBDIR)/apps/rld/arch/$(OBOS_ARCH)/rld.ld
:
:
:
libexec/rld.so
;
KernelLd false :
libglue2.o
<$(SOURCE_GRIST)!apps>false_main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/false
;
KernelLd true :
libglue2.o
<$(SOURCE_GRIST)!apps>true_main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/true
;
KernelLd fibo :
libglue2.o
<$(SOURCE_GRIST)!apps>fibo_main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/fibo
;
KernelLd sig_test :
libglue2.o
<$(SOURCE_GRIST)!apps>sig_test.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/sig_test
;
KernelLd select_test :
libglue2.o
<$(SOURCE_GRIST)!apps>select_test.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/select_test
;
KernelLd fortune :
libglue2.o
<$(SOURCE_GRIST)!apps!fortune>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/fortune
;
KernelConfigSection etc/fortunes : data : $(SUBDIR)/apps/fortune/fortunes ;
KernelLd ls :
libglue2.o
<$(SOURCE_GRIST)!apps!ls>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/ls
;
KernelLd symlink :
libglue2.o
<$(SOURCE_GRIST)!apps!symlink>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
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
:
:
:
bin/shell
;
KernelLd cpuinfo :
libglue2.o
<$(SOURCE_GRIST)!apps!cpuinfo>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/cpuinfo
;
KernelLd testapp :
libglue2.o
<$(SOURCE_GRIST)!apps!testapp>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/testapp
;
KernelLd hostname :
libglue2.o
<$(SOURCE_GRIST)!apps!hostname>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/hostname
;
KernelLd filetest :
libglue2.o
<$(SOURCE_GRIST)!apps!filetest>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/filetest
;
KernelLd envtest :
libglue2.o
<$(SOURCE_GRIST)!apps!envtest>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
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 ps :
libglue2.o
<$(SOURCE_GRIST)!apps!ps>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/ps
;
KernelLd echo :
libglue2.o
<$(SOURCE_GRIST)!apps!echo>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
bin/echo
;
KernelLd uname :
libglue2.o
<$(SOURCE_GRIST)!apps!uname>main.o
libroot.so
:
$(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld
:
:
:
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 floppy : $(OBOS_FLOPPY) ;
NotFile floppy ;
SubInclude OBOS_TOP src kernel boot ;
SubInclude OBOS_TOP src kernel core ;
SubInclude OBOS_TOP src kernel drivers ;
SubInclude OBOS_TOP src kernel global ;
SubInclude OBOS_TOP src kernel glue ;
SubInclude OBOS_TOP src kernel apps ;
SubInclude OBOS_TOP src kernel libroot ;