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; 40 41local librootDebugObjects = 42 posix_malloc_debug.o 43; 44 45local librootNoDebugObjects = 46 posix_malloc.o 47; 48 49DONT_LINK_AGAINST_LIBROOT on libroot.so = true ; 50DONT_LINK_AGAINST_LIBROOT on libroot_debug.so = true ; 51 52SetVersionScript libroot.so : libroot_versions ; 53SetVersionScript libroot_debug.so : libroot_versions ; 54 55SharedLibrary libroot.so 56 : 57 libroot_init.c 58 : 59 $(TARGET_GCC_LIBGCC_OBJECTS) 60 $(librootObjects:G=nogrist) 61 $(librootNoDebugObjects:G=nogrist) 62 $(TARGET_STATIC_LIBSUPC++) 63; 64 65# Use the standard libroot.so soname, so when the debug version is pre-loaded 66# it prevents the standard version to be loaded as well. 67HAIKU_SONAME on libroot_debug.so = libroot.so ; 68 69SharedLibrary libroot_debug.so 70 : 71 libroot_init.c 72 : 73 $(TARGET_GCC_LIBGCC_OBJECTS) 74 $(librootObjects:G=nogrist) 75 $(librootDebugObjects:G=nogrist) 76 $(TARGET_STATIC_LIBSUPC++) 77; 78 79 80# Copy libroot.so and update the copy's revision section. We link everything 81# against the original, but the copy will end up on the disk image (this way 82# we avoid unnecessary dependencies). The copy will be located in a subdirectory. 83if $(TARGET_PLATFORM) = haiku { 84 MakeLocate <revisioned>libroot.so 85 : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; 86 CopySetHaikuRevision <revisioned>libroot.so : libroot.so ; 87 88 MakeLocate <revisioned>libroot_debug.so 89 : [ FDirName $(TARGET_DEBUG_$(DEBUG)_LOCATE_TARGET) revisioned ] ; 90 CopySetHaikuRevision <revisioned>libroot_debug.so : libroot_debug.so ; 91} 92 93 94SubInclude HAIKU_TOP src system libroot add-ons ; 95SubInclude HAIKU_TOP src system libroot os ; 96SubInclude HAIKU_TOP src system libroot posix ; 97