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 kernel_util.o libbus.a lib$(OBOS_ARCH).a libdrivers.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 ; 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 kernel_util.o libbus.a lib$(OBOS_ARCH).a libdrivers.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 ; 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_ext.o posix_gnu_libio.o posix_gnu_regex.o posix_gnu_stdio.o posix_gnu_wcsmbs.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 : 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!os!arch!$(OBOS_ARCH)>thread.o # currently only necessary for x86 <$(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!stdlib>env.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>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>strncmp.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 fork_test : libglue2.o <$(SOURCE_GRIST)!apps>fork_test.o libroot.so : $(SUBDIR)/ldscripts/$(OBOS_ARCH)/app.ld : : : beos/bin/fork_test ; #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 ;