1SubDir HAIKU_TOP src system libroot ; 2 3UsePrivateHeaders libroot runtime_loader ; 4UsePrivateSystemHeaders ; 5 6UnarchiveObjects $(TARGET_GCC_LIBGCC_OBJECTS) : $(TARGET_GCC_LIBGCC) ; 7 # we need to link against libgcc.a objects and make 8 # it available to other applications as in BeOS 9 10local librootObjects = 11 os_main.o 12 os_arch_$(TARGET_ARCH).o 13 14 posix_arch_$(TARGET_ARCH).o 15 posix_crypt.o 16 posix_locale.o 17 posix_main.o 18 posix_pthread.o 19 posix_signal.o 20 posix_stdio.o 21 posix_gnu_arch_$(TARGET_ARCH).o 22 posix_gnu_ctype.o 23 posix_gnu_ext.o 24 posix_gnu_iconv.o 25 posix_gnu_libio.o 26 posix_gnu_locale.o 27 posix_gnu_misc.o 28 posix_gnu_regex.o 29 posix_gnu_stdio.o 30 posix_gnu_stdlib.o 31 posix_gnu_string.o 32 posix_gnu_wcsmbs.o 33 posix_stdlib.o 34 posix_string.o 35 posix_string_arch_$(TARGET_ARCH).o 36 posix_sys.o 37 posix_time.o 38 posix_unistd.o 39 posix_wchar.o 40; 41 42local librootDebugObjects = 43 posix_malloc_debug.o 44; 45 46local librootNoDebugObjects = 47 posix_malloc.o 48; 49 50DONT_LINK_AGAINST_LIBROOT on libroot.so = true ; 51DONT_LINK_AGAINST_LIBROOT on libroot_debug.so = true ; 52 53SetVersionScript libroot.so : libroot_versions ; 54SetVersionScript libroot_debug.so : libroot_versions ; 55 56SharedLibrary libroot.so 57 : 58 libroot_init.c 59 : 60 $(TARGET_GCC_LIBGCC_OBJECTS) 61 $(librootObjects:G=nogrist) 62 $(librootNoDebugObjects:G=nogrist) 63 $(TARGET_STATIC_LIBSUPC++) 64; 65 66# Use the standard libroot.so soname, so when the debug version is pre-loaded 67# it prevents the standard version to be loaded as well. 68HAIKU_SONAME on libroot_debug.so = libroot.so ; 69 70SharedLibrary libroot_debug.so 71 : 72 libroot_init.c 73 : 74 $(TARGET_GCC_LIBGCC_OBJECTS) 75 $(librootObjects:G=nogrist) 76 $(librootDebugObjects:G=nogrist) 77 $(TARGET_STATIC_LIBSUPC++) 78; 79 80 81# Copy libroot.so and update the copy's revision section. We link everything 82# against the original, but the copy will end up on the disk image (this way 83# we avoid unnecessary dependencies). The copy will be located in a subdirectory. 84if $(TARGET_PLATFORM) = haiku { 85 MakeLocate <revisioned>libroot.so 86 : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; 87 CopySetHaikuRevision <revisioned>libroot.so : libroot.so ; 88 89 MakeLocate <revisioned>libroot_debug.so 90 : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; 91 CopySetHaikuRevision <revisioned>libroot_debug.so : libroot_debug.so ; 92} 93 94 95SubInclude HAIKU_TOP src system libroot add-ons ; 96SubInclude HAIKU_TOP src system libroot os ; 97SubInclude HAIKU_TOP src system libroot posix ; 98