SubDir OBOS_TOP src kernel ; KernelLd stage2 : boot_arch_stage2.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)/ldscripts/$(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_stdio.o kernel_posix_stdlib.o kernel_posix_sys.o kernel_posix_time.o kernel_posix_unistd.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 libbus.a libvm.a lib$(OBOS_ARCH).a libdrivers.a libkernel_util.a linkhack.so kernel_os_main.o kernel_os_arch_$(OBOS_ARCH).o kernel_posix_locale.o kernel_posix_main.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)/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 ; 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_signal.o posix_stdio.o # posix_gnu_libio.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 # for now link against libgcc.a to allow more BeOS executables to be run. # Needs a definitive decision - most probably we will have to link it statically # against libroot.so, too, like BeOS does it : 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 : : : 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!posix!stdio>kvsprintf.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 : : : 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 monitor_test : libglue2.o <$(SOURCE_GRIST)!apps>monitor_test.o libroot.so : $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld : : : bin/monitor_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 testapp : libglue2.o <$(SOURCE_GRIST)!apps!testapp>main.o libroot.so : $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld : : : bin/testapp ; KernelLd tls_test : libglue2.o <$(SOURCE_GRIST)!apps>tls_test.o libroot.so : $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld : : : bin/tls_test ; KernelLd pipe_test : libglue2.o <$(SOURCE_GRIST)!apps>pipe_test.o libroot.so : $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld : : : bin/pipe_test ; 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 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 ;