Browse Source

All Makefile.in's. Only arm/i386/mips/powerpc/x86_64 are done, the other archs lack proper crt1. The Makefiles in extra/scripts are intended to be linked into each dir, where it is necessary to build locally.

Peter S. Mazinger 18 years ago
parent
commit
a80fc77b65
80 changed files with 3476 additions and 292 deletions
  1. 392 0
      Makefile.in
  2. 0 109
      Makefile.libs
  3. 247 18
      Makerules
  4. 3 2
      Rules.mak
  5. 13 0
      extra/scripts/Makefile.libs.lvl1
  6. 13 0
      extra/scripts/Makefile.libs.lvl2
  7. 13 0
      extra/scripts/Makefile.objs.lvl2
  8. 13 0
      extra/scripts/Makefile.objs.lvl3
  9. 13 0
      extra/scripts/Makefile.objs.lvl4
  10. 45 0
      ldso/Makefile.in
  11. 25 14
      ldso/ldso/Makefile.in
  12. 32 25
      ldso/libdl/Makefile.in
  13. 57 0
      libc/Makefile.in
  14. 72 0
      libc/inet/Makefile.in
  15. 50 0
      libc/inet/rpc/Makefile.in
  16. 36 0
      libc/misc/Makefile.in
  17. 26 0
      libc/misc/assert/Makefile.in
  18. 56 0
      libc/misc/ctype/Makefile.in
  19. 28 0
      libc/misc/dirent/Makefile.in
  20. 25 0
      libc/misc/error/Makefile.in
  21. 27 0
      libc/misc/file/Makefile.in
  22. 24 0
      libc/misc/fnmatch/Makefile.in
  23. 38 0
      libc/misc/ftw/Makefile.in
  24. 30 0
      libc/misc/glob/Makefile.in
  25. 26 0
      libc/misc/gnu/Makefile.in
  26. 41 0
      libc/misc/internals/Makefile.in
  27. 33 0
      libc/misc/intl/Makefile.in
  28. 61 0
      libc/misc/locale/Makefile.in
  29. 26 0
      libc/misc/mntent/Makefile.in
  30. 26 0
      libc/misc/pthread/Makefile.in
  31. 26 0
      libc/misc/regex/Makefile.in
  32. 66 0
      libc/misc/search/Makefile.in
  33. 28 0
      libc/misc/statfs/Makefile.in
  34. 26 0
      libc/misc/syslog/Makefile.in
  35. 62 0
      libc/misc/sysvipc/Makefile.in
  36. 69 0
      libc/misc/time/Makefile.in
  37. 25 0
      libc/misc/ttyent/Makefile.in
  38. 26 0
      libc/misc/utmp/Makefile.in
  39. 49 0
      libc/misc/wchar/Makefile.in
  40. 50 0
      libc/misc/wctype/Makefile.in
  41. 25 0
      libc/misc/wordexp/Makefile.in
  42. 48 0
      libc/pwd_grp/Makefile.in
  43. 36 0
      libc/signal/Makefile.in
  44. 143 0
      libc/stdio/Makefile.in
  45. 122 0
      libc/stdlib/Makefile.in
  46. 31 0
      libc/stdlib/malloc-simple/Makefile.in
  47. 33 0
      libc/stdlib/malloc-standard/Makefile.in
  48. 42 0
      libc/stdlib/malloc/Makefile.in
  49. 95 0
      libc/string/Makefile.in
  50. 28 0
      libc/string/arm/Makefile.in
  51. 28 0
      libc/string/frv/Makefile.in
  52. 34 0
      libc/string/generic/Makefile.in
  53. 36 0
      libc/string/i386/Makefile.in
  54. 27 0
      libc/string/mips/Makefile.in
  55. 34 0
      libc/string/powerpc/Makefile.in
  56. 28 0
      libc/string/sh64/Makefile.in
  57. 28 0
      libc/string/sparc/Makefile.in
  58. 28 0
      libc/string/x86_64/Makefile.in
  59. 8 0
      libc/sysdeps/Makefile.in
  60. 10 0
      libc/sysdeps/linux/Makefile.in
  61. 38 0
      libc/sysdeps/linux/arm/Makefile.in
  62. 52 0
      libc/sysdeps/linux/common/Makefile.in
  63. 39 0
      libc/sysdeps/linux/i386/Makefile.in
  64. 42 0
      libc/sysdeps/linux/mips/Makefile.in
  65. 38 0
      libc/sysdeps/linux/powerpc/Makefile.in
  66. 38 0
      libc/sysdeps/linux/x86_64/Makefile.in
  67. 41 0
      libc/termios/Makefile.in
  68. 51 0
      libc/unistd/Makefile.in
  69. 22 7
      libcrypt/Makefile.in
  70. 29 11
      libintl/Makefile.in
  71. 61 25
      libm/Makefile.in
  72. 25 0
      libm/powerpc/Makefile.in
  73. 22 7
      libnsl/Makefile.in
  74. 57 0
      libpthread/Makefile.in
  75. 30 29
      libpthread/linuxthreads/Makefile.in
  76. 20 13
      libpthread/linuxthreads/sysdeps/sh64/Makefile.in
  77. 24 9
      libpthread/linuxthreads_db/Makefile.in
  78. 22 7
      libresolv/Makefile.in
  79. 22 7
      librt/Makefile.in
  80. 21 9
      libutil/Makefile.in

+ 392 - 0
Makefile.in

@@ -0,0 +1,392 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+#--------------------------------------------------------------
+# You shouldn't need to mess with anything beyond this point...
+#--------------------------------------------------------------
+noconfig_targets := menuconfig config oldconfig randconfig \
+	defconfig allyesconfig allnoconfig clean distclean \
+	release tags
+
+TOPDIR=./
+
+top_srcdir=$(TOPDIR)
+top_builddir=./
+include $(top_builddir)Rules.mak
+
+# need to have libc.so built, before we can build the others
+ifeq ($(HAVE_SHARED),y)
+PRE_DIRS = ldso libc
+DIRS = ldso libcrypt libresolv libnsl libutil librt
+else
+PRE_DIRS = libc
+DIRS = libcrypt libresolv libnsl libutil librt
+endif
+ifeq ($(UCLIBC_HAS_FLOATS),y)
+	DIRS += libm
+endif
+ifeq ($(UCLIBC_HAS_THREADS),y)
+	DIRS += libpthread
+endif
+ifeq ($(UCLIBC_HAS_GETTEXT_AWARENESS),y)
+	DIRS += libintl
+endif
+
+ifeq ($(HAVE_DOT_CONFIG),y)
+
+all: finished
+
+# In this section, we need .config
+-include .config.cmd
+
+finished: subdirs
+	$(SECHO)
+	$(SECHO) Finally finished compiling ...
+	$(SECHO)
+
+include/bits/uClibc_config.h: .config
+	@if [ ! -x $(top_builddir)extra/config/conf ] ; then \
+	    $(MAKE) -C $(top_builddir)extra/config conf; \
+	fi
+	$(RM) -r $(top_builddir)include/bits
+	$(INSTALL) -d $(top_builddir)include/bits
+	@$(top_builddir)extra/config/conf -o $(top_srcdir)extra/Configs/Config.in
+
+# For the moment, we have to keep re-running this target 
+# because the fix includes scripts rely on pre-processers 
+# in order to generate the headers correctly :(.  That 
+# means we can't use the $(HOSTCC) in order to get the 
+# correct output.
+ifeq ($(ARCH_HAS_MMU),y)
+export header_extra_args = 
+else
+export header_extra_args = -n
+endif
+headers: $(top_srcdir)include/bits/uClibc_config.h
+	@$(SHELL_SET_X); \
+	$(top_srcdir)extra/scripts/fix_includes.sh \
+		-k $(KERNEL_SOURCE) -t $(TARGET_ARCH) \
+		$(header_extra_args)
+	@cd $(top_builddir)include/bits; \
+	set -e; \
+	for i in `ls ../../libc/sysdeps/linux/common/bits/*.h` ; do \
+		$(LN) -fs $$i .; \
+	done; \
+	if [ -d ../../libc/sysdeps/linux/$(TARGET_ARCH)/bits ] ; then \
+		for i in `ls ../../libc/sysdeps/linux/$(TARGET_ARCH)/bits/*.h` ; do \
+			$(LN) -fs $$i .; \
+		done; \
+	fi
+	@cd $(top_builddir)include/sys; \
+	set -e; \
+	for i in `ls ../../libc/sysdeps/linux/common/sys/*.h` ; do \
+		$(LN) -fs $$i .; \
+	done; \
+	if [ -d ../../libc/sysdeps/linux/$(TARGET_ARCH)/sys ] ; then \
+		for i in `ls ../../libc/sysdeps/linux/$(TARGET_ARCH)/sys/*.h` ; do \
+			$(LN) -fs $$i .; \
+		done; \
+	fi
+	@cd $(top_builddir); \
+	set -e; \
+	$(SHELL_SET_X); \
+	TOPDIR=. CC="$(CC)" /bin/sh extra/scripts/gen_bits_syscall_h.sh > include/bits/sysnum.h.new; \
+	if cmp include/bits/sysnum.h include/bits/sysnum.h.new >/dev/null 2>&1; then \
+		$(RM) include/bits/sysnum.h.new; \
+	else \
+		$(RM) include/bits/sysnum.h; \
+		mv -f include/bits/sysnum.h.new include/bits/sysnum.h; \
+	fi
+ifeq ($(UCLIBC_HAS_THREADS),y)
+	$(MAKE) -C libpthread threads_headers
+endif
+	$(MAKE) -C libc/sysdeps/linux/common common_headers
+	$(MAKE) -C libc/sysdeps/linux/$(TARGET_ARCH) arch_headers
+
+# Command used to download source code
+WGET:=wget --passive-ftp
+
+LOCALE_DATA_FILENAME:=uClibc-locale-030818.tgz
+
+pregen: headers
+ifeq ($(UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA),y)
+	(cd $(top_builddir)extra/locale; \
+	if [ ! -f $(LOCALE_DATA_FILENAME) ] ; then \
+	$(WGET) http://www.uclibc.org/downloads/$(LOCALE_DATA_FILENAME) ; \
+	fi )
+endif
+ifeq ($(UCLIBC_PREGENERATED_LOCALE_DATA),y)
+	(cd $(top_builddir)extra/locale; zcat $(LOCALE_DATA_FILENAME) | tar -xvf -)
+	$(MAKE) -C $(top_srcdir)extra/locale pregen
+endif
+
+pre_subdirs: $(patsubst %, _pre_dir_%, $(PRE_DIRS))
+$(patsubst %, _pre_dir_%, $(PRE_DIRS)): pregen
+	$(MAKE) -C $(patsubst _pre_dir_%, %, $@)
+
+subdirs: $(patsubst %, _dir_%, $(DIRS))
+$(patsubst %, _dir_%, $(DIRS)): pre_subdirs
+	$(MAKE) -C $(patsubst _dir_%, %, $@)
+
+install: install_runtime install_dev finished2
+
+
+RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)lib $(RUNTIME_PREFIX)lib)
+
+# Installs header files.
+install_headers:
+	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
+	if [ "$(KERNEL_SOURCE)" == "$(DEVEL_PREFIX)" ] ; then \
+		extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
+	else \
+		extra_exclude="" ; \
+	fi ; \
+	tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
+		| tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/ssp-internal.h
+ifneq ($(UCLIBC_HAS_FLOATS),y)
+	# Remove floating point related headers since float support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/complex.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/fpu_control.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/ieee754.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/math.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/tgmath.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/bits/uClibc_fpmax.h
+endif
+ifneq ($(UCLIBC_HAS_WCHAR),y)
+	# Remove wide char headers since wide char support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/wctype.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/wchar.h
+endif
+ifneq ($(UCLIBC_HAS_LOCALE),y)
+	# Remove iconv header since locale support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/iconv.h
+endif
+ifneq ($(UCLIBC_HAS_GLIBC_CUSTOM_PRINTF),y)
+	# Remove printf header since custom print specifier support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/printf.h
+endif
+ifneq ($(UCLIBC_HAS_XLOCALE),y)
+	# Remove xlocale header since extended locale support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/xlocale.h
+endif
+ifneq ($(UCLIBC_HAS_GETTEXT_AWARENESS),y)
+	# Remove libintl header since gettext support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/libintl.h
+endif
+ifneq ($(UCLIBC_HAS_REGEX),y)
+	# Remove regex headers since regex support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/regex.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/regexp.h
+endif
+ifneq ($(UCLIBC_HAS_WORDEXP),y)
+	# Remove wordexp header since wordexp support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/wordexp.h
+endif
+ifneq ($(UCLIBC_HAS_FTW),y)
+	# Remove ftw header since ftw support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/ftw.h
+endif
+ifneq ($(UCLIBC_HAS_GLOB),y)
+	# Remove glob header since glob support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/glob.h
+endif
+ifneq ($(UCLIBC_HAS_GNU_GETOPT),y)
+	# Remove getopt header since gnu getopt support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/getopt.h
+endif
+ifneq ($(HAS_SHADOW),y)
+	# Remove shadow header since shadow password support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/shadow.h
+endif
+ifneq ($(PTHREADS_DEBUG_SUPPORT),y)
+	# Remove thread_db header since thread debug support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/thread_db.h
+endif
+ifneq ($(UCLIBC_HAS_THREADS),y)
+	# Remove pthread headers since thread support is disabled.
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/*thread*.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/semaphore.h
+	$(RM) $(PREFIX)$(DEVEL_PREFIX)include/bits/*thread*.h
+endif
+	-@for i in `find  $(PREFIX)$(DEVEL_PREFIX) -type d` ; do \
+	    chmod 755 $$i; chmod 644 $$i/*.h > /dev/null 2>&1; \
+	done
+	-find $(PREFIX)$(DEVEL_PREFIX) -name .svn | xargs $(RM) -r
+	-chown -R `id | sed 's/^uid=\([0-9]*\).*gid=\([0-9]*\).*$$/\1:\2/'` $(PREFIX)$(DEVEL_PREFIX)
+
+# Installs development library links.
+install_dev: install_headers
+	$(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
+	-$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
+ifeq ($(HAVE_SHARED),y)
+	for i in `find lib/ -type l -name 'lib[a-zA-Z]*.so' | \
+	sed -e 's/lib\///'` ; do \
+		$(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)$$i.$(MAJOR_VERSION) \
+		$(PREFIX)$(DEVEL_PREFIX)lib/$$i; \
+	done
+	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
+		$(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+		sed -e '/^GROUP/d' $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+	fi
+ifeq ($(COMPAT_ATEXIT),y)
+	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
+		echo "GROUP ( $(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME) $(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) )" \
+			>> $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+	fi
+else
+	if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \
+		echo "GROUP ( $(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) $(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME) )" \
+			>> $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \
+	fi
+endif
+ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
+	$(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \
+		$(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so
+endif
+#	# If we build shared libraries then the static libs are PIC...
+#	# Make _pic.a symlinks to make mklibs.py and similar tools happy.
+	if [ -d lib ] ; then \
+		for i in `find lib/  -type f -name 'lib*.a' | sed -e 's/lib\///'` ; do \
+			$(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)lib/`echo $$i \
+				| sed -e 's/\.a$$/_pic.a/'`; \
+		done ; \
+	fi
+endif
+
+# Installs run-time libraries
+install_runtime:
+ifeq ($(HAVE_SHARED),y)
+	$(INSTALL) -d $(PREFIX)$(RUNTIME_PREFIX)lib
+	$(INSTALL) -m 644 lib/lib*-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
+		$(PREFIX)$(RUNTIME_PREFIX)lib
+	cp -dRf lib/*.so.* $(PREFIX)$(RUNTIME_PREFIX)lib
+	@if [ -x lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so ] ; then \
+	    set -e; \
+		$(SHELL_SET_X); \
+	    $(INSTALL) -m 755 lib/ld-uClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so \
+	    		$(PREFIX)$(RUNTIME_PREFIX)lib; \
+	fi
+endif
+
+utils:
+	$(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils
+
+# Installs helper applications, such as 'ldd' and 'ldconfig'
+install_utils: utils
+	$(MAKE) CROSS="$(CROSS)" CC="$(CC)" -C utils install
+
+finished2:
+	$(SECHO)
+	$(SECHO) Finished installing ...
+	$(SECHO)
+
+else # ifeq ($(HAVE_DOT_CONFIG),y)
+
+all: menuconfig
+
+# configuration
+# ---------------------------------------------------------------------------
+extra/config/conf:
+	$(MAKE) -C extra/config conf
+
+extra/config/mconf:
+	$(MAKE) -C extra/config ncurses mconf
+
+menuconfig: extra/config/mconf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/mconf extra/Configs/Config.in
+	$(MAKE) headers
+
+config: extra/config/conf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/conf extra/Configs/Config.in
+
+oldconfig: extra/config/conf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/conf -o extra/Configs/Config.in
+
+randconfig: extra/config/conf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/conf -r extra/Configs/Config.in
+
+allyesconfig: extra/config/conf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/conf -y extra/Configs/Config.in
+	sed -i -e "s/^DODEBUG=.*/# DODEBUG is not set/" .config
+	sed -i -e "s/^DOASSERTS=.*/# DOASSERTS is not set/" .config
+	sed -i -e "s/^SUPPORT_LD_DEBUG_EARLY=.*/# SUPPORT_LD_DEBUG_EARLY is not set/" .config
+	sed -i -e "s/^SUPPORT_LD_DEBUG=.*/# SUPPORT_LD_DEBUG is not set/" .config
+	sed -i -e "s/^UCLIBC_MJN3_ONLY=.*/# UCLIBC_MJN3_ONLY is not set/" .config
+	@./extra/config/conf -o extra/Configs/Config.in
+
+allnoconfig: extra/config/conf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/conf -n extra/Configs/Config.in
+
+defconfig: extra/config/conf
+	$(RM) -r include/bits
+	$(INSTALL) -d include/bits
+	@./extra/config/conf -d extra/Configs/Config.in
+
+clean:
+	@$(RM) -r lib include/bits
+	$(RM) lib*/*.a ldso/*/*.a
+	$(RM) libc/misc/locale/locale_data.c
+	$(RM) libc/misc/internals/interp.c
+	$(RM) include/fpu_control.h
+	$(MAKE) -C extra/locale clean
+	$(MAKE) -C ldso ldso_headers_clean
+	$(MAKE) -C libpthread threads_headers_clean
+	$(MAKE) -C test clean
+	$(MAKE) -C utils clean
+	@set -e; \
+	for i in `(cd $(top_builddir)libc/sysdeps/linux/common/sys; ls *.h)` ; do \
+		$(RM) include/sys/$$i; \
+	done; \
+	if [ -d libc/sysdeps/linux/$(TARGET_ARCH)/sys ] ; then \
+		for i in `(cd libc/sysdeps/linux/$(TARGET_ARCH)/sys; ls *.h)` ; do \
+			$(RM) include/sys/$$i; \
+		done; \
+	fi
+	@$(RM) include/linux include/asm*
+	@if [ -d libc/sysdeps/linux/$(TARGET_ARCH) ]; then		\
+	    $(MAKE) -C libc/sysdeps/linux/$(TARGET_ARCH) clean;		\
+	fi
+	-find . \( -name \*.o -o -name \*.os -o -name \*.oS \) -exec $(RM) {} \;
+
+distclean: clean
+	-find . \( -name core -o -name \*.orig -o -name \*~ -o -name .\#\* \) -exec $(RM) {} \;
+	$(RM) .config .config.old .config.cmd
+	$(RM) extra/locale/*.txt
+	$(MAKE) -C extra clean
+
+release: distclean
+	cd ..;					\
+	$(RM) -r uClibc-$(VERSION);		\
+	cp -dRf uClibc uClibc-$(VERSION);	\
+	find uClibc-$(VERSION)/ -type f		\
+	    -name .\#* -exec $(RM) -r {} \; ;	\
+	find uClibc-$(VERSION)/ -type d		\
+	    -name .svn -exec $(RM) -r {} \; ;	\
+						\
+	tar -cvzf uClibc-$(VERSION).tar.gz uClibc-$(VERSION)/
+
+endif # ifeq ($(HAVE_DOT_CONFIG),y)
+
+include $(top_srcdir)Makerules
+
+check:
+	$(MAKE) -C test
+
+.PHONY: dummy subdirs release distclean clean config oldconfig menuconfig utils

+ 0 - 109
Makefile.libs

@@ -1,109 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2002-2003 Erik Andersen <andersen@uclibc.org>
-#
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
-#
-
-#LIB_NAME:=libsome
-
-ifneq ($(strip $(LIB_NAME)),)
-
-ifeq ($(strip $(srcdir)),)
-srcdir=$(top_srcdir)$(LIB_NAME)
-endif
-ifeq ($(strip $($(LIB_NAME)_DIR)),)
-$(LIB_NAME)_DIR:=$(top_builddir)$(LIB_NAME)
-endif
-ifeq ($(strip $($(LIB_NAME)_FULL_NAME)),)
-$(LIB_NAME)_FULL_NAME:=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
-endif
-
-ifeq ($(strip $($(LIB_NAME)_SRC)),)
-ifeq ($(strip $($(LIB_NAME)_MSRC)),)
-$(LIB_NAME)_SRC:=$(wildcard $(srcdir)/*.c)
-endif
-endif
-ifeq ($(strip $($(LIB_NAME)_OBJ)),)
-$(LIB_NAME)_OBJ:=$(patsubst $(srcdir)/%.c,$($(LIB_NAME)_DIR)/%.o,$($(LIB_NAME)_SRC))
-endif
-$(LIB_NAME)_OBJ_PIC:=$(patsubst %.o,%.os,$($(LIB_NAME)_OBJ))
-
-$(LIB_NAME)_MOBJ_PIC:=$(patsubst %.o,%.os,$($(LIB_NAME)_MOBJ))
-
-$(LIB_NAME)_SOBJ_PIC:=$(patsubst %.o,%.os,$($(LIB_NAME)_SOBJ))
-
-#libso-y+=$(top_builddir)lib/$(LIB_NAME).so
-#liba-y+=$(top_builddir)lib/$(LIB_NAME).a
-#libclean-y+=$(LIB_NAME)_clean
-
-$($(LIB_NAME)_OBJ): %.o : %.c
-	$(compile.c)
-
-$($(LIB_NAME)_OBJ_PIC): %.os : %.c
-	$(compile.c) $(PICFLAG)
-
-$($(LIB_NAME)_MOBJ): $($(LIB_NAME)_MSRC)
-	$(compile.m)
-
-$($(LIB_NAME)_MOBJ_PIC): $($(LIB_NAME)_MSRC)
-	$(compile.m) $(PICFLAG)
-
-$($(LIB_NAME)_SOBJ): %.o : %.S
-	$(compile.S)
-
-$($(LIB_NAME)_SOBJ_PIC): %.os : %.S
-	$(compile.S) $(PICFLAG)
-
-# this should be changed to .os after libc/misc/internals/ is done
-libc:=$(top_builddir)lib/libc.so
-interp:=$(top_builddir)libc/misc/internals/interp.o
-ifeq ($(strip $(EXTRA_LINK_LIBS)),)
-#EXTRA_LINK_LIBS:=$(interp) -L$(top_builddir)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC)
-EXTRA_LINK_LIBS:=$(interp) $(libc) $(LDADD_LIBFLOAT) $(LIBGCC)
-endif
-
-$(top_builddir)lib/$(LIB_NAME).so: $($(LIB_NAME)_DIR)/$(LIB_NAME)_pic.a $(interp) $(libc)
-	$(INSTALL) -d $(top_builddir)lib
-	$(RM) $@ $@.$(MAJOR_VERSION) $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME)
-	$(LD) $(LDFLAGS) $(EXTRA_LINK_OPTS) -soname=$(notdir $@).$(MAJOR_VERSION) \
-		-o $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME) $(SHARED_START_FILES) \
-		--whole-archive $(firstword $^) --no-whole-archive \
-		$(EXTRA_LINK_LIBS) $(SHARED_END_FILES)
-	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@.$(MAJOR_VERSION)
-	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@
-
-$(top_builddir)lib/$(LIB_NAME).so1: $($(LIB_NAME)_OBJ_PIC) $($(LIB_NAME)_MOBJ_PIC) $($(LIB_NAME)_SOBJ_PIC) $($(LIB_NAME)_SO_ADD)
-	$(INSTALL) -d $(top_builddir)lib
-	$(RM) $@ $@.$(MAJOR_VERSION) $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME)
-	$(LD) $(LDFLAGS) $(EXTRA_LINK_OPTS) -soname=$(notdir $@).$(MAJOR_VERSION) \
-		-o $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME) $(SHARED_START_FILES) $^ \
-		$(EXTRA_LINK_LIBS) $(SHARED_END_FILES)
-	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@.$(MAJOR_VERSION)
-	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@
-
-$($(LIB_NAME)_DIR)/$(LIB_NAME)_pic.a: $($(LIB_NAME)_OBJ_PIC) $($(LIB_NAME)_MOBJ_PIC) $($(LIB_NAME)_SOBJ_PIC) $($(LIB_NAME)_SO_ADD)
-ifneq ($(strip $(STRIP_FLAGS)),)
-	$(STRIPTOOL) $(STRIP_FLAGS) $^
-else
-	$(STRIPTOOL) -x -R .note -R .comment $^
-endif
-	$(AR) $(ARFLAGS) $@ $^
-
-ifeq ($(DOPIC),y)
-$(top_builddir)lib/$(LIB_NAME).a: $($(LIB_NAME)_DIR)/$(LIB_NAME)_pic.a
-	$(RM) $@
-	cp $< $@
-else
-$(top_builddir)lib/$(LIB_NAME).a: $($(LIB_NAME)_OBJ) $($(LIB_NAME)_MOBJ) $($(LIB_NAME)_SOBJ) $($(LIB_NAME)_A_ADD)
-	$(RM) $@
-	$(STRIPTOOL) -x -R .note -R .comment $^
-	$(AR) $(ARFLAGS) $@ $^
-endif
-
-$(LIB_NAME)_clean:
-	rm -f $($(LIB_NAME)_DIR)/*.{o,os,a}
-
-endif
-
-include $(top_srcdir)Makerules

+ 247 - 18
Makerules

@@ -1,34 +1,263 @@
 #
 # Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
 #
-.SUFFIXES: .c .S .o .os .so .a .s .i
 
-ifndef top_srcdir
-top_srcdir=$(CURDIR)
-endif
+.SUFFIXES: .c .S .o .os .oS .so .a .s .i
 
-ifndef top_builddir
-top_builddir=$(CURDIR)
+ifeq ($(DOPIC),y)
+lib-a-y: $(lib-a-pic-y)
+else
+lib-a-y: $(lib-a-y)
 endif
+lib-so-y: $(lib-so-y)
 
-top_srcdir:=$(shell echo "$(top_srcdir)/" | sed -e 's://:/:')
-top_builddir:=$(shell echo "$(top_builddir)/" | sed -e 's://:/:')
-
+# order is important, the stripping uses STRIP_FLAGS for lib-so, but not for lib-a
 ifeq ($(HAVE_SHARED),y)
 .LIBPATTERNS: "lib%.so"
-libs: libso-y liba-y
+libs: lib-so-y lib-a-y
 else
 .LIBPATTERNS: "lib%.a"
-libs: liba-y
+libs: lib-a-y
 endif
 
-libso-y: $(libso-y)
-liba-y: $(liba-y)
-libclean-y: $(libclean-y)
+crt-y: $(crt-y)
+other-y: $(other-y)
+objclean-y: $(objclean-y)
+
+lib-multi-y: $(lib-multi-y)
+ifeq ($(DOPIC),y)
+lib-nomulti-y: $(lib-nomulti-y:.o=.os)
+else
+lib-nomulti-y: $(lib-nomulti-y) $(lib-nomulti-y:.o=.os)
+endif
 
-compile.c=$(CC) -c $< -o $@ $(CPPFLAGS) $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$@) $(CFLAGS-$<)
-compile.S=$(compile.c) $(S_CPPFLAGS) $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$@) $(ASFLAGS-$<)
+libc-nonshared-y: $(libc-nonshared-y)
+
+$(top_builddir)lib/$(NONSHARED_LIBNAME): $(libc-nonshared-y)
+	$(INSTALL) -d $(top_builddir)lib
+	$(AR) $(ARFLAGS) $@ $^
+
+compile.c=$(CC) -c $< -o $@ $(CPPFLAGS) $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(notdir $@)) $(CFLAGS-$(notdir $<))
+compile.S=$(compile.c) $(S_CPPFLAGS) $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $@)) $(ASFLAGS-$(notdir $<))
 compile.m=$(compile.c) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@))
 
-.PHONY: clean
-clean: libclean-y
+#compile.i=$(compile.m) -E
+
+compile-m=$(CC) $^ -c -o $@ $(CPPFLAGS) $(CFLAGS) $(ARCH_CFLAGS) $(CFLAGS-$(suffix $@)) $(CFLAGS-$(notdir $@)) $(CFLAGS-$(notdir $<)) $(S_CPPFLAGS) $(ASFLAGS) $(ARCH_ASFLAGS) $(ASFLAGS-$(suffix $@)) $(ASFLAGS-$(notdir $@)) $(ASFLAGS-$(notdir $<)) $(CFLAGS-multi-y)
+
+CFLAGS-.os+=$(PICFLAG)
+
+%.o: %.c
+	$(compile.c)
+
+%.os: %.c
+	$(compile.c)
+
+%.oS: %.c
+	$(compile.c) -DSHARED
+
+%.o: %.S
+	$(compile.S)
+
+%.os: %.S
+	$(compile.S)
+
+#ifeq ($(HAVE_ELF),y)
+CRT=crt1
+#else
+#CRT=crt0.o
+#endif
+
+CRTS=$(top_builddir)lib/$(CRT).o $(top_builddir)lib/S$(CRT).o
+
+$(top_builddir)lib/$(CRT).o: $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/$(CRT).S
+	$(INSTALL) -d $(dir $@)
+	$(compile.S) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@))
+	$(STRIPTOOL) -x -R .note -R .comment $@
+
+$(top_builddir)lib/S$(CRT).o: $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/$(CRT).S
+	$(INSTALL) -d $(dir $@)
+	$(compile.S) $(PIEFLAG) -DL_$(patsubst %$(suffix $(notdir $@)),%,$(notdir $@))
+	$(STRIPTOOL) -x -R .note -R .comment $@
+
+CTOR_TARGETS=$(top_builddir)lib/crti.o $(top_builddir)lib/crtn.o
+
+ifeq ($(UCLIBC_CTOR_DTOR),y)
+$(top_builddir)lib/crti.o: $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/crti.S
+	$(INSTALL) -d $(dir $@)
+	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
+
+$(top_builddir)lib/crtn.o: $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/crtn.S
+	$(INSTALL) -d $(dir $@)
+	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
+else
+$(CTOR_TARGETS):
+	$(INSTALL) -d $(top_builddir)lib
+	$(AR) $(ARFLAGS) $@
+endif
+
+$(crt-y): $(CRTS) $(CTOR_TARGETS)
+
+.PHONY: clean headers dummy create
+clean: objclean-y headers_clean-y
+headers: $(headers-y)
+
+headers_clean-y: $(headers_clean-y)
+
+ifneq ($(strip $(LIB_NAME)),)
+
+ifeq ($(strip $($(LIB_NAME)_FULL_NAME)),)
+$(LIB_NAME)_FULL_NAME:=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+endif
+
+ifeq ($(DOPIC),y)
+$(LIB_NAME)-a-y: $($(LIB_NAME)-a-pic-y)
+else
+$(LIB_NAME)-a-y: $($(LIB_NAME)-a-y)
+endif
+$(LIB_NAME)-so-y: $($(LIB_NAME)-so-y)
+
+ifeq ($(HAVE_SHARED),y)
+objs: $(LIB_NAME)-a-y $(LIB_NAME)-so-y
+else
+objs: $(LIB_NAME)-a-y
+endif
+
+$($(LIB_NAME)_OUT)/$(LIB_NAME).o $($(LIB_NAME)_OUT)/$(LIB_NAME).os: $($(LIB_NAME)-multi-y)
+	$(compile-m)
+
+libc=$(top_builddir)lib/libc.so
+interp=$(top_builddir)libc/misc/internals/interp.os
+ifeq ($(strip $(EXTRA_LINK_LIBS)),)
+#EXTRA_LINK_LIBS:=$(interp) -L$(top_builddir)lib -lc $(LDADD_LIBFLOAT) $(LIBGCC)
+EXTRA_LINK_LIBS:=$(interp) $(libc) $(LDADD_LIBFLOAT) $(LIBGCC)
+endif
+
+ifneq ($(strip $(LIB_NAME)),libc)
+ifneq ($(strip $(LIB_NAME)),ld-uClibc)
+$(top_builddir)lib/$(LIB_NAME).so: $($(LIB_NAME)_OUT)/$(LIB_NAME)_so.a $(interp) $(libc)
+else
+$(top_builddir)lib/$(LIB_NAME).so: $($(LIB_NAME)_OUT)/$(LIB_NAME)_so.a
+endif
+else
+$(top_builddir)lib/$(LIB_NAME).so: $($(LIB_NAME)_OUT)/$(LIB_NAME)_so.a $(interp)
+endif
+	$(INSTALL) -d $(dir $@)
+	$(RM) $@ $@.$(MAJOR_VERSION) $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME)
+	$(LD) $(LDFLAGS) $(EXTRA_LINK_OPTS) -soname=$(notdir $@).$(MAJOR_VERSION) \
+		-o $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME) $(SHARED_START_FILES) \
+		--whole-archive $(firstword $^) --no-whole-archive \
+		$(EXTRA_LINK_LIBS) $(SHARED_END_FILES)
+	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@.$(MAJOR_VERSION)
+ifneq ($(strip $(LIB_NAME)),libc)
+ifneq ($(strip $(LIB_NAME)),ld-uClibc)
+	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@
+endif
+else
+	echo "/* GNU ld script" > $@
+	echo " * Use the shared library, but some functions are only in" >> $@
+	echo " * the static library, so try that secondarily. */" >> $@
+ifeq ($(COMPAT_ATEXIT),y)
+	echo "GROUP ( $(top_builddir)lib/$(NONSHARED_LIBNAME) $(top_builddir)lib/$(SHARED_MAJORNAME) )" >> $@
+else
+	echo "GROUP ( $(top_builddir)lib/$(SHARED_MAJORNAME) $(top_builddir)lib/$(NONSHARED_LIBNAME) )" >> $@
+endif
+endif
+
+$(top_builddir)lib/$(LIB_NAME).so.notused: $($(LIB_NAME)-so-y)
+ifneq ($(strip $(STRIP_FLAGS)),)
+	$(STRIPTOOL) $(STRIP_FLAGS) $^
+else
+	$(STRIPTOOL) -x -R .note -R .comment $^
+endif
+	$(INSTALL) -d $(dir $@)
+	$(RM) $@ $@.$(MAJOR_VERSION) $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME)
+	$(LD) $(LDFLAGS) $(EXTRA_LINK_OPTS) -soname=$(notdir $@).$(MAJOR_VERSION) \
+		-o $(top_builddir)lib/$($(LIB_NAME)_FULL_NAME) $(SHARED_START_FILES) $^ \
+		$(EXTRA_LINK_LIBS) $(SHARED_END_FILES)
+	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@.$(MAJOR_VERSION)
+ifneq ($(strip $(LIB_NAME)),libc)
+	$(LN) -sf $($(LIB_NAME)_FULL_NAME) $@
+else
+	echo "/* GNU ld script" > $@
+	echo " * Use the shared library, but some functions are only in" >> $@
+	echo " * the static library, so try that secondarily. */" >> $@
+ifeq ($(COMPAT_ATEXIT),y)
+	echo "GROUP ( $(top_builddir)lib/$(NONSHARED_LIBNAME) $(top_builddir)lib/$(SHARED_MAJORNAME) )" >> $@
+else
+	echo "GROUP ( $(top_builddir)lib/$(SHARED_MAJORNAME) $(top_builddir)lib/$(NONSHARED_LIBNAME) )" >> $@
+endif
+endif
+
+ifeq ($(DOMULTI),y)
+
+$($(LIB_NAME)_OUT)/$(LIB_NAME)_so.a: $($(LIB_NAME)_OUT)/$(LIB_NAME).os $($(LIB_NAME)-nomulti-y:.o=.os)
+	$(RM) $@
+ifneq ($(strip $(STRIP_FLAGS)),)
+	$(STRIPTOOL) $(STRIP_FLAGS) $^
+else
+	$(STRIPTOOL) -x -R .note -R .comment $^
+endif
+	$(AR) $(ARFLAGS) $@ $^
+
+ifeq ($(DOPIC),y)
+$(top_builddir)lib/$(LIB_NAME).a: $($(LIB_NAME)_OUT)/$(LIB_NAME).os $($(LIB_NAME)-nomulti-y:.o=.os)
+else
+$(top_builddir)lib/$(LIB_NAME).a: $($(LIB_NAME)_OUT)/$(LIB_NAME).o $($(LIB_NAME)-nomulti-y)
+endif
+	$(INSTALL) -d $(dir $@)
+	$(RM) $@
+	$(STRIPTOOL) -x -R .note -R .comment $^
+	$(AR) $(ARFLAGS) $@ $^
+
+else # DOMULTI
+
+$($(LIB_NAME)_OUT)/$(LIB_NAME)_so.a: $($(LIB_NAME)-so-y)
+	$(RM) $@
+ifneq ($(strip $(STRIP_FLAGS)),)
+	$(STRIPTOOL) $(STRIP_FLAGS) $^
+else
+	$(STRIPTOOL) -x -R .note -R .comment $^
+endif
+	$(AR) $(ARFLAGS) $@ $^
+
+ifeq ($(DOPIC),y)
+$(top_builddir)lib/$(LIB_NAME).a: $($(LIB_NAME)-a-pic-y)
+else
+$(top_builddir)lib/$(LIB_NAME).a: $($(LIB_NAME)-a-y)
+endif
+	$(INSTALL) -d $(dir $@)
+	$(RM) $@
+	$(STRIPTOOL) -x -R .note -R .comment $^
+	$(AR) $(ARFLAGS) $@ $^
+
+endif # DOMULTI
+
+$(LIB_NAME)_clean:
+	rm -f $($(LIB_NAME)_OUT)/*.{o,os,a}
+
+else # LIB_NAME
+
+ifeq ($(DOPIC),y)
+libc-a-y: $(libc-a-pic-y)
+libc-nomulti-y: $(libc-nomulti-y:.o=.os)
+else
+libc-a-y: $(libc-a-y)
+libc-nomulti-y: $(libc-nomulti-y) $(libc-nomulti-y:.o=.os)
+endif
+libc-so-y: $(libc-so-y)
+
+libc-multi-y: $(libc-multi-y)
+	$(compile-m)
+
+ifeq ($(HAVE_SHARED),y)
+objs: libc-a-y libc-so-y crt-y other-y
+else
+objs: libc-a-y crt-y other-y
+endif
+
+# only for local multi testing
+libc.o libc.os: $(libc-multi-y)
+	$(compile-m)
+
+endif # LIB_NAME

+ 3 - 2
Rules.mak

@@ -340,9 +340,10 @@ endif
 else
 # psm: the next 2 are probably incorrect, the generic header will
 # win over the arch specific one
-PTINC := -I$(PTDIR)/sysdeps/pthread				\
-         -I$(PTDIR)/sysdeps/$(TARGET_ARCH)
+PTINC := -I$(PTDIR)/sysdeps/$(TARGET_ARCH)			\
+         -I$(PTDIR)/sysdeps/pthread
 endif
+CFLAGS+=$(PTINC)
 endif
 
 ifeq ($(UCLIBC_BUILD_RELRO),y)

+ 13 - 0
extra/scripts/Makefile.libs.lvl1

@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+#
+
+TOPDIR=../
+
+top_srcdir=$(TOPDIR)
+top_builddir=../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules

+ 13 - 0
extra/scripts/Makefile.libs.lvl2

@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+#
+
+TOPDIR=../../
+
+top_srcdir=$(TOPDIR)
+top_builddir=../../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules

+ 13 - 0
extra/scripts/Makefile.objs.lvl2

@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+#
+
+TOPDIR=../../
+
+top_srcdir=$(TOPDIR)
+top_builddir=../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules

+ 13 - 0
extra/scripts/Makefile.objs.lvl3

@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+#
+
+TOPDIR=../../../
+
+top_srcdir=$(TOPDIR)
+top_builddir=../../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules

+ 13 - 0
extra/scripts/Makefile.objs.lvl4

@@ -0,0 +1,13 @@
+# Makefile for uClibc
+#
+# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+#
+
+TOPDIR=../../../../
+
+top_srcdir=$(TOPDIR)
+top_builddir=../../../../
+all: objs
+include $(top_builddir)Rules.mak
+include Makefile.in
+include $(top_srcdir)Makerules

+ 45 - 0
ldso/Makefile.in

@@ -0,0 +1,45 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+DIRS=$(shell if test -f $(top_builddir)lib/libc.so ; then echo "ldso libdl" ; else echo "ldso" ; fi)
+
+libs: subdirs
+
+LN_HEADERS      := $(patsubst %, include/%, elf.h)
+LN_ARCH_HEADERS := $(patsubst %, include/%, dl-startup.h dl-syscalls.h dl-sysdep.h dl-debug.h)
+HEADERS         := $(LN_HEADERS) $(LN_ARCH_HEADERS) include/dl-progname.h
+
+headers-y+=ldso_headers
+
+ldso_headers: $(HEADERS)
+
+$(LN_HEADERS):
+	$(LN) -sf $(top_builddir)../$@ $@
+
+$(LN_ARCH_HEADERS):
+	$(LN) -sf ../ldso/$(TARGET_ARCH)/$(patsubst include/%,%,$@) $@
+
+include/dl-progname.h:
+	echo '#include "$(TARGET_ARCH)/elfinterp.c"' > $@
+
+headers_clean-y+=ldso_headers_clean
+
+ldso_headers_clean:
+	$(RM) $(HEADERS)
+
+clean: subdirs_clean ldso_headers_clean
+
+subdirs: $(patsubst %, _dir_%, $(DIRS))
+subdirs_clean: $(patsubst %, _dirclean_%, $(DIRS))
+
+$(patsubst %, _dir_%, $(DIRS)): ldso_headers
+	$(MAKE) -C $(patsubst _dir_%, %, $@)
+
+$(patsubst %, _dirclean_%, $(DIRS)): dummy
+	$(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
+
+.PHONY: dummy

+ 25 - 14
ldso/ldso/Makefile.in

@@ -1,13 +1,13 @@
 # Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
-
-LIB_NAME:=ld-uClibc
 
 # psm: I do not know if the order of includes is relevant
 # to be sure I have put them first
-CFLAGS:=-I$(top_srcdir)ldso/include -I. $(CFLAGS) $(PICFLAG) $(SSP_DISABLE_FLAGS)
+CFLAGS:=-I$(top_builddir)ldso/include -I. $(CFLAGS) $(PICFLAG) $(SSP_DISABLE_FLAGS)
 
 CFLAGS+=-DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\"
 
@@ -39,21 +39,32 @@ ifeq ($(SUPPORT_LD_DEBUG),y)
 LDFLAGS:=$(LDFLAGS_NOSTRIP)
 endif
 
-srcdir=$(top_srcdir)ldso/ldso
-$(LIB_NAME)_DIR:=$(top_builddir)ldso/ldso
+# useless, only 1 source file
+DOMULTI=n
+
+LIB_NAME:=ld-uClibc
 
-$(LIB_NAME)_SRC:=$(srcdir)/ldso.c
+ld-uClibc_DIR:=$(top_srcdir)ldso/ldso
+ld-uClibc_OUT:=$(top_builddir)ldso/ldso
 
-$(LIB_NAME)_SSRC:=$(wildcard $(srcdir)/$(TARGET_ARCH)/*.S)
-$(LIB_NAME)_SOBJ:=$(patsubst $(srcdir)/$(TARGET_ARCH)/%.S,$($(LIB_NAME)_DIR)/$(TARGET_ARCH)/%.o,$($(LIB_NAME)_SSRC))
+ld-uClibc_SRC:=$(ld-uClibc_DIR)/ldso.c
+ld-uClibc_OBJ:=$(patsubst $(ld-uClibc_DIR)/%.c,$(ld-uClibc_OUT)/%.o,$(ld-uClibc_SRC))
+
+ld-uClibc_SSRC:=$(wildcard $(ld-uClibc_DIR)/$(TARGET_ARCH)/*.S)
+ld-uClibc_SOBJ:=$(patsubst $(ld-uClibc_DIR)/$(TARGET_ARCH)/%.S,$(ld-uClibc_OUT)/$(TARGET_ARCH)/%.o,$(ld-uClibc_SSRC))
+
+ld-uClibc_OBJS:=$(ld-uClibc_OBJ) $(ld-uClibc_SOBJ)
 
 EXTRA_LINK_OPTS:=-e _start -z now -Bsymbolic --export-dynamic --sort-common --discard-locals --discard-all --no-undefined
 EXTRA_LINK_LIBS:=$(LIBGCC) # $(LDADD_LIBFLOAT)
 
-libso-$(HAVE_SHARED)+=$(top_builddir)lib/$(LIB_NAME).so
-libclean-y+=$(LIB_NAME)_clean $(LIB_NAME)_arch_clean
+ld-uClibc-so-$(HAVE_SHARED):=$(ld-uClibc_OBJS:.o=.os)
+
+#ld-uClibc-multi-$(HAVE_SHARED):=$(ld-uClibc_SRC)
+
+objclean-y+=ld-uClibc_clean ld-uClibc_arch_clean
 
-$(LIB_NAME)_arch_clean:
-	$(RM) $($(LIB_NAME)_DIR)/*/*.{o,os}
+ld-uClibc_arch_clean:
+	$(RM) $(ld-uClibc_OUT)/*/*.{o,os}
 
-include $(top_srcdir)Makefile.libs
+lib-so-$(HAVE_SHARED)+=$(top_builddir)lib/ld-uClibc.so

+ 32 - 25
ldso/libdl/Makefile.in

@@ -1,12 +1,13 @@
 # Makefile.in for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
-
-LIB_NAME:=libdl
 
 # psm: I do not know if the order of includes is relevant
-# to be sure I added them first
+# to be sure I added them first, Jocke please cleanup if needed
 CFLAGS:=-I$(top_builddir)ldso/include -I$(top_builddir)ldso/ldso $(CFLAGS) $(SSP_ALL_CFLAGS)
 
 CFLAGS+=-DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\"
@@ -20,33 +21,39 @@ ifeq ($(TARGET_ARCH),mips)
 CFLAGS:=$(CFLAGS:-O0=-O1)
 endif
 
-CFLAGS-.os=-DSHARED
-# we adapt CFLAGS, because libdl.a has an additional object
-ifeq ($(DOPIC),y)
-CFLAGS-.o=$(PICFLAG)
-resolv:=$(top_builddir)ldso/ldso/$(TARGET_ARCH)/resolve.os
-else
-resolv:=$(top_builddir)ldso/ldso/$(TARGET_ARCH)/resolve.o
-endif
+# useless, only 1 source file
+DOMULTI=n
+
+LIB_NAME:=libdl
 
 EXTRA_LINK_OPTS:=-fini dl_cleanup
+# keep in sync w/ Makerules
+EXTRA_LINK_LIBS:=$(top_builddir)libc/misc/internals/interp.os $(top_builddir)lib/libc.so $(LIBGCC) $(top_builddir)lib/$(UCLIBC_LDSO)
+
+libdl_DIR:=$(top_srcdir)ldso/libdl
+libdl_OUT:=$(top_builddir)ldso/libdl
+
+libdl_SRC:=$(libdl_DIR)/libdl.c
+libdl_OBJ:=$(patsubst $(libdl_DIR)/%.c,$(libdl_OUT)/%.o,$(libdl_SRC))
 
-# we need for all cases a "full" libdl.a the pic version used to build libdl.so misses $(resolv)
-# because it is linked against ld.so
-DOPIC=n
+# use other suffixes, so that it does not pick up the multi rule from Makerules
+$(libdl_OUT)/libdl.oS: $(libdl_DIR)/libdl.c
+	$(compile.c) -DSHARED
 
-srcdir=$(top_srcdir)ldso/$(LIB_NAME)
-$(LIB_NAME)_DIR:=$(top_builddir)ldso/$(LIB_NAME)
+resolve:=$(top_builddir)ldso/ldso/$(TARGET_ARCH)/resolve.o
 
-$(LIB_NAME)_SRC:=$(srcdir)/libdl.c
+libdl-a-$(HAVE_SHARED):=$(libdl_OBJ) $(resolve)
+libdl-a-pic-$(HAVE_SHARED):=$(libdl_OBJ:.o=.os) $(resolve:.o=.os)
+libdl-so-$(HAVE_SHARED):=$(libdl_OBJ:.o=.oS)
 
-$(LIB_NAME)_A_ADD:=$(resolv)
+# we enable this although no use of multi, else libdl.o gets empty sources
+libdl-multi-$(HAVE_SHARED):=$(libdl_SRC)
 
-libso-$(HAVE_SHARED)+=$(top_builddir)lib/$(LIB_NAME).so
-liba-$(HAVE_SHARED)+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+objclean-y+=libdl_clean libdl_extra_clean
 
-include $(top_srcdir)Makefile.libs
+libdl_extra_clean:
+	$(RM) $(libdl_OUT)/*.oS
 
-# !!! these lines have to come after including Makefile.libs !!!
-EXTRA_LINK_LIBS+=$(top_builddir)lib/$(UCLIBC_LDSO)
+lib-a-$(HAVE_SHARED)+=$(top_builddir)lib/libdl.a
+lib-a-pic-$(HAVE_SHARED)+=$(top_builddir)lib/libdl.a
+lib-so-$(HAVE_SHARED)+=$(top_builddir)lib/libdl.so

+ 57 - 0
libc/Makefile.in

@@ -0,0 +1,57 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+DOMULTI=n
+
+# we have SHARED_MAJORNAME=libc.so.$(MAJOR_VERSION) defined in Rules.mak
+LIB_NAME:=libc
+
+libc_DIR:=$(top_srcdir)libc
+libc_OUT:=$(top_builddir)libc
+
+libc_FULL_NAME:=libuClibc-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+
+#DIRS:=misc pwd_grp stdio string termios inet signal stdlib sysdeps unistd
+
+# this comes first, so duplicate removal works correctly
+include $(libc_DIR)/sysdeps/Makefile.in
+
+include $(libc_DIR)/misc/Makefile.in
+include $(libc_DIR)/pwd_grp/Makefile.in
+include $(libc_DIR)/stdio/Makefile.in
+include $(libc_DIR)/string/Makefile.in
+include $(libc_DIR)/termios/Makefile.in
+include $(libc_DIR)/inet/Makefile.in
+include $(libc_DIR)/signal/Makefile.in
+include $(libc_DIR)/stdlib/Makefile.in
+include $(libc_DIR)/unistd/Makefile.in
+
+# Check if the target architecture has a version script for
+# libc, and if so, include it when linking.
+VERSION_SCRIPT:=${shell if [ -f $(libc_DIR)/sysdeps/linux/$(TARGET_ARCH)/libc.map ] ; then \
+        echo "--version-script $(libc_DIR)/sysdeps/linux/$(TARGET_ARCH)/libc.map"; fi}
+
+EXTRA_LINK_OPTS:=$(VERSION_SCRIPT) -init __uClibc_init
+EXTRA_LINK_LIBS:=$(libc_OUT)/misc/internals/interp.os $(top_builddir)lib/$(UCLIBC_LDSO) $(LIBGCC) # $(LDADD_LIBFLOAT)
+
+ifeq ($(DOPIC),y)
+libc-a-y: $(libc-a-pic-y)
+else
+libc-a-y: $(libc-a-y)
+endif
+
+libc-so-y: $(libc-so-y)
+
+crt-y: $(crt-y)
+other-y: $(other-y)
+
+objclean-y+=libc_clean
+
+lib-a-y+=$(top_builddir)lib/libc.a
+lib-a-pic-y+=$(top_builddir)lib/libc.a
+lib-so-y+=$(top_builddir)lib/libc.so $(top_builddir)lib/$(NONSHARED_LIBNAME) crt-y

+ 72 - 0
libc/inet/Makefile.in

@@ -0,0 +1,72 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+include $(top_srcdir)libc/inet/rpc/Makefile.in
+
+CSRC:=	getservice.c getproto.c hostid.c getnetent.c getnetbynm.c getnetbyad.c \
+	inet_net.c ntop.c herror.c if_nametoindex.c gai_strerror.c getaddrinfo.c \
+	in6_addr.c ether_addr.c ntohl.c
+
+MSRC1:=	addr.c
+MOBJ1:=	inet_aton.o inet_addr.o inet_ntoa.o inet_makeaddr.o inet_lnaof.o \
+	inet_netof.o
+
+MSRC2:=	resolv.c
+MOBJ2:=	encodeh.o decodeh.o encoded.o decoded.o lengthd.o encodeq.o \
+	decodeq.o lengthq.o encodea.o decodea.o encodep.o decodep.o \
+	formquery.o dnslookup.o resolveaddress.o opennameservers.o \
+	closenameservers.o resolvename.o gethostbyname.o res_init.o \
+	res_query.o gethostbyaddr.o read_etc_hosts_r.o get_hosts_byname_r.o \
+	get_hosts_byaddr_r.o gethostbyname2.o getnameinfo.o gethostent.o \
+	gethostbyname_r.o gethostbyname2_r.o gethostbyaddr_r.o \
+	res_comp.o ns_name.o
+
+MSRC3:=	socketcalls.c
+MOBJ3:=	accept.o bind.o connect.o getpeername.o getsockname.o getsockopt.o \
+	listen.o recv.o recvfrom.o recvmsg.o send.o sendmsg.o sendto.o \
+	setsockopt.o shutdown.o socket.o socketpair.o 
+
+INET_DIR:=$(top_srcdir)libc/inet
+INET_OUT:=$(top_builddir)libc/inet
+
+INET_SRC:=$(patsubst %.c,$(INET_DIR)/%.c,$(CSRC))
+INET_OBJ:=$(patsubst %.c,$(INET_OUT)/%.o,$(CSRC))
+
+INET_MSRC1:=$(INET_DIR)/$(MSRC1)
+INET_MSRC2:=$(INET_DIR)/$(MSRC2)
+INET_MSRC3:=$(INET_DIR)/$(MSRC3)
+INET_MOBJ1:=$(patsubst %.o,$(INET_OUT)/%.o,$(MOBJ1))
+INET_MOBJ2:=$(patsubst %.o,$(INET_OUT)/%.o,$(MOBJ2))
+INET_MOBJ3:=$(patsubst %.o,$(INET_OUT)/%.o,$(MOBJ3))
+
+INET_MSRC:=$(INET_MSRC1) $(INET_MSRC2) $(INET_MSRC3)
+INET_MOBJ:=$(INET_MOBJ1) $(INET_MOBJ2) $(INET_MOBJ3)
+INET_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(INET_MOBJ))))
+
+INET_OBJS:=$(INET_OBJ) $(INET_MOBJ)
+
+$(INET_MOBJ1) $(INET_MOBJ1:.o=.os): $(INET_MSRC1)
+	$(compile.m)
+
+$(INET_MOBJ2) $(INET_MOBJ2:.o=.os): $(INET_MSRC2)
+	$(compile.m)
+
+$(INET_MOBJ3) $(INET_MOBJ3:.o=.os): $(INET_MSRC3)
+	$(compile.m)
+
+libc-a-y+=$(INET_OBJS)
+libc-a-pic-y+=$(INET_OBJS:.o=.os)
+libc-so-y+=$(INET_OBJS:.o=.os)
+
+CFLAGS-multi-y+=$(INET_DEF)
+libc-multi-y+=$(INET_SRC) $(INET_MSRC)
+
+objclean-y+=inet_objclean
+
+inet_objclean:
+	$(RM) $(INET_OUT)/*.{o,os}

+ 50 - 0
libc/inet/rpc/Makefile.in

@@ -0,0 +1,50 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+ifeq ($(UCLIBC_HAS_FULL_RPC),y)
+CSRC:=	auth_none.c auth_unix.c authunix_prot.c bindresvport.c \
+	clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c clnt_tcp.c \
+	clnt_udp.c rpc_dtablesize.c get_myaddress.c getrpcent.c getrpcport.c \
+	pmap_clnt.c pmap_getmaps.c pmap_getport.c pmap_prot.c \
+	pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c rpc_callmsg.c \
+	svc.c svc_auth.c svc_auth_unix.c svc_raw.c svc_run.c svc_simple.c \
+	svc_tcp.c svc_udp.c xdr.c xdr_array.c xdr_float.c xdr_mem.c \
+	xdr_rec.c xdr_reference.c xdr_stdio.c \
+	rtime.c clnt_unix.c svc_unix.c create_xid.c xdr_intXX_t.c rcmd.c \
+	rexec.c sa_len.c ruserpass.c rpc_thread.c
+else
+# For now, only compile the stuff needed to do an NFS mount....
+CSRC:=	create_xid.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \
+	pmap_prot.c pmap_prot2.c clnt_simple.c clnt_perror.c \
+	clnt_tcp.c clnt_udp.c bindresvport.c authunix_prot.c \
+	auth_none.c auth_unix.c xdr.c xdr_array.c xdr_rec.c \
+	xdr_reference.c xdr_mem.c svc.c svc_auth.c svc_auth_unix.c \
+	rpc_callmsg.c rpc_prot.c rpc_dtablesize.c rpc_commondata.c \
+	rpc_thread.c rcmd.c rexec.c sa_len.c ruserpass.c rtime.c \
+	getrpcent.c
+endif
+
+INET_RPC_DIR:=$(top_srcdir)libc/inet/rpc
+INET_RPC_OUT:=$(top_builddir)libc/inet/rpc
+
+INET_RPC_NO_MULTI:=rpc_commondata.c rpc_thread.c svc.c
+
+INET_RPC_SRC:=$(patsubst %.c,$(INET_RPC_DIR)/%.c,$(CSRC))
+INET_RPC_OBJ:=$(patsubst %.c,$(INET_RPC_OUT)/%.o,$(CSRC))
+
+libc-a-$(UCLIBC_HAS_RPC)+=$(INET_RPC_OBJ)
+libc-a-pic-$(UCLIBC_HAS_RPC)+=$(INET_RPC_OBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_RPC)+=$(INET_RPC_OBJ:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_RPC)+=$(filter-out $(patsubst %.c,$(INET_RPC_DIR)/%.c,$(INET_RPC_NO_MULTI)),$(INET_RPC_SRC))
+libc-nomulti-$(UCLIBC_HAS_RPC)+=$(patsubst %.c,$(INET_RPC_OUT)/%.o,$(INET_RPC_NO_MULTI))
+
+objclean-y+=inet_rpc_objclean
+
+inet_rpc_objclean:
+	$(RM) $(INET_RPC_OUT)/*.{o,os}

+ 36 - 0
libc/misc/Makefile.in

@@ -0,0 +1,36 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+#DIRS:=assert ctype dirent error file fnmatch ftw glob gnu internals intl locale mntent \
+#	pthread regex search statfs syslog sysvipc time ttyent utmp wchar wctype wordexp
+
+include $(top_srcdir)libc/misc/assert/Makefile.in
+include $(top_srcdir)libc/misc/ctype/Makefile.in
+include $(top_srcdir)libc/misc/dirent/Makefile.in
+include $(top_srcdir)libc/misc/error/Makefile.in
+include $(top_srcdir)libc/misc/file/Makefile.in
+include $(top_srcdir)libc/misc/fnmatch/Makefile.in
+include $(top_srcdir)libc/misc/ftw/Makefile.in
+include $(top_srcdir)libc/misc/glob/Makefile.in
+include $(top_srcdir)libc/misc/gnu/Makefile.in
+include $(top_srcdir)libc/misc/internals/Makefile.in
+include $(top_srcdir)libc/misc/intl/Makefile.in
+include $(top_srcdir)libc/misc/locale/Makefile.in
+include $(top_srcdir)libc/misc/mntent/Makefile.in
+include $(top_srcdir)libc/misc/pthread/Makefile.in
+include $(top_srcdir)libc/misc/regex/Makefile.in
+include $(top_srcdir)libc/misc/search/Makefile.in
+include $(top_srcdir)libc/misc/statfs/Makefile.in
+include $(top_srcdir)libc/misc/syslog/Makefile.in
+include $(top_srcdir)libc/misc/sysvipc/Makefile.in
+include $(top_srcdir)libc/misc/time/Makefile.in
+include $(top_srcdir)libc/misc/ttyent/Makefile.in
+include $(top_srcdir)libc/misc/utmp/Makefile.in
+include $(top_srcdir)libc/misc/wchar/Makefile.in
+include $(top_srcdir)libc/misc/wctype/Makefile.in
+include $(top_srcdir)libc/misc/wordexp/Makefile.in

+ 26 - 0
libc/misc/assert/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=__assert.c
+
+MISC_ASSERT_DIR:=$(top_srcdir)libc/misc/assert
+MISC_ASSERT_OUT:=$(top_builddir)libc/misc/assert
+
+MISC_ASSERT_SRC:=$(MISC_ASSERT_DIR)/__assert.c
+MISC_ASSERT_OBJ:=$(MISC_ASSERT_OUT)/__assert.o
+
+libc-a-y+=$(MISC_ASSERT_OBJ)
+libc-a-pic-y+=$(MISC_ASSERT_OBJ:.o=.os)
+libc-so-y+=$(MISC_ASSERT_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_ASSERT_SRC)
+
+objclean-y+=misc_assert_objclean
+
+misc_assert_objclean:
+	$(RM) $(MISC_ASSERT_OUT)/*.{o,os}

+ 56 - 0
libc/misc/ctype/Makefile.in

@@ -0,0 +1,56 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=ctype.c
+MOBJ:=	isalnum.o isalpha.o isascii.o iscntrl.o isdigit.o \
+	isgraph.o islower.o isprint.o ispunct.o isspace.o \
+	isupper.o isxdigit.o toascii.o tolower.o toupper.o \
+	isblank.o isxlower.o isxupper.o
+
+ifeq ($(UCLIBC_HAS_CTYPE_TABLES),y)
+MOBJ+=	__C_ctype_b.o __C_ctype_tolower.o __C_ctype_toupper.o \
+	__ctype_b_loc.o __ctype_tolower_loc.o __ctype_toupper_loc.o \
+	__ctype_assert.o isctype.o
+endif
+
+MOBJx=	isalnum_l.o isalpha_l.o isascii_l.o iscntrl_l.o isdigit_l.o \
+	isgraph_l.o islower_l.o isprint_l.o ispunct_l.o isspace_l.o \
+	isupper_l.o isxdigit_l.o toascii_l.o tolower_l.o toupper_l.o \
+	isblank_l.o # isxlower_l.o isxupper_l.o
+
+MISC_CTYPE_DIR:=$(top_srcdir)libc/misc/ctype
+MISC_CTYPE_OUT:=$(top_builddir)libc/misc/ctype
+
+MISC_CTYPE_MSRC:=$(MISC_CTYPE_DIR)/$(MSRC)
+MISC_CTYPE_MOBJ:=$(patsubst %.o,$(MISC_CTYPE_OUT)/%.o,$(MOBJ))
+MISC_CTYPE_MOBJx=$(patsubst %.o,$(MISC_CTYPE_OUT)/%.o,$(MOBJx))
+
+# adapt this if MOBJx is done for multi
+MISC_CTYPE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_CTYPE_MOBJ))))
+
+$(MISC_CTYPE_MOBJ) $(MISC_CTYPE_MOBJ:.o=.os): $(MISC_CTYPE_MSRC)
+	$(compile.m)
+
+$(MISC_CTYPE_MOBJx) $(MISC_CTYPE_MOBJx:.o=.os): $(MISC_CTYPE_MSRC)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+libc-a-y+=$(MISC_CTYPE_MOBJ)
+libc-a-$(UCLIBC_HAS_XLOCALE)+=$(MISC_CTYPE_MOBJx)
+libc-a-pic-y+=$(MISC_CTYPE_MOBJ:.o=.os)
+libc-a-pic-$(UCLIBC_HAS_XLOCALE)+=$(MISC_CTYPE_MOBJx:.o=.os)
+libc-so-y+=$(MISC_CTYPE_MOBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_XLOCALE)+=$(MISC_CTYPE_MOBJx:.o=.os)
+
+CFLAGS-multi-y+=$(MISC_CTYPE_DEF)
+libc-multi-y+=$(MISC_CTYPE_MSRC)
+libc-nomulti-$(UCLIBC_HAS_XLOCALE)+=$(MISC_CTYPE_MOBJx)
+
+objclean-y+=misc_ctype_objclean
+
+misc_ctype_objclean:
+	$(RM) $(MISC_CTYPE_OUT)/*.{o,os}

+ 28 - 0
libc/misc/dirent/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2001 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=	alphasort.c closedir.c dirfd.c opendir.c readdir.c rewinddir.c scandir.c \
+	seekdir.c telldir.c readdir64.c alphasort64.c scandir64.c readdir_r.c \
+	readdir64_r.c
+
+MISC_DIRENT_DIR:=$(top_srcdir)libc/misc/dirent
+MISC_DIRENT_OUT:=$(top_builddir)libc/misc/dirent
+
+MISC_DIRENT_SRC:=$(patsubst %.c,$(MISC_DIRENT_DIR)/%.c,$(CSRC))
+MISC_DIRENT_OBJ:=$(patsubst %.c,$(MISC_DIRENT_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(MISC_DIRENT_OBJ)
+libc-a-pic-y+=$(MISC_DIRENT_OBJ:.o=.os)
+libc-so-y+=$(MISC_DIRENT_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_DIRENT_SRC)
+
+objclean-y+=misc_dirent_objclean
+
+misc_dirent_objclean:
+	$(RM) $(MISC_DIRENT_OUT)/*.{o,os}

+ 25 - 0
libc/misc/error/Makefile.in

@@ -0,0 +1,25 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=error.c err.c
+
+MISC_ERROR_DIR:=$(top_srcdir)libc/misc/error
+MISC_ERROR_OUT:=$(top_builddir)libc/misc/error
+
+MISC_ERROR_SRC:=$(patsubst %.c,$(MISC_ERROR_DIR)/%.c,$(CSRC))
+MISC_ERROR_OBJ:=$(patsubst %.c,$(MISC_ERROR_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(MISC_ERROR_OBJ)
+libc-a-pic-y+=$(MISC_ERROR_OBJ:.o=.os)
+libc-so-y+=$(MISC_ERROR_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_ERROR_SRC)
+
+objclean-y+=misc_error_objclean
+
+misc_error_objclean:
+	$(RM) $(MISC_ERROR_OUT)/*.{o,os}

+ 27 - 0
libc/misc/file/Makefile.in

@@ -0,0 +1,27 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MISC_FILE_DIR:=$(top_srcdir)libc/misc/file
+MISC_FILE_OUT:=$(top_builddir)libc/misc/file
+
+MISC_FILE_SRC:=$(wildcard $(MISC_FILE_DIR)/*.c)
+ifneq ($(UCLIBC_HAS_LFS),y)
+MISC_FILE_SRC:=$(filter-out $(MISC_FILE_DIR)/lockf64.c,$(MISC_FILE_SRC))
+endif
+MISC_FILE_OBJ:=$(patsubst $(MISC_FILE_DIR)/%.c,$(MISC_FILE_OUT)/%.o,$(MISC_FILE_SRC))
+
+libc-a-y+=$(MISC_FILE_OBJ)
+libc-a-pic-y+=$(MISC_FILE_OBJ:.o=.os)
+libc-so-y+=$(MISC_FILE_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_FILE_SRC)
+
+objclean-y+=misc_file_objclean
+
+misc_file_objclean:
+	$(RM) $(MISC_FILE_OUT)/*.{o,os}

+ 24 - 0
libc/misc/fnmatch/Makefile.in

@@ -0,0 +1,24 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MISC_FNMATCH_DIR:=$(top_srcdir)libc/misc/fnmatch
+MISC_FNMATCH_OUT:=$(top_builddir)libc/misc/fnmatch
+
+MISC_FNMATCH_SRC:=$(MISC_FNMATCH_DIR)/fnmatch.c
+MISC_FNMATCH_OBJ:=$(MISC_FNMATCH_OUT)/fnmatch.o
+
+libc-a-y+=$(MISC_FNMATCH_OBJ)
+libc-a-pic-y+=$(MISC_FNMATCH_OBJ:.o=.os)
+libc-so-y+=$(MISC_FNMATCH_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_FNMATCH_SRC)
+
+objclean-y+=misc_fnmatch_objclean
+
+misc_fnmatch_objclean:
+	$(RM) $(MISC_FNMATCH_OUT)/*.{o,os}

+ 38 - 0
libc/misc/ftw/Makefile.in

@@ -0,0 +1,38 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=ftw.c
+MOBJ:=ftw.o ftw64.o
+
+MISC_FTW_DIR:=$(top_srcdir)libc/misc/ftw
+MISC_FTW_OUT:=$(top_builddir)libc/misc/ftw
+
+# ftw.c has to be rewritten to allow multi
+MISC_FTW_NO_MULTI:=ftw64.o
+MOBJ:=$(filter-out $(MISC_FTW_NO_MULTI),$(MOBJ))
+
+MISC_FTW_MSRC:=$(MISC_FTW_DIR)/$(MSRC)
+MISC_FTW_MOBJ:=$(patsubst %.o,$(MISC_FTW_OUT)/%.o,$(MOBJ))
+MISC_FTW_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_FTW_MOBJ))))
+
+MISC_FTW_OBJS:=$(MISC_FTW_MOBJ) $(MISC_FTW_OUT)/$(MISC_FTW_NO_MULTI)
+
+$(MISC_FTW_OBJS) $(MISC_FTW_OBJS:.o=.os): $(MISC_FTW_MSRC)
+	$(compile.m)
+
+libc-a-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_OBJS)
+libc-a-pic-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_OBJS:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_DEF)
+libc-multi-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_MSRC)
+libc-nomulti-$(UCLIBC_HAS_FTW)+=$(MISC_FTW_OUT)/$(MISC_FTW_NO_MULTI)
+
+objclean-y+=misc_ftw_objclean
+
+misc_ftw_objclean:
+	$(RM) $(MISC_FTW_OUT)/*.{o,os}

+ 30 - 0
libc/misc/glob/Makefile.in

@@ -0,0 +1,30 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=glob.c glob64.c glob-hooks.c
+
+MISC_GLOB_DIR:=$(top_srcdir)libc/misc/glob
+MISC_GLOB_OUT:=$(top_builddir)libc/misc/glob
+
+MISC_GLOB_SRC:=$(patsubst %.c,$(MISC_GLOB_DIR)/%.c,$(CSRC))
+MISC_GLOB_OBJ:=$(patsubst %.c,$(MISC_GLOB_OUT)/%.o,$(CSRC))
+
+$(MISC_GLOB_OUT)/glob64.o $(MISC_GLOB_OUT)/glob64.os: $(MISC_GLOB_DIR)/glob64.c $(MISC_GLOB_DIR)/glob.c
+
+libc-a-$(UCLIBC_HAS_GLOB)+=$(MISC_GLOB_OBJ)
+libc-a-pic-$(UCLIBC_HAS_GLOB)+=$(MISC_GLOB_OBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_GLOB)+=$(MISC_GLOB_OBJ:.o=.os)
+
+# glob has to be rewritten to allow multi
+#libc-multi-$(UCLIBC_HAS_GLOB)+=$(MISC_GLOB_SRC)
+libc-nomulti-$(UCLIBC_HAS_GLOB)+=$(MISC_GLOB_OBJ)
+
+objclean-y+=misc_glob_objclean
+
+misc_glob_objclean:
+	$(RM) $(MISC_GLOB_OUT)/*.{o,os}

+ 26 - 0
libc/misc/gnu/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=obstack.c
+
+MISC_GNU_DIR:=$(top_srcdir)libc/misc/gnu
+MISC_GNU_OUT:=$(top_builddir)libc/misc/gnu
+
+MISC_GNU_SRC:=$(MISC_GNU_DIR)/obstack.c
+MISC_GNU_OBJ:=$(MISC_GNU_OUT)/obstack.o
+
+libc-a-y+=$(MISC_GNU_OBJ)
+libc-a-pic-y+=$(MISC_GNU_OBJ:.o=.os)
+libc-so-y+=$(MISC_GNU_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_GNU_SRC)
+
+objclean-y+=misc_gnu_objclean
+
+misc_gnu_objclean:
+	$(RM) $(MISC_GNU_OUT)/*.{o,os}

+ 41 - 0
libc/misc/internals/Makefile.in

@@ -0,0 +1,41 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CFLAGS-__uClibc_main.c=$(SSP_DISABLE_FLAGS)
+
+CSRC:=__uClibc_main.c tempname.c errno.c __errno_location.c __h_errno_location.c
+
+MISC_INTERNALS_DIR:=$(top_srcdir)libc/misc/internals
+MISC_INTERNALS_OUT:=$(top_builddir)libc/misc/internals
+
+MISC_INTERNALS_SRC:=$(patsubst %.c,$(MISC_INTERNALS_DIR)/%.c,$(CSRC))
+MISC_INTERNALS_OBJ:=$(patsubst %.c,$(MISC_INTERNALS_OUT)/%.o,$(CSRC))
+
+MISC_INTERNALS_OBJS:=$(MISC_INTERNALS_OBJ) $(MISC_INTERNALS_OUT)/static.o
+
+$(MISC_INTERNALS_OUT)/interp.c: $(MISC_INTERNALS_DIR)/Makefile.in
+	echo "/* Force shared libraries to know about the correct library loader */" > $@
+	echo "#include <features.h>" >> $@
+	echo "#ifdef __HAVE_ELF__" >> $@
+	echo "const char __dl_ldso__[] __attribute__ ((section " \
+		"(\".interp\"))) =\""$(SHARED_LIB_LOADER_PREFIX)/$(UCLIBC_LDSO)"\";" >> $@
+	echo "#endif" >> $@
+
+libc-a-y+=$(MISC_INTERNALS_OBJS)
+libc-a-pic-y+=$(MISC_INTERNALS_OBJS:.o=.os)
+# this is OBJ, not OBJS !!!, static does not go into .so
+libc-so-y+=$(MISC_INTERNALS_OBJ:.o=.os)
+other-y+=$(MISC_INTERNALS_OUT)/interp.os
+
+libc-multi-y+=$(filter-out $(MISC_INTERNALS_DIR)/__uClibc_main.c,$(MISC_INTERNALS_SRC))
+libc-nomulti-y+=$(MISC_INTERNALS_OUT)/__uClibc_main.o
+
+objclean-y+=misc_internals_objclean
+
+misc_internals_objclean:
+	$(RM) $(MISC_INTERNALS_OUT)/{*.{o,os},interp.c}

+ 33 - 0
libc/misc/intl/Makefile.in

@@ -0,0 +1,33 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=intl.c
+MOBJ:=	__uClibc_dgettext.o __uClibc_dcgettext.o \
+	__uClibc_textdomain.o __uClibc_bindtextdomain.o # for libstd++
+
+MISC_INTL_DIR:=$(top_srcdir)libc/misc/intl
+MISC_INTL_OUT:=$(top_builddir)libc/misc/intl
+
+MISC_INTL_MSRC:=$(MISC_INTL_DIR)/$(MSRC)
+MISC_INTL_MOBJ:=$(patsubst %.o,$(MISC_INTL_OUT)/%.o,$(MOBJ))
+MISC_INTL_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_INTL_MOBJ))))
+
+$(MISC_INTL_MOBJ) $(MISC_INTL_MOBJ:.o=.os): $(MISC_INTL_MSRC)
+	$(compile.m)
+
+libc-a-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(MISC_INTL_MOBJ)
+libc-a-pic-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(MISC_INTL_MOBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(MISC_INTL_MOBJ:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(MISC_INTL_DEF)
+libc-multi-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(MISC_INTL_MSRC)
+
+objclean-y+=misc_intl_objclean
+
+misc_intl_objclean:
+	$(RM) $(MISC_INTL_OUT)/*.{o,os}

+ 61 - 0
libc/misc/locale/Makefile.in

@@ -0,0 +1,61 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=locale.c
+MOBJ:=setlocale.o localeconv.o _locale_init.o nl_langinfo.o
+MOBJx=
+
+ifeq ($(UCLIBC_HAS_LOCALE),y)
+MOBJ+=newlocale.o __locale_mbrtowc_l.o
+endif
+
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJx+=nl_langinfo_l.o duplocale.o freelocale.o uselocale.o __curlocale.o
+endif
+
+DATA=
+ifeq ($(UCLIBC_HAS_LOCALE),y)
+DATA:=locale_data.o
+endif
+
+MISC_LOCALE_DIR:=$(top_srcdir)libc/misc/locale
+MISC_LOCALE_OUT:=$(top_builddir)libc/misc/locale
+
+MISC_LOCALE_MSRC:=$(MISC_LOCALE_DIR)/$(MSRC)
+MISC_LOCALE_MOBJ:=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(MOBJ))
+MISC_LOCALE_MOBJx=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(MOBJx))
+MISC_LOCALE_DATA=$(patsubst %.o,$(MISC_LOCALE_OUT)/%.o,$(DATA))
+
+MISC_LOCALE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_LOCALE_MOBJ))))
+
+$(MISC_LOCALE_MOBJ) $(MISC_LOCALE_MOBJ:.o=.os): $(MISC_LOCALE_MSRC)
+	$(compile.m)
+
+$(MISC_LOCALE_MOBJx) $(MISC_LOCALE_MOBJx:.o=.os): $(MISC_LOCALE_MSRC)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+$(MISC_LOCALE_DATA) $(MISC_LOCALE_DATA:.o=.os): $(top_builddir)extra/locale/$(notdir $(MISC_LOCALE_DATA:.o=.c))
+	$(compile.c) -D__WCHAR_ENABLED -I$<
+
+libc-a-y+=$(MISC_LOCALE_MOBJ)
+libc-a-$(UCLIBC_HAS_XLOCALE)+=$(MISC_LOCALE_MOBJx)
+libc-a-pic-y+=$(MISC_LOCALE_MOBJ:.o=.os)
+libc-a-pic-$(UCLIBC_HAS_XLOCALE)+=$(MISC_LOCALE_MOBJx:.o=.os)
+libc-so-y+=$(MISC_LOCALE_MOBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_XLOCALE)+=$(MISC_LOCALE_MOBJx:.o=.os)
+
+#CFLAGS-multi-y+=$(MISC_LOCALE_DEF)
+#libc-multi-y+=$(MISC_LOCALE_MSRC)
+libc-nomulti-y+=$(MISC_LOCALE_MOBJ)
+libc-nomulti-$(UCLIBC_HAS_LOCALE)+=$(MISC_LOCALE_DATA)
+libc-nomulti-$(UCLIBC_HAS_XLOCALE)+=$(MISC_LOCALE_MOBJx)
+
+objclean-y+=misc_locale_objclean
+
+misc_locale_objclean:
+	$(RM) $(MISC_LOCALE_OUT)/{*.{o,os},locale_data.c}

+ 26 - 0
libc/misc/mntent/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=mntent.c
+
+MISC_MNTENT_DIR:=$(top_srcdir)libc/misc/mntent
+MISC_MNTENT_OUT:=$(top_builddir)libc/misc/mntent
+
+MISC_MNTENT_SRC:=$(MISC_MNTENT_DIR)/mntent.c
+MISC_MNTENT_OBJ:=$(MISC_MNTENT_OUT)/mntent.o
+
+libc-a-y+=$(MISC_MNTENT_OBJ)
+libc-a-pic-y+=$(MISC_MNTENT_OBJ:.o=.os)
+libc-so-y+=$(MISC_MNTENT_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_MNTENT_SRC)
+
+objclean-y+=misc_mntent_objclean
+
+misc_mntent_objclean:
+	$(RM) $(MISC_MNTENT_OUT)/*.{o,os}

+ 26 - 0
libc/misc/pthread/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=no-tsd.c weaks.c
+
+MISC_PTHREAD_DIR:=$(top_srcdir)libc/misc/pthread
+MISC_PTHREAD_OUT:=$(top_builddir)libc/misc/pthread
+
+MISC_PTHREAD_SRC:=$(patsubst %.c,$(MISC_PTHREAD_DIR)/%.c,$(CSRC))
+MISC_PTHREAD_OBJ:=$(patsubst %.c,$(MISC_PTHREAD_OUT)/%.o,$(CSRC))
+
+libc-a-$(UCLIBC_HAS_THREADS)+=$(MISC_PTHREAD_OBJ)
+libc-a-pic-$(UCLIBC_HAS_THREADS)+=$(MISC_PTHREAD_OBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_THREADS)+=$(MISC_PTHREAD_OBJ:.o=.os)
+
+#libc-multi-$(UCLIBC_HAS_THREADS)+=$(MISC_PTHREAD_SRC)
+libc-nomulti-$(UCLIBC_HAS_THREADS)+=$(MISC_PTHREAD_OBJ)
+
+objclean-y+=misc_pthread_objclean
+
+misc_pthread_objclean:
+	$(RM) $(MISC_PTHREAD_OUT)/*.{o,os}

+ 26 - 0
libc/misc/regex/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=regex.c
+
+MISC_REGEX_DIR:=$(top_srcdir)libc/misc/regex
+MISC_REGEX_OUT:=$(top_builddir)libc/misc/regex
+
+MISC_REGEX_SRC:=$(patsubst %.c,$(MISC_REGEX_DIR)/%.c,$(CSRC))
+MISC_REGEX_OBJ:=$(patsubst %.c,$(MISC_REGEX_OUT)/%.o,$(CSRC))
+
+libc-a-$(UCLIBC_HAS_REGEX)+=$(MISC_REGEX_OBJ)
+libc-a-pic-$(UCLIBC_HAS_REGEX)+=$(MISC_REGEX_OBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_REGEX)+=$(MISC_REGEX_OBJ:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_REGEX)+=$(MISC_REGEX_SRC)
+
+objclean-y+=misc_regex_objclean
+
+misc_regex_objclean:
+	$(RM) $(MISC_REGEX_OUT)/*.{o,os}

+ 66 - 0
libc/misc/search/Makefile.in

@@ -0,0 +1,66 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC1:=tsearch.c
+MOBJ1:=tsearch.o tfind.o tdelete.o twalk.o tdestroy.o
+
+MSRC2:=lsearch.c
+MOBJ2:=lfind.o lsearch.o
+
+MSRC3:=insremque.c
+MOBJ3:=insque.o remque.o
+
+MSRC4:=hsearch_r.c
+MOBJ4:=hcreate_r.o hdestroy_r.o hsearch_r.o
+
+CSRC:=hsearch.c
+
+MISC_SEARCH_DIR:=$(top_srcdir)libc/misc/search
+MISC_SEARCH_OUT:=$(top_builddir)libc/misc/search
+
+MISC_SEARCH_SRC:=$(patsubst %.c,$(MISC_SEARCH_DIR)/%.c,$(CSRC))
+MISC_SEARCH_OBJ:=$(patsubst %.c,$(MISC_SEARCH_OUT)/%.o,$(CSRC))
+
+MISC_SEARCH_MSRC1:=$(MISC_SEARCH_DIR)/$(MSRC1)
+MISC_SEARCH_MSRC2:=$(MISC_SEARCH_DIR)/$(MSRC2)
+MISC_SEARCH_MSRC3:=$(MISC_SEARCH_DIR)/$(MSRC3)
+MISC_SEARCH_MSRC4:=$(MISC_SEARCH_DIR)/$(MSRC4)
+MISC_SEARCH_MOBJ1:=$(patsubst %.o,$(MISC_SEARCH_OUT)/%.o,$(MOBJ1))
+MISC_SEARCH_MOBJ2:=$(patsubst %.o,$(MISC_SEARCH_OUT)/%.o,$(MOBJ2))
+MISC_SEARCH_MOBJ3:=$(patsubst %.o,$(MISC_SEARCH_OUT)/%.o,$(MOBJ3))
+MISC_SEARCH_MOBJ4:=$(patsubst %.o,$(MISC_SEARCH_OUT)/%.o,$(MOBJ4))
+
+MISC_SEARCH_MSRC:=$(MISC_SEARCH_MSRC1) $(MISC_SEARCH_MSRC2) $(MISC_SEARCH_MSRC3) $(MISC_SEARCH_MSRC4)
+MISC_SEARCH_MOBJ:=$(MISC_SEARCH_MOBJ1) $(MISC_SEARCH_MOBJ2) $(MISC_SEARCH_MOBJ3) $(MISC_SEARCH_MOBJ4)
+MISC_SEARCH_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_SEARCH_MOBJ))))
+
+MISC_SEARCH_OBJS:=$(MISC_SEARCH_OBJ) $(MISC_SEARCH_MOBJ)
+
+$(MISC_SEARCH_MOBJ1) $(MISC_SEARCH_MOBJ1:.o=.os): $(MISC_SEARCH_MSRC1)
+	$(compile.m)
+
+$(MISC_SEARCH_MOBJ2) $(MISC_SEARCH_MOBJ2:.o=.os): $(MISC_SEARCH_MSRC2)
+	$(compile.m)
+
+$(MISC_SEARCH_MOBJ3) $(MISC_SEARCH_MOBJ3:.o=.os): $(MISC_SEARCH_MSRC3)
+	$(compile.m)
+
+$(MISC_SEARCH_MOBJ4) $(MISC_SEARCH_MOBJ4:.o=.os): $(MISC_SEARCH_MSRC4)
+	$(compile.m)
+
+libc-a-y+=$(MISC_SEARCH_OBJS)
+libc-a-pic-y+=$(MISC_SEARCH_OBJS:.o=.os)
+libc-so-y+=$(MISC_SEARCH_OBJS:.o=.os)
+
+CFLAGS-multi-y+=$(MISC_SEARCH_DEF)
+libc-multi-y+=$(MISC_SEARCH_SRC) $(MISC_SEARCH_MSRC)
+
+objclean-y+=misc_search_objclean
+
+misc_search_objclean:
+	$(RM) $(MISC_SEARCH_OUT)/*.{o,os}

+ 28 - 0
libc/misc/statfs/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=statvfs.c fstatvfs.c
+ifeq ($(UCLIBC_HAS_LFS),y)
+CSRC+=fstatfs64.c statfs64.c statvfs64.c fstatvfs64.c
+endif
+
+MISC_STATFS_DIR:=$(top_srcdir)libc/misc/statfs
+MISC_STATFS_OUT:=$(top_builddir)libc/misc/statfs
+
+MISC_STATFS_SRC:=$(patsubst %.c,$(MISC_STATFS_DIR)/%.c,$(CSRC))
+MISC_STATFS_OBJ:=$(patsubst %.c,$(MISC_STATFS_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(MISC_STATFS_OBJ)
+libc-a-pic-y+=$(MISC_STATFS_OBJ:.o=.os)
+libc-so-y+=$(MISC_STATFS_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_STATFS_SRC)
+
+objclean-y+=misc_statfs_objclean
+
+misc_statfs_objclean:
+	$(RM) $(MISC_STATFS_OUT)/*.{o,os}

+ 26 - 0
libc/misc/syslog/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=syslog.c
+
+MISC_SYSLOG_DIR:=$(top_srcdir)libc/misc/syslog
+MISC_SYSLOG_OUT:=$(top_builddir)libc/misc/syslog
+
+MISC_SYSLOG_SRC:=$(patsubst %.c,$(MISC_SYSLOG_DIR)/%.c,$(CSRC))
+MISC_SYSLOG_OBJ:=$(patsubst %.c,$(MISC_SYSLOG_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(MISC_SYSLOG_OBJ)
+libc-a-pic-y+=$(MISC_SYSLOG_OBJ:.o=.os)
+libc-so-y+=$(MISC_SYSLOG_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_SYSLOG_SRC)
+
+objclean-y+=misc_syslog_objclean
+
+misc_syslog_objclean:
+	$(RM) $(MISC_SYSLOG_OUT)/*.{o,os}

+ 62 - 0
libc/misc/sysvipc/Makefile.in

@@ -0,0 +1,62 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC1:=sem.c
+MOBJ1:=semget.o semctl.o semop.o
+
+MSRC2:=shm.c
+MOBJ2:=shmat.o shmctl.o shmdt.o shmget.o
+
+MSRC3:=msgq.c
+MOBJ3:=msgctl.o msgget.o msgrcv.o msgsnd.o
+
+CSRC:=ftok.c 
+
+MISC_SYSVIPC_DIR:=$(top_srcdir)libc/misc/sysvipc
+MISC_SYSVIPC_OUT:=$(top_builddir)libc/misc/sysvipc
+
+MISC_SYSVIPC_SRC:=$(patsubst %.c,$(MISC_SYSVIPC_DIR)/%.c,$(CSRC))
+MISC_SYSVIPC_OBJ:=$(patsubst %.c,$(MISC_SYSVIPC_OUT)/%.o,$(CSRC))
+
+MISC_SYSVIPC_NO_MULTI:=$(MOBJ1) $(MOBJ3)
+
+MISC_SYSVIPC_MSRC1:=$(patsubst %.c,$(MISC_SYSVIPC_DIR)/%.c,$(MSRC1))
+MISC_SYSVIPC_MSRC2:=$(patsubst %.c,$(MISC_SYSVIPC_DIR)/%.c,$(MSRC2))
+MISC_SYSVIPC_MSRC3:=$(patsubst %.c,$(MISC_SYSVIPC_DIR)/%.c,$(MSRC3))
+MISC_SYSVIPC_MOBJ1:=$(patsubst %.o,$(MISC_SYSVIPC_OUT)/%.o,$(MOBJ1))
+MISC_SYSVIPC_MOBJ2:=$(patsubst %.o,$(MISC_SYSVIPC_OUT)/%.o,$(MOBJ2))
+MISC_SYSVIPC_MOBJ3:=$(patsubst %.o,$(MISC_SYSVIPC_OUT)/%.o,$(MOBJ3))
+
+MISC_SYSVIPC_MSRC:=$(MISC_SYSVIPC_MSRC1) $(MISC_SYSVIPC_MSRC2) $(MISC_SYSVIPC_MSRC3)
+MISC_SYSVIPC_MOBJ:=$(MISC_SYSVIPC_MOBJ1) $(MISC_SYSVIPC_MOBJ2) $(MISC_SYSVIPC_MOBJ3)
+# only MSRC2
+MISC_SYSVIPC_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_SYSVIPC_MOBJ2))))
+
+MISC_SYSVIPC_OBJS:=$(MISC_SYSVIPC_OBJ) $(MISC_SYSVIPC_MOBJ)
+
+$(MISC_SYSVIPC_MOBJ1) $(MISC_SYSVIPC_MOBJ1:.o=.os): $(MISC_SYSVIPC_MSRC1)
+	$(compile.m)
+
+$(MISC_SYSVIPC_MOBJ2) $(MISC_SYSVIPC_MOBJ2:.o=.os): $(MISC_SYSVIPC_MSRC2)
+	$(compile.m)
+
+$(MISC_SYSVIPC_MOBJ3) $(MISC_SYSVIPC_MOBJ3:.o=.os): $(MISC_SYSVIPC_MSRC3)
+	$(compile.m)
+
+libc-a-y+=$(MISC_SYSVIPC_OBJS)
+libc-a-pic-y+=$(MISC_SYSVIPC_OBJS:.o=.os)
+libc-so-y+=$(MISC_SYSVIPC_OBJS:.o=.os)
+
+CFLAGS-multi-y+=$(MISC_SYSVIPC_DEF)
+libc-multi-y+=$(MISC_SYSVIPC_SRC) $(MISC_SYSVIPC_MSRC2)
+libc-nomulti-y+=$(MISC_SYSVIPC_MOBJ1) $(MISC_SYSVIPC_MOBJ3)
+
+objclean-y+=misc_sysvipc_objclean
+
+misc_sysvipc_objclean:
+	$(RM) $(MISC_SYSVIPC_OUT)/*.{o,os}

+ 69 - 0
libc/misc/time/Makefile.in

@@ -0,0 +1,69 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=time.c
+MOBJ:=	asctime.o asctime_r.o clock.o ctime.o ctime_r.o gmtime.o gmtime_r.o \
+	localtime.o localtime_r.o mktime.o strftime.o strptime.o tzset.o \
+	_time_t2tm.o __time_tm.o _time_mktime.o dysize.o timegm.o \
+	_time_mktime_tzi.o _time_localtime_tzi.o
+MOBJx=
+
+ifeq ($(UCLIBC_HAS_FLOATS),y)
+MOBJ+=difftime.o 
+endif
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJx+=strftime_l.o strptime_l.o
+endif
+
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+MOBJ+=wcsftime.o
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJx+=wcsftime_l.o
+endif
+endif
+
+CSRC:=adjtime.c ftime.c
+
+MISC_TIME_DIR:=$(top_srcdir)libc/misc/time
+MISC_TIME_OUT:=$(top_builddir)libc/misc/time
+
+MISC_TIME_NO_MULTI:=strftime.o
+
+MISC_TIME_SRC:=$(patsubst %.c,$(MISC_TIME_DIR)/%.c,$(CSRC))
+MISC_TIME_OBJ:=$(patsubst %.c,$(MISC_TIME_OUT)/%.o,$(CSRC))
+
+MISC_TIME_MSRC:=$(patsubst %.c,$(MISC_TIME_DIR)/%.c,$(MSRC))
+MISC_TIME_MOBJ:=$(patsubst %.o,$(MISC_TIME_OUT)/%.o,$(MOBJ))
+MISC_TIME_MOBJx=$(patsubst %.o,$(MISC_TIME_OUT)/%.o,$(MOBJx))
+
+MISC_TIME_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(filter-out $(MISC_TIME_OUT)/$(MISC_TIME_NO_MULTI),$(MISC_TIME_MOBJ)))))
+
+MISC_TIME_OBJS:=$(MISC_TIME_OBJ) $(MISC_TIME_MOBJ)
+
+$(MISC_TIME_MOBJ) $(MISC_TIME_MOBJ:.o=.os): $(MISC_TIME_MSRC)
+	$(compile.m)
+
+$(MISC_TIME_MOBJx) $(MISC_TIME_MOBJx:.o=.os): $(MISC_TIME_MSRC)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+libc-a-y+=$(MISC_TIME_OBJS)
+libc-a-$(UCLIBC_HAS_XLOCALE)+=$(MISC_TIME_MOBJx)
+libc-a-pic-y+=$(MISC_TIME_OBJS:.o=.os)
+libc-a-pic-$(UCLIBC_HAS_XLOCALE)+=$(MISC_TIME_MOBJx:.o=.os)
+libc-so-y+=$(MISC_TIME_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_XLOCALE)+=$(MISC_TIME_MOBJx:.o=.os)
+
+CFLAGS-multi-y+=$(MISC_TIME_DEF)
+libc-multi-y+=$(MISC_TIME_MSRC)
+libc-nomulti-y+=$(MISC_TIME_OUT)/$(MISC_TIME_NO_MULTI)
+libc-nomulti-$(UCLIBC_HAS_XLOCALE)+=$(MISC_TIME_MOBJx)
+
+objclean-y+=misc_time_objclean
+
+misc_time_objclean:
+	$(RM) $(MISC_TIME_OUT)/*.{o,os}

+ 25 - 0
libc/misc/ttyent/Makefile.in

@@ -0,0 +1,25 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=getttyent.c
+
+MISC_TTYENT_DIR:=$(top_srcdir)libc/misc/ttyent
+MISC_TTYENT_OUT:=$(top_builddir)libc/misc/ttyent
+
+MISC_TTYENT_SRC:=$(patsubst %.c,$(MISC_TTYENT_DIR)/%.c,$(CSRC))
+MISC_TTYENT_OBJ:=$(patsubst %.c,$(MISC_TTYENT_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(MISC_TTYENT_OBJ)
+libc-a-pic-y+=$(MISC_TTYENT_OBJ:.o=.os)
+libc-so-y+=$(MISC_TTYENT_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_TTYENT_SRC)
+
+objclean-y+=misc_ttyent_objclean
+
+misc_ttyent_objclean:
+	$(RM) $(MISC_TTYENT_OUT)/*.{o,os}

+ 26 - 0
libc/misc/utmp/Makefile.in

@@ -0,0 +1,26 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=utent.c wtent.c
+
+MISC_UTMP_DIR:=$(top_srcdir)libc/misc/utmp
+MISC_UTMP_OUT:=$(top_builddir)libc/misc/utmp
+
+MISC_UTMP_SRC:=$(patsubst %.c,$(MISC_UTMP_DIR)/%.c,$(CSRC))
+MISC_UTMP_OBJ:=$(patsubst %.c,$(MISC_UTMP_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(MISC_UTMP_OBJ)
+libc-a-pic-y+=$(MISC_UTMP_OBJ:.o=.os)
+libc-so-y+=$(MISC_UTMP_OBJ:.o=.os)
+
+libc-multi-y+=$(MISC_UTMP_SRC)
+
+objclean-y+=misc_utmp_objclean
+
+misc_utmp_objclean:
+	$(RM) $(MISC_UTMP_OUT)/*.{o,os}

+ 49 - 0
libc/misc/wchar/Makefile.in

@@ -0,0 +1,49 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# The stdio and time related wide functions are now built in the normal
+# directories.
+#
+# stdio: 
+#	fwide fgetwc getwchar fgetws fputwc putwchar fputws ungetwc
+#	getwc (fgetwc alias) getwc_unlocked (fgetwc_unlocked alias)
+#	putwc (fputwc alias) putwc_unlocked (fputwc_unlocked alias)
+# time:
+# wcsftime
+#
+
+MSRC:=wchar.c
+MOBJ:=	btowc.o wctob.o mbsinit.o mbrlen.o mbrtowc.o wcrtomb.o mbsrtowcs.o \
+	wcsrtombs.o _wchar_utf8sntowcs.o _wchar_wcsntoutf8s.o \
+	__mbsnrtowcs.o __wcsnrtombs.o wcwidth.o wcswidth.o
+
+ifeq ($(UCLIBC_HAS_LOCALE),y)
+MOBJ+=iconv.o
+endif
+
+MISC_WCHAR_DIR:=$(top_srcdir)libc/misc/wchar
+MISC_WCHAR_OUT:=$(top_builddir)libc/misc/wchar
+
+MISC_WCHAR_MSRC:=$(MISC_WCHAR_DIR)/$(MSRC)
+MISC_WCHAR_MOBJ:=$(patsubst %.o,$(MISC_WCHAR_OUT)/%.o,$(MOBJ))
+MISC_WCHAR_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_WCHAR_MOBJ))))
+
+$(MISC_WCHAR_MOBJ) $(MISC_WCHAR_MOBJ:.o=.os): $(MISC_WCHAR_MSRC)
+	$(compile.m)
+
+libc-a-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCHAR_MOBJ)
+libc-a-pic-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCHAR_MOBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCHAR_MOBJ:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCHAR_DEF)
+libc-multi-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCHAR_MSRC)
+
+objclean-y+=misc_wchar_objclean
+
+misc_wchar_objclean:
+	$(RM) $(MISC_WCHAR_OUT)/*.{o,os}

+ 50 - 0
libc/misc/wctype/Makefile.in

@@ -0,0 +1,50 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=wctype.c
+MOBJ:=	iswalnum.o iswalpha.o iswcntrl.o iswdigit.o iswgraph.o \
+	iswlower.o iswprint.o iswpunct.o iswspace.o iswupper.o \
+	iswxdigit.o iswblank.o wctrans.o towctrans.o \
+	wctype.o iswctype.o towlower.o towupper.o
+
+MOBJx=	iswalnum_l.o iswalpha_l.o iswcntrl_l.o iswdigit_l.o iswgraph_l.o \
+	iswlower_l.o iswprint_l.o iswpunct_l.o iswspace_l.o iswupper_l.o \
+	iswxdigit_l.o iswblank_l.o \
+	wctype_l.o iswctype_l.o wctrans_l.o towctrans_l.o towlower_l.o towupper_l.o
+
+MISC_WCTYPE_DIR:=$(top_srcdir)libc/misc/wctype
+MISC_WCTYPE_OUT:=$(top_builddir)libc/misc/wctype
+
+MISC_WCTYPE_MSRC:=$(MISC_WCTYPE_DIR)/$(MSRC)
+MISC_WCTYPE_MOBJ:=$(patsubst %.o,$(MISC_WCTYPE_OUT)/%.o,$(MOBJ))
+MISC_WCTYPE_MOBJx=$(patsubst %.o,$(MISC_WCTYPE_OUT)/%.o,$(MOBJx))
+
+# adapt this if MOBJx is done for multi
+MISC_WCTYPE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(MISC_WCTYPE_MOBJ))))
+
+$(MISC_WCTYPE_MOBJ) $(MISC_WCTYPE_MOBJ:.o=.os): $(MISC_WCTYPE_MSRC)
+	$(compile.m)
+
+$(MISC_WCTYPE_MOBJx) $(MISC_WCTYPE_MOBJx:.o=.os): $(MISC_WCTYPE_MSRC)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+libc-a-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCTYPE_MOBJ)
+libc-a-$(UCLIBC_HAS_XLOCALE)+=$(MISC_WCTYPE_MOBJx)
+libc-a-pic-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCTYPE_MOBJ:.o=.os)
+libc-a-pic-$(UCLIBC_HAS_XLOCALE)+=$(MISC_WCTYPE_MOBJx:.o=.os)
+libc-so-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCTYPE_MOBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_XLOCALE)+=$(MISC_WCTYPE_MOBJx:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCTYPE_DEF)
+libc-multi-$(UCLIBC_HAS_WCHAR)+=$(MISC_WCTYPE_MSRC)
+libc-nomulti-$(UCLIBC_HAS_XLOCALE)+=$(MISC_WCTYPE_MOBJx)
+
+objclean-y+=misc_wctype_objclean
+
+misc_wctype_objclean:
+	$(RM) $(MISC_WCTYPE_OUT)/*.{o,os}

+ 25 - 0
libc/misc/wordexp/Makefile.in

@@ -0,0 +1,25 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=wordexp.c
+
+MISC_WORDEXP_DIR:=$(top_srcdir)libc/misc/wordexp
+MISC_WORDEXP_OUT:=$(top_builddir)libc/misc/wordexp
+
+MISC_WORDEXP_SRC:=$(patsubst %.c,$(MISC_WORDEXP_DIR)/%.c,$(CSRC))
+MISC_WORDEXP_OBJ:=$(patsubst %.c,$(MISC_WORDEXP_OUT)/%.o,$(CSRC))
+
+libc-a-$(UCLIBC_HAS_WORDEXP)+=$(MISC_WORDEXP_OBJ)
+libc-a-pic-$(UCLIBC_HAS_WORDEXP)+=$(MISC_WORDEXP_OBJ:.o=.os)
+libc-so-$(UCLIBC_HAS_WORDEXP)+=$(MISC_WORDEXP_OBJ:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_WORDEXP)+=$(MISC_WORDEXP_SRC)
+
+objclean-y+=misc_wordexp_objclean
+
+misc_wordexp_objclean:
+	$(RM) $(MISC_WORDEXP_OUT)/*.{o,os}

+ 48 - 0
libc/pwd_grp/Makefile.in

@@ -0,0 +1,48 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=pwd_grp.c
+MOBJ:=	fgetpwent_r.o fgetgrent_r.o fgetpwent.o fgetgrent.o \
+	getpwnam_r.o getgrnam_r.o getpwuid_r.o getgrgid_r.o \
+	getpwuid.o getgrgid.o getpwnam.o getgrnam.o getpw.o \
+	getpwent_r.o getgrent_r.o getpwent.o getgrent.o \
+	initgroups.o putpwent.o putgrent.o \
+	__parsepwent.o __parsegrent.o __pgsreader.o
+
+ifeq ($(HAS_SHADOW),y)
+MOBJ+=	fgetspent_r.o fgetspent.o sgetspent_r.o getspnam_r.o \
+	getspnam.o getspent_r.o getspent.o sgetspent.o \
+	putspent.o __parsespent.o # getspuid_r.o getspuid.o
+endif
+
+PWDGRP_DIR:=$(top_srcdir)libc/pwd_grp
+PWDGRP_OUT:=$(top_builddir)libc/pwd_grp
+
+PWDGRP_MSRC:=$(PWDGRP_DIR)/$(MSRC)
+PWDGRP_MOBJ:=$(patsubst %.o,$(PWDGRP_OUT)/%.o,$(MOBJ))
+
+PWDGRP_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(PWDGRP_MOBJ))))
+
+$(PWDGRP_MOBJ) $(PWDGRP_MOBJ:.o=.os): $(PWDGRP_MSRC)
+	$(compile.m)
+
+libc-a-y+=$(PWDGRP_MOBJ)
+libc-a-$(HAS_SHADOW)+=$(PWDGRP_OUT)/lckpwdf.o
+libc-a-pic-y+=$(PWDGRP_MOBJ:.o=.os)
+libc-a-pic-$(HAS_SHADOW)+=$(PWDGRP_OUT)/lckpwdf.os
+libc-so-y+=$(PWDGRP_MOBJ:.o=.os)
+libc-so-$(HAS_SHADOW)+=$(PWDGRP_OUT)/lckpwdf.os
+
+CFLAGS-multi-y+=$(PWDGRP_DEF)
+libc-multi-y+=$(PWDGRP_MSRC)
+libc-multi-$(HAS_SHADOW)+=$(PWDGRP_DIR)/lckpwdf.c
+
+objclean-y+=pwdgrp_objclean
+
+pwdgrp_objclean:
+	$(RM) $(PWDGRP_OUT)/*.{o,os}

+ 36 - 0
libc/signal/Makefile.in

@@ -0,0 +1,36 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=	allocrtsig.c killpg.c raise.c sigaction.c sigaddset.c sigandset.c \
+	sigblock.c sigdelset.c sigempty.c sigfillset.c siggetmask.c sighold.c \
+	sigignore.c sigintr.c sigisempty.c sigismem.c sigjmp.c signal.c \
+	sigorset.c sigpause.c sigrelse.c sigset.c sigsetmask.c sigsetops.c \
+	sysv_signal.c sigwait.c
+
+ifneq ($(strip $(ARCH_OBJS)),)
+CSRC:=$(filter-out $(notdir $(ARCH_OBJS:.o=.c)),$(CSRC))
+endif
+
+SIGNAL_DIR:=$(top_srcdir)libc/signal
+SIGNAL_OUT:=$(top_builddir)libc/signal
+
+SIGNAL_SRC:=$(patsubst %.c,$(SIGNAL_DIR)/%.c,$(CSRC))
+
+SIGNAL_OBJ:=$(patsubst $(SIGNAL_DIR)/%.c,$(SIGNAL_OUT)/%.o,$(SIGNAL_SRC))
+
+libc-a-y+=$(SIGNAL_OBJ)
+libc-a-pic-y+=$(SIGNAL_OBJ:.o=.os)
+libc-so-y+=$(SIGNAL_OBJ:.o=.os)
+
+# either sigaction or allocrtsig have to be removed
+#libc-multi-y+=$(SIGNAL_SRC)
+libc-nomulti-y+=$(SIGNAL_OBJ)
+
+objclean-y+=signal_objclean
+
+signal_objclean:
+	$(RM) $(SIGNAL_OUT)/*.{o,os}

+ 143 - 0
libc/stdio/Makefile.in

@@ -0,0 +1,143 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2004 Manuel Novoa III <mjn3@codepoet.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+#
+
+# Note: The *64.o objects are empty when compiled without large file support.
+
+# SUSv3 functions
+CSRC:=	fclose.c fcloseall.c fdopen.c fgetpos.c fopen.c freopen.c \
+	fseeko.c fsetpos.c ftello.c getdelim.c getline.c gets.c getw.c \
+	perror.c puts.c putw.c remove.c rewind.c setbuf.c setbuffer.c \
+	setlinebuf.c setvbuf.c ungetc.c \
+	printf.c vprintf.c vsprintf.c fprintf.c snprintf.c dprintf.c \
+	asprintf.c sprintf.c vasprintf.c vdprintf.c vsnprintf.c \
+	tmpfile.c tmpnam.c tmpnam_r.c popen.c tempnam.c ctermid.c
+
+# getc -> alias for fgetc
+# putc -> alias for fputc
+# rename is a syscall
+
+# Implementation support functions
+CSRC+=	_READ.c _WRITE.c _adjust_pos.c _fopen.c _fwrite.c \
+	_rfill.c _stdio.c _trans2r.c _trans2w.c _wcommit.c \
+	_cs_funcs.c _load_inttype.c _store_inttype.c _uintmaxtostr.c
+ifeq ($(UCLIBC_HAS_FLOATS),y)
+CSRC+=_fpmaxtostr.c
+endif
+
+# stdio_ext.h functions
+CSRC+=	__fbufsize.c __flbf.c __fpending.c __fpurge.c __freadable.c \
+	__freading.c __fsetlocking.c __fwritable.c __fwriting.c _flushlbf.c
+
+# Other glibc extensions
+ifeq ($(UCLIBC_HAS_GLIBC_CUSTOM_STREAMS),y)
+CSRC+=fopencookie.c fmemopen.c open_memstream.c
+endif
+
+# pthread functions
+CSRC+=flockfile.c ftrylockfile.c funlockfile.c
+
+# Functions with unlocked versions
+CUSRC:=	clearerr.c feof.c ferror.c fflush.c fgetc.c fgets.c fileno.c \
+	fputc.c fputs.c fread.c fwrite.c getchar.c putchar.c
+# getc_unlocked -> alias for fgetc_unlocked
+# putc_unlocked -> alias for fputc_unlocked
+
+# Largefile functions (%64.o)
+CLSRC:=
+ifeq ($(UCLIBC_HAS_LFS),y)
+CLSRC:=fgetpos.c fopen.c freopen.c fseeko.c fsetpos.c ftello.c # tmpfile
+endif
+
+# vfprintf and support functions
+MSRC1:=vfprintf.c
+ifneq ($(USE_OLD_VFPRINTF),y)
+MOBJ1:=	vfprintf.o \
+	_ppfs_init.o _ppfs_prepargs.o _ppfs_setargs.o _ppfs_parsespec.o \
+	register_printf_function.o parse_printf_format.o
+else
+MOBJ1:=
+CSRC+=old_vfprintf.c
+endif
+
+# vfscanf and support functions plus other *scanf funcs
+MSRC2:=scanf.c
+MOBJ2:=	vfscanf.o __scan_cookie.o __psfs_parse_spec.o __psfs_do_numeric.o \
+	scanf.o sscanf.o fscanf.o vscanf.o vsscanf.o
+
+CWSRC:=
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+CWSRC+=_wfwrite.c fwprintf.c swprintf.c vswprintf.c vwprintf.c wprintf.c \
+	fwide.c ungetwc.c
+CUSRC+=fgetwc.c getwchar.c fgetws.c fputwc.c putwchar.c fputws.c
+# getwc (fgetwc alias) getwc_unlocked (fgetwc_unlocked alias)
+# putwc (fputwc alias) putwc_unlocked (fputwc_unlocked alias)
+MOBJ1+=vfwprintf.o
+MOBJ2+=wscanf.o swscanf.o fwscanf.o vwscanf.o vswscanf.o vfwscanf.o
+endif
+
+CSRC+=$(CUSRC) $(CWSRC)
+
+STDIO_DIR:=$(top_srcdir)libc/stdio
+STDIO_OUT:=$(top_builddir)libc/stdio
+
+STDIO_SRC:=$(patsubst %.c,$(STDIO_DIR)/%.c,$(CSRC))
+STDIO_OBJ:=$(patsubst %.c,$(STDIO_OUT)/%.o,$(CSRC))
+STDIO_CUSRC:=$(patsubst %.c,$(STDIO_DIR)/%.c,$(CUSRC))
+STDIO_CUOBJ:=$(patsubst %.c,$(STDIO_OUT)/%_unlocked.o,$(CUSRC))
+STDIO_CLSRC:=$(patsubst %.c,$(STDIO_OUT)/%64.c,$(CLSRC))
+STDIO_CLOBJ:=$(patsubst %.c,$(STDIO_OUT)/%64.o,$(CLSRC))
+
+STDIO_MSRC1:=$(patsubst %.c,$(STDIO_DIR)/%.c,$(MSRC1))
+STDIO_MSRC2:=$(patsubst %.c,$(STDIO_DIR)/%.c,$(MSRC2))
+STDIO_MOBJ1:=$(patsubst %.o,$(STDIO_OUT)/%.o,$(MOBJ1))
+STDIO_MOBJ2:=$(patsubst %.o,$(STDIO_OUT)/%.o,$(MOBJ2))
+
+STDIO_MSRC:=$(STDIO_MSRC1) $(STDIO_MSRC2)
+STDIO_MOBJ:=$(STDIO_MOBJ1) $(STDIO_MOBJ2)
+
+#STDIO_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STDIO_MOBJ))))
+
+STDIO_OBJS:=$(STDIO_OBJ) $(STDIO_MOBJ) $(STDIO_CUOBJ) $(STDIO_CLOBJ)
+
+#STDIO_NO_MULTI:=$(STDIO_CUOBJ) $(STDIO_CLOBJ)
+
+# these need special handling or rewrite to support multi-build
+# CUOBJ
+%_unlocked.o %_unlocked.os: %.c
+	$(compile.c) -D__DO_UNLOCKED
+
+# need this, else the other %64 files will get false rules
+$(STDIO_CLSRC): $(STDIO_OUT)/%64.c : $(STDIO_DIR)/%.c
+	cp $< $@
+
+$(STDIO_CLOBJ): %.o : %.c
+	$(compile.c) -D__DO_LARGEFILE
+
+$(STDIO_CLOBJ:.o=.os): %.os : %.c
+	$(compile.c) -D__DO_LARGEFILE
+
+$(STDIO_MOBJ1) $(STDIO_MOBJ1:.o=.os): $(STDIO_MSRC1)
+	$(compile.m)
+
+$(STDIO_MOBJ2) $(STDIO_MOBJ2:.o=.os): $(STDIO_MSRC2)
+	$(compile.m)
+
+libc-a-y+=$(STDIO_OBJS)
+libc-a-pic-y+=$(STDIO_OBJS:.o=.os)
+libc-so-y+=$(STDIO_OBJS:.o=.os)
+
+#CFLAGS-multi-y+=$(STDIO_DEF)
+#libc-multi-y+=$(STDIO_SRC) $(STDIO_MSRC)
+#libc-nomulti-y+=$(STDIO_NO_MULTI)
+libc-nomulti-y+=$(STDIO_OBJS)
+
+objclean-y+=stdio_objclean
+
+stdio_objclean:
+	$(RM) $(STDIO_OUT)/*.{o,os}

+ 122 - 0
libc/stdlib/Makefile.in

@@ -0,0 +1,122 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+include $(top_srcdir)libc/stdlib/malloc/Makefile.in
+include $(top_srcdir)libc/stdlib/malloc-simple/Makefile.in
+include $(top_srcdir)libc/stdlib/malloc-standard/Makefile.in
+
+MSRC1:=stdlib.c
+MOBJ1:=	abs.o labs.o atoi.o atol.o strtol.o strtoul.o _stdlib_strto_l.o \
+	qsort.o bsearch.o \
+	llabs.o atoll.o strtoll.o strtoull.o _stdlib_strto_ll.o
+# (aliases) strtoq.o strtouq.o
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJ1x:=strtol_l.o strtoul_l.o _stdlib_strto_l_l.o \
+	strtoll_l.o strtoull_l.o _stdlib_strto_ll_l.o
+endif
+
+MSRC2:=strtod.c
+MOBJ2:=
+MOBJ2x:=
+
+ifeq ($(UCLIBC_HAS_FLOATS),y)
+MOBJ1+=atof.o
+MOBJ2+=strtod.o strtof.o strtold.o __strtofpmax.o __fp_range_check.o
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJ2x+=strtod_l.o strtof_l.o strtold_l.o __strtofpmax_l.o
+endif
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+MOBJ2+=wcstod.o wcstof.o wcstold.o __wcstofpmax.o
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJ2x+=wcstod_l.o wcstof_l.o wcstold_l.o __wcstofpmax_l.o
+endif
+endif
+endif
+
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+MOBJ1+=	mblen.o mbtowc.o wctomb.o mbstowcs.o wcstombs.o \
+	_stdlib_mb_cur_max.o _stdlib_wcsto_l.o _stdlib_wcsto_ll.o \
+	wcstol.o wcstoul.o wcstoll.o wcstoull.o
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJ1x+=_stdlib_wcsto_l_l.o _stdlib_wcsto_ll_l.o \
+	wcstol_l.o wcstoul_l.o wcstoll_l.o wcstoull_l.o
+endif
+endif
+# (aliases) wcstoq.o wcstouq.o
+# wcstod wcstof wcstold
+
+MSRC3:=atexit.c
+MOBJ3:=on_exit.o __cxa_atexit.o __cxa_finalize.o __exit_handler.o exit.o
+ifeq ($(COMPAT_ATEXIT),y)
+MOBJ3+=old_atexit.o
+endif
+
+CSRC:= \
+	abort.c getenv.c mkdtemp.c mktemp.c realpath.c mkstemp.c mkstemp64.c \
+	rand.c random.c random_r.c setenv.c system.c div.c ldiv.c lldiv.c \
+	getpt.c ptsname.c grantpt.c unlockpt.c gcvt.c drand48-iter.c jrand48.c \
+	jrand48_r.c lrand48.c lrand48_r.c mrand48.c mrand48_r.c nrand48.c \
+	nrand48_r.c rand_r.c srand48.c srand48_r.c seed48.c seed48_r.c \
+	valloc.c posix_memalign.c a64l.c l64a.c
+ifeq ($(UCLIBC_HAS_FLOATS),y)
+CSRC+=drand48.c drand48_r.c erand48.c erand48_r.c
+endif
+
+STDLIB_DIR:=$(top_srcdir)libc/stdlib
+STDLIB_OUT:=$(top_builddir)libc/stdlib
+
+STDLIB_SRC:=$(patsubst %.c,$(STDLIB_DIR)/%.c,$(CSRC))
+STDLIB_OBJ:=$(patsubst %.c,$(STDLIB_OUT)/%.o,$(CSRC))
+
+STDLIB_MSRC1:=$(patsubst %.c,$(STDLIB_DIR)/%.c,$(MSRC1))
+STDLIB_MSRC2:=$(patsubst %.c,$(STDLIB_DIR)/%.c,$(MSRC2))
+STDLIB_MSRC3:=$(patsubst %.c,$(STDLIB_DIR)/%.c,$(MSRC3))
+STDLIB_MOBJ1:=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(MOBJ1))
+STDLIB_MOBJ2:=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(MOBJ2))
+STDLIB_MOBJ3:=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(MOBJ3))
+STDLIB_MOBJ1x:=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(MOBJ1x))
+STDLIB_MOBJ2x:=$(patsubst %.o,$(STDLIB_OUT)/%.o,$(MOBJ2x))
+
+STDLIB_MSRC:=$(STDLIB_MSRC1) $(STDLIB_MSRC2) $(STDLIB_MSRC3)
+STDLIB_MOBJ:=$(STDLIB_MOBJ1) $(STDLIB_MOBJ2) $(STDLIB_MOBJ3)
+
+STDLIB_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STDLIB_MOBJ))))
+
+STDLIB_MOBJx:=$(STDLIB_MOBJ1x) $(STDLIB_MOBJ2x)
+
+STDLIB_OBJS:=$(STDLIB_OBJ) $(STDLIB_MOBJ) $(STDLIB_MOBJx)
+
+$(STDLIB_MOBJ1) $(STDLIB_MOBJ1:.o=.os): $(STDLIB_MSRC1)
+	$(compile.m)
+
+$(STDLIB_MOBJ2) $(STDLIB_MOBJ2:.o=.os): $(STDLIB_MSRC2)
+	$(compile.m)
+
+$(STDLIB_MOBJ3) $(STDLIB_MOBJ3:.o=.os) $(STDLIB_OUT)/atexit.os: $(STDLIB_MSRC3)
+	$(compile.m)
+
+$(STDLIB_MOBJ1x) $(STDLIB_MOBJ1x:.o=.os): $(STDLIB_MSRC1)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+$(STDLIB_MOBJ2x) $(STDLIB_MOBJ2x:.o=.os): $(STDLIB_MSRC2)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+libc-a-y+=$(STDLIB_OBJS) $(STDLIB_OUT)/atexit.o
+libc-a-pic-y+=$(STDLIB_OBJS:.o=.os) $(STDLIB_OUT)/atexit.os
+libc-so-y+=$(STDLIB_OBJS:.o=.os)
+# this should always be the PIC version, because it could be used in shared libs
+libc-nonshared-y+=$(STDLIB_OUT)/atexit.os
+
+CFLAGS-multi-y+=$(STDLIB_DEF)
+libc-multi-y+=$(STDLIB_SRC) $(STDLIB_MSRC)
+libc-nomulti-y+=$(STDLIB_MOBJx)
+
+objclean-y+=stdlib_objclean
+
+stdlib_objclean:
+	$(RM) $(STDLIB_OUT)/*.{o,os}

+ 31 - 0
libc/stdlib/malloc-simple/Makefile.in

@@ -0,0 +1,31 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=alloc.c
+MOBJ:=malloc.o realloc.o free.o calloc.o memalign.o
+
+STDLIB_MALLOC_SIMPLE_DIR:=$(top_srcdir)libc/stdlib/malloc-simple
+STDLIB_MALLOC_SIMPLE_OUT:=$(top_builddir)libc/stdlib/malloc-simple
+
+STDLIB_MALLOC_SIMPLE_MSRC:=$(STDLIB_MALLOC_SIMPLE_DIR)/$(MSRC)
+STDLIB_MALLOC_SIMPLE_MOBJ:=$(patsubst %.o,$(STDLIB_MALLOC_SIMPLE_OUT)/%.o,$(MOBJ))
+STDLIB_MALLOC_SIMPLE_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STDLIB_MALLOC_SIMPLE_MOBJ))))
+
+libc-a-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MOBJ)
+libc-a-pic-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MOBJ:.o=.os)
+libc-so-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MOBJ:.o=.os)
+
+CFLAGS-multi-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_DEF)
+libc-multi-$(MALLOC_SIMPLE)+=$(STDLIB_MALLOC_SIMPLE_MSRC)
+
+$(STDLIB_MALLOC_SIMPLE_MOBJ) $(STDLIB_MALLOC_SIMPLE_MOBJ:.o=.os): $(STDLIB_MALLOC_SIMPLE_MSRC)
+	$(compile.m)
+
+objclean-y+=stdlib_malloc_simple_objclean
+
+stdlib_malloc_simple_objclean:
+	$(RM) $(STDLIB_MALLOC_SIMPLE_OUT)/*.{o,os}

+ 33 - 0
libc/stdlib/malloc-standard/Makefile.in

@@ -0,0 +1,33 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# Turn on malloc debugging if requested
+ifeq ($(UCLIBC_MALLOC_DEBUGGING),y)
+CFLAGS+=-D__MALLOC_DEBUGGING
+endif
+
+# calloc.c can be found at uClibc/libc/stdlib/calloc.c
+# valloc.c can be found at uClibc/libc/stdlib/valloc.c
+CSRC:=malloc.c calloc.c realloc.c free.c memalign.c mallopt.c mallinfo.c
+
+STDLIB_MALLOC_STANDARD_DIR:=$(top_srcdir)libc/stdlib/malloc-standard
+STDLIB_MALLOC_STANDARD_OUT:=$(top_builddir)libc/stdlib/malloc-standard
+
+STDLIB_MALLOC_STANDARD_SRC:=$(patsubst %.c,$(STDLIB_MALLOC_STANDARD_DIR)/%.c,$(CSRC))
+STDLIB_MALLOC_STANDARD_OBJ:=$(patsubst %.c,$(STDLIB_MALLOC_STANDARD_OUT)/%.o,$(CSRC))
+
+libc-a-$(MALLOC_STANDARD)+=$(STDLIB_MALLOC_STANDARD_OBJ)
+libc-a-pic-$(MALLOC_STANDARD)+=$(STDLIB_MALLOC_STANDARD_OBJ:.o=.os)
+libc-so-$(MALLOC_STANDARD)+=$(STDLIB_MALLOC_STANDARD_OBJ:.o=.os)
+
+libc-multi-$(MALLOC_STANDARD)+=$(STDLIB_MALLOC_STANDARD_SRC)
+
+objclean-y+=stdlib_malloc_standard_objclean
+
+stdlib_malloc_standard_objclean:
+	$(RM) $(STDLIB_MALLOC_STANDARD_OUT)/*.{o,os}

+ 42 - 0
libc/stdlib/malloc/Makefile.in

@@ -0,0 +1,42 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2002-2003  NEC Electronics Corporation
+# Copyright (C) 2002-2003  Miles Bader <miles@gnu.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=	malloc.c calloc.c free.c realloc.c memalign.c \
+	heap_alloc.c heap_alloc_at.c heap_free.c
+
+# Turn on malloc debugging if requested
+ifeq ($(UCLIBC_MALLOC_DEBUGGING),y)
+CSRC+=malloc_debug.c heap_debug.c
+CFLAGS+=-DMALLOC_DEBUGGING -DHEAP_DEBUGGING
+ifeq ($(UCLIBC_UCLINUX_BROKEN_MUNMAP),y)
+CFLAGS+=-DMALLOC_MMB_DEBUGGING
+endif
+endif
+
+STDLIB_MALLOC_DIR:=$(top_srcdir)libc/stdlib/malloc
+STDLIB_MALLOC_OUT:=$(top_builddir)libc/stdlib/malloc
+
+STDLIB_MALLOC_SRC:=$(patsubst %.c,$(STDLIB_MALLOC_DIR)/%.c,$(CSRC))
+STDLIB_MALLOC_OBJ:=$(patsubst %.c,$(STDLIB_MALLOC_OUT)/%.o,$(CSRC))
+
+libc-a-$(MALLOC)+=$(STDLIB_MALLOC_OBJ)
+libc-a-pic-$(MALLOC)+=$(STDLIB_MALLOC_OBJ:.o=.os)
+libc-so-$(MALLOC)+=$(STDLIB_MALLOC_OBJ:.o=.os)
+
+#libc-multi-$(MALLOC)+=$(STDLIB_MALLOC_SRC)
+libc-nomulti-$(MALLOC)+=$(STDLIB_MALLOC_OBJ)
+
+objclean-y+=stdlib_malloc_objclean
+
+stdlib_malloc_objclean:
+	$(RM) $(STDLIB_MALLOC_OUT)/*.{o,os}
+
+malloc.o free.o realloc.o memalign.o: malloc.h
+# Depend on uClinux_config.h to cache changes in __UCLIBC_MALLOC_DEBUGGING__
+$(STDLIB_MALLOC_OBJ): heap.h $(top_builddir)include/bits/uClibc_config.h

+ 95 - 0
libc/string/Makefile.in

@@ -0,0 +1,95 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# order is relevant
+-include $(top_srcdir)libc/string/$(TARGET_ARCH)/Makefile.in
+include $(top_srcdir)libc/string/generic/Makefile.in
+
+MSRC:=wstring.c
+MOBJ:=	basename.o bcopy.o bzero.o dirname.o ffs.o memccpy.o memchr.o memcmp.o \
+	memcpy.o memmove.o mempcpy.o memrchr.o 	memset.o rawmemchr.o stpcpy.o \
+	stpncpy.o strcasecmp.o strcasestr.o strcat.o strchrnul.o strchr.o \
+	strcmp.o strcpy.o strcspn.o strdup.o strlen.o strncasecmp.o strncat.o \
+	strncmp.o strncpy.o strndup.o strnlen.o strpbrk.o strrchr.o strsep.o \
+	strspn.o strstr.o strtok.o strtok_r.o strerror.o __xpg_strerror_r.o \
+	_string_syserrmsgs.o __glibc_strerror_r.o \
+	_string_syssigmsgs.o sys_siglist.o strsignal.o psignal.o \
+	 __xpg_basename.o strlcat.o strlcpy.o sys_errlist.o memmem.o
+
+MOBJW=
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+MOBJW=	wcscasecmp.o wcscat.o wcschrnul.o wcschr.o wcscmp.o wcscpy.o wcscspn.o \
+	wcsdup.o wcslen.o wcsncasecmp.o wcsncat.o wcsncmp.o wcsncpy.o \
+	wcsnlen.o wcspbrk.o wcsrchr.o wcsspn.o wcsstr.o wcstok.o wmemchr.o \
+	wmemcmp.o wmemcpy.o wmemmove.o wmempcpy.o wmemset.o wcpcpy.o wcpncpy.o \
+	__wcslcpy.o \
+	wcsxfrm.o strxfrm.o # wcscoll strcoll.o
+endif
+
+MOBJx=
+MOBJWx=
+ifeq ($(UCLIBC_HAS_XLOCALE),y)
+MOBJx+=strcasecmp_l.o strncasecmp_l.o
+ifeq ($(UCLIBC_HAS_WCHAR),y)
+MOBJWx+=wcscasecmp_l.o wcsncasecmp_l.o wcsxfrm_l.o strxfrm_l.o
+endif
+endif
+
+#ffsl ffsll
+
+ifeq ($(UCLIBC_HAS_STRING_ARCH_OPT),y)
+ifneq ($(strip $(STRING_ARCH_OBJS)),)
+MOBJ:=$(filter-out $(notdir $(STRING_ARCH_OBJS)),$(MOBJ))
+endif
+endif
+
+ifeq ($(UCLIBC_HAS_STRING_GENERIC_OPT),y)
+ifneq ($(strip $(STRING_GENERIC_OBJS)),)
+MOBJ:=$(filter-out $(notdir $(STRING_GENERIC_OBJS)),$(MOBJ))
+endif
+endif
+
+STRING_DIR:=$(top_srcdir)libc/string
+STRING_OUT:=$(top_builddir)libc/string
+
+STRING_MSRC:=$(patsubst %.c,$(STRING_DIR)/%.c,$(MSRC))
+STRING_MOBJ:=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJ))
+STRING_MOBJW=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJW))
+STRING_MOBJx=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJx))
+STRING_MOBJWx=$(patsubst %.o,$(STRING_OUT)/%.o,$(MOBJWx))
+
+#STRING_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STRING_MOBJ))))
+
+STRING_Wx=$(STRING_MOBJW) $(STRING_MOBJx) $(STRING_MOBJWx)
+STRING_OBJS:=$(STRING_MOBJ) $(STRING_Wx)
+
+$(STRING_MOBJ) $(STRING_MOBJ:.o=.os): $(STRING_MSRC)
+	$(compile.m)
+
+$(STRING_MOBJW) $(STRING_MOBJW:.o=.os): $(STRING_MSRC)
+	$(compile.m) -DWANT_WIDE
+
+$(STRING_MOBJx) $(STRING_MOBJx:.o=.os): $(STRING_MSRC)
+	$(compile.m) -D__UCLIBC_DO_XLOCALE
+
+$(STRING_MOBJWx) $(STRING_MOBJWx:.o=.os): $(STRING_MSRC)
+	$(compile.m) -DWANT_WIDE -D__UCLIBC_DO_XLOCALE
+
+libc-a-y+=$(STRING_OBJS)
+libc-a-pic-y+=$(STRING_OBJS:.o=.os)
+libc-so-y+=$(STRING_OBJS:.o=.os)
+
+# multi does not work here, because arch/Makefile.in uses the same L_* defines
+#CFLAGS-multi-y+=$(STRING_DEF)
+#libc-multi-y+=$(STRING_MSRC)
+#libc-nomulti-y+=$(STRING_Wx)
+libc-nomulti-y+=$(STRING_OBJS)
+
+objclean-y+=string_objclean
+
+string_objclean:
+	$(RM) $(STRING_OUT)/{,*/}*.{o,os}

+ 28 - 0
libc/string/arm/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+SSRC:=	_memcpy.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S \
+	strcmp.S strlen.S strncmp.S
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/arm
+STRING_ARCH_OUT:=$(top_builddir)libc/string/arm
+
+STRING_ARCH_SRC:=$(patsubst %.S,$(STRING_ARCH_DIR)/%.S,$(SSRC))
+STRING_ARCH_OBJ:=$(patsubst %.S,$(STRING_ARCH_OUT)/%.o,$(SSRC))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 28 - 0
libc/string/frv/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2004 Alexandre Oliva <aoliva@redhat.com>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+SSRC:=memcpy.S memset.S
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/frv
+STRING_ARCH_OUT:=$(top_builddir)libc/string/frv
+
+STRING_ARCH_SRC:=$(patsubst %.S,$(STRING_ARCH_DIR)/%.S,$(SSRC))
+STRING_ARCH_OBJ:=$(patsubst %.S,$(STRING_ARCH_OUT)/%.o,$(SSRC))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 34 - 0
libc/string/generic/Makefile.in

@@ -0,0 +1,34 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+STRING_GENERIC_DIR:=$(top_srcdir)libc/string/generic
+STRING_GENERIC_OUT:=$(top_builddir)libc/string/generic
+
+STRING_GENERIC_SRC:=$(wildcard $(STRING_GENERIC_DIR)/*.c)
+MOBJ:=$(patsubst $(STRING_GENERIC_DIR)/%.c,%.o,$(STRING_GENERIC_SRC))
+
+ifeq ($(UCLIBC_HAS_STRING_ARCH_OPT),y)
+ifneq ($(strip $(STRING_ARCH_OBJS)),)
+MOBJ:=$(filter-out $(notdir $(STRING_ARCH_OBJS)),$(MOBJ))
+endif
+endif
+
+STRING_GENERIC_OBJ:=$(patsubst %.o,$(STRING_GENERIC_OUT)/%.o,$(MOBJ))
+
+STRING_GENERIC_OBJS:=$(STRING_GENERIC_OBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_GENERIC_OPT)+=$(STRING_GENERIC_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_GENERIC_OPT)+=$(STRING_GENERIC_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_GENERIC_OPT)+=$(STRING_GENERIC_OBJS:.o=.os)
+
+#libc-multi-$(UCLIBC_HAS_STRING_GENERIC_OPT)+=$(STRING_GENERIC_SRC)
+libc-nomulti-$(UCLIBC_HAS_STRING_GENERIC_OPT)+=$(STRING_GENERIC_OBJS)
+
+objclean-y+=string_generic_objclean
+
+string_generic_objclean:
+	$(RM) $(STRING_GENERIC_OUT)/*.{o,os}

+ 36 - 0
libc/string/i386/Makefile.in

@@ -0,0 +1,36 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=string.c
+MOBJ:=	strcpy.o strncpy.o strcat.o strncat.o strcmp.o \
+	strncmp.o strchr.o strrchr.o strlen.o strnlen.o \
+	memcpy.o memmove.o memchr.o memset.o 
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/i386
+STRING_ARCH_OUT:=$(top_builddir)libc/string/i386
+
+STRING_ARCH_MSRC:=$(patsubst %.c,$(STRING_ARCH_DIR)/%.c,$(MSRC))
+STRING_ARCH_MOBJ:=$(patsubst %.o,$(STRING_ARCH_OUT)/%.o,$(MOBJ))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_MOBJ)
+
+STRING_ARCH_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STRING_ARCH_OBJS))))
+
+$(STRING_ARCH_MOBJ) $(STRING_ARCH_MOBJ:.o=.os): $(STRING_ARCH_MSRC)
+	$(compile.m)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_DEF)
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_MSRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 27 - 0
libc/string/mips/Makefile.in

@@ -0,0 +1,27 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+SSRC:=memcpy.S memset.S
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/mips
+STRING_ARCH_OUT:=$(top_builddir)libc/string/mips
+
+STRING_ARCH_SRC:=$(patsubst %.S,$(STRING_ARCH_DIR)/%.S,$(SSRC))
+STRING_ARCH_OBJ:=$(patsubst %.S,$(STRING_ARCH_OUT)/%.o,$(SSRC))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 34 - 0
libc/string/powerpc/Makefile.in

@@ -0,0 +1,34 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+MSRC:=string.c
+MOBJ:=memcpy.o memmove.o memset.o bzero.o 
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/powerpc
+STRING_ARCH_OUT:=$(top_builddir)libc/string/powerpc
+
+STRING_ARCH_MSRC:=$(patsubst %.c,$(STRING_ARCH_DIR)/%.c,$(MSRC))
+STRING_ARCH_MOBJ:=$(patsubst %.o,$(STRING_ARCH_OUT)/%.o,$(MOBJ))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_MOBJ)
+
+STRING_ARCH_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(STRING_ARCH_MOBJ))))
+
+$(STRING_ARCH_MOBJ) $(STRING_ARCH_MOBJ:.o=.os): $(STRING_ARCH_MSRC)
+	$(compile.m)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_DEF)
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_MSRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 28 - 0
libc/string/sh64/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+SSRC:=memcpy.S memset.S strcpy.S strlen.S
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/sh64
+STRING_ARCH_OUT:=$(top_builddir)libc/string/sh64
+
+STRING_ARCH_SRC:=$(patsubst %.S,$(STRING_ARCH_DIR)/%.S,$(SSRC))
+STRING_ARCH_OBJ:=$(patsubst %.S,$(STRING_ARCH_OUT)/%.o,$(SSRC))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 28 - 0
libc/string/sparc/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/sparc
+STRING_ARCH_OUT:=$(top_builddir)libc/string/sparc
+
+STRING_ARCH_SRC:=$(wildcard $(STRING_ARCH_DIR)/*.c)
+STRING_ARCH_OBJ:=$(patsubst $(STRING_ARCH_DIR)/%.c,$(STRING_ARCH_OUT)/%.o,$(STRING_ARCH_SRC))
+
+STRING_ARCH_SSRC:=$(wildcard $(STRING_ARCH_DIR)/*.S)
+STRING_ARCH_SOBJ:=$(patsubst $(STRING_ARCH_DIR)/%.S,$(STRING_ARCH_OUT)/%.o,$(STRING_ARCH_SSRC))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ) $(STRING_ARCH_SOBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC) $(STRING_ARCH_SSRC)
+
+objclean-y+=string_arch_objclean
+
+string_arch_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 28 - 0
libc/string/x86_64/Makefile.in

@@ -0,0 +1,28 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+STRING_ARCH_DIR:=$(top_srcdir)libc/string/x86_64
+STRING_ARCH_OUT:=$(top_builddir)libc/string/x86_64
+
+STRING_ARCH_SRC:=$(wildcard $(STRING_ARCH_DIR)/*.c)
+STRING_ARCH_OBJ:=$(patsubst $(STRING_ARCH_DIR)/%.c,$(STRING_ARCH_OUT)/%.o,$(STRING_ARCH_SRC))
+
+STRING_ARCH_SSRC:=$(wildcard $(STRING_ARCH_DIR)/*.S)
+STRING_ARCH_SOBJ:=$(patsubst $(STRING_ARCH_DIR)/%.S,$(STRING_ARCH_OUT)/%.o,$(STRING_ARCH_SSRC))
+
+STRING_ARCH_OBJS:=$(STRING_ARCH_OBJ) $(STRING_ARCH_SOBJ)
+
+libc-a-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS)
+libc-a-pic-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+libc-so-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_OBJS:.o=.os)
+
+libc-multi-$(UCLIBC_HAS_STRING_ARCH_OPT)+=$(STRING_ARCH_SRC) $(STRING_ARCH_SSRC)
+
+objclean-y+=string_x86_64_objclean
+
+string_x86_64_objclean:
+	$(RM) $(STRING_ARCH_OUT)/*.{o,os}

+ 8 - 0
libc/sysdeps/Makefile.in

@@ -0,0 +1,8 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+include $(top_srcdir)libc/sysdeps/linux/Makefile.in

+ 10 - 0
libc/sysdeps/linux/Makefile.in

@@ -0,0 +1,10 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+# order is relevant
+include $(top_srcdir)libc/sysdeps/linux/$(TARGET_ARCH)/Makefile.in
+include $(top_srcdir)libc/sysdeps/linux/common/Makefile.in

+ 38 - 0
libc/sysdeps/linux/arm/Makefile.in

@@ -0,0 +1,38 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=brk.c syscall.c ioperm.c iopl.c sigaction.c __syscall_error.c
+SSRC:=	__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
+	bsd-_setjmp.S sigrestorer.S mmap64.S
+
+ARCH_DIR:=$(top_srcdir)libc/sysdeps/linux/arm
+ARCH_OUT:=$(top_builddir)libc/sysdeps/linux/arm
+
+ARCH_CSRC:=$(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
+ARCH_COBJ:=$(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
+ARCH_SSRC:=$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC))
+ARCH_SOBJ:=$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC))
+
+ARCH_OBJS:=$(ARCH_COBJ) $(ARCH_SOBJ)
+
+crt-y:=create
+libc-a-y+=$(ARCH_OBJS)
+libc-a-pic-y+=$(ARCH_OBJS:.o=.os)
+libc-so-y+=$(ARCH_OBJS:.o=.os)
+
+#libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_OBJS)
+
+objclean-y+=arch_objclean
+
+arch_objclean:
+	$(RM) $(ARCH_OUT)/*.{o,os}
+
+headers-y+=arch_headers
+
+arch_headers:
+	$(LN) -fs ../libc/sysdeps/linux/arm/fpu_control.h $(top_builddir)include/

+ 52 - 0
libc/sysdeps/linux/common/Makefile.in

@@ -0,0 +1,52 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+COMMON_DIR:=$(top_srcdir)libc/sysdeps/linux/common
+COMMON_OUT:=$(top_builddir)libc/sysdeps/linux/common
+
+CSRC:=$(patsubst $(COMMON_DIR)/%.c,%.c,$(wildcard $(COMMON_DIR)/*.c))
+
+ifeq ($(EXCLUDE_BRK),y)
+CSRC:=$(filter-out sbrk.c,$(CSRC))
+endif
+
+CSRC:=$(filter-out ssp-local.c,$(CSRC))
+ifneq ($(UCLIBC_HAS_SSP),y)
+CSRC:=$(filter-out ssp.c,$(CSRC))
+endif
+
+# fails for some reason
+ifneq ($(strip $(ARCH_OBJS)),)
+CSRC:=$(filter-out $(notdir $(ARCH_OBJS:.o=.c)),$(CSRC))
+endif
+
+CFLAGS-ssp.c=$(SSP_DISABLE_FLAGS)
+CFLAGS-ssp-local.c=$(SSP_DISABLE_FLAGS)
+
+COMMON_SRC:=$(patsubst %.c,$(COMMON_DIR)/%.c,$(CSRC))
+COMMON_OBJ:=$(patsubst %.c,$(COMMON_OUT)/%.o,$(CSRC))
+
+libc-a-y+=$(COMMON_OBJ)
+libc-a-$(UCLIBC_HAS_SSP)+=$(COMMON_OUT)/ssp-local.o
+libc-a-pic-y+=$(COMMON_OBJ:.o=.os)
+libc-a-pic-$(UCLIBC_HAS_SSP)+=$(COMMON_OUT)/ssp-local.os
+libc-so-y+=$(COMMON_OBJ:.o=.os)
+libc-nonshared-$(UCLIBC_HAS_SSP)+=$(COMMON_OUT)/ssp-local.os
+
+#libc-multi-y+=$(filter-out $(COMMON_DIR)/ssp.c,$(COMMON_SRC))
+#libc-nomulti-$(UCLIBC_HAS_SSP)+=$(COMMON_OUT)/ssp.o
+libc-nomulti-y+=$(COMMON_OBJ)
+
+objclean-y+=common_objclean
+
+common_objclean:
+	$(RM) $(COMMON_OUT)/*.{o,os}
+
+headers-y+=common_headers
+
+common_headers:
+	$(LN) -fs ../libc/sysdeps/linux/common/fpu_control.h $(top_builddir)include/

+ 39 - 0
libc/sysdeps/linux/i386/Makefile.in

@@ -0,0 +1,39 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=brk.c sigaction.c __syscall_error.c
+
+SSRC:=	__longjmp.S vfork.S clone.S setjmp.S bsd-setjmp.S \
+	bsd-_setjmp.S syscall.S mmap.S mmap64.S
+
+ARCH_DIR:=$(top_srcdir)libc/sysdeps/linux/i386
+ARCH_OUT:=$(top_builddir)libc/sysdeps/linux/i386
+
+ARCH_CSRC:=$(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
+ARCH_COBJ:=$(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
+ARCH_SSRC:=$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC))
+ARCH_SOBJ:=$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC))
+
+ARCH_OBJS:=$(ARCH_COBJ) $(ARCH_SOBJ)
+
+crt-y:=create
+libc-a-y+=$(ARCH_OBJS)
+libc-a-pic-y+=$(ARCH_OBJS:.o=.os)
+libc-so-y+=$(ARCH_OBJS:.o=.os)
+
+#libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_OBJS)
+
+objclean-y+=arch_objclean
+
+arch_objclean:
+	$(RM) $(ARCH_OUT)/*.{o,os}
+
+headers-y+=arch_headers
+
+arch_headers:
+	$(LN) -fs ../libc/sysdeps/linux/i386/fpu_control.h $(top_builddir)include/

+ 42 - 0
libc/sysdeps/linux/mips/Makefile.in

@@ -0,0 +1,42 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=	__longjmp.c  brk.c setjmp_aux.c mmap.c __syscall_error.c \
+	cacheflush.c pread_write.c sysmips.c _test_and_set.c sigaction.c
+
+SSRC:=bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S syscall.S pipe.S
+
+
+ARCH_DIR:=$(top_srcdir)libc/sysdeps/linux/mips
+ARCH_OUT:=$(top_builddir)libc/sysdeps/linux/mips
+
+ARCH_CSRC:=$(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
+ARCH_COBJ:=$(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
+ARCH_SSRC:=$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC))
+ARCH_SOBJ:=$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC))
+
+ARCH_OBJS:=$(ARCH_COBJ) $(ARCH_SOBJ)
+
+crt-y:=create
+libc-a-y+=$(ARCH_OBJS)
+libc-a-pic-y+=$(ARCH_OBJS:.o=.os)
+libc-so-y+=$(ARCH_OBJS:.o=.os)
+
+#libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_OBJS)
+
+objclean-y+=arch_objclean
+
+arch_objclean:
+	$(RM) $(ARCH_OUT)/*.{o,os} $(top_builddir)include/sgidefs.h
+
+headers-y+=arch_headers
+
+arch_headers:
+	$(LN) -fs ../libc/sysdeps/linux/mips/sgidefs.h $(top_builddir)include/
+#	$(LN) -fs ../libc/sysdeps/linux/mips/regdef.h $(top_builddir)include/
+	$(LN) -fs ../libc/sysdeps/linux/mips/fpu_control.h $(top_builddir)include/

+ 38 - 0
libc/sysdeps/linux/powerpc/Makefile.in

@@ -0,0 +1,38 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=mmap.c __syscall_error.c pread_write.c ioctl.c
+SSRC:=	__longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S brk.S \
+	clone.S __uClibc_syscall.S syscall.S vfork.S
+
+ARCH_DIR:=$(top_srcdir)libc/sysdeps/linux/powerpc
+ARCH_OUT:=$(top_builddir)libc/sysdeps/linux/powerpc
+
+ARCH_CSRC:=$(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
+ARCH_COBJ:=$(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
+ARCH_SSRC:=$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC))
+ARCH_SOBJ:=$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC))
+
+ARCH_OBJS:=$(ARCH_COBJ) $(ARCH_SOBJ)
+
+crt-y:=create
+libc-a-y+=$(ARCH_OBJS)
+libc-a-pic-y+=$(ARCH_OBJS:.o=.os)
+libc-so-y+=$(ARCH_OBJS:.o=.os)
+
+#libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_OBJS)
+
+objclean-y+=arch_objclean
+
+arch_objclean:
+	$(RM) $(ARCH_OUT)/*.{o,os}
+
+headers-y+=arch_headers
+
+arch_headers:
+	$(LN) -fs ../libc/sysdeps/linux/powerpc/fpu_control.h $(top_builddir)include/

+ 38 - 0
libc/sysdeps/linux/x86_64/Makefile.in

@@ -0,0 +1,38 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=brk.c sigaction.c __syscall_error.c mmap.c
+
+SSRC:=__longjmp.S vfork.S setjmp.S syscall.S bsd-setjmp.S bsd-_setjmp.S clone.S
+
+ARCH_DIR:=$(top_srcdir)libc/sysdeps/linux/x86_64
+ARCH_OUT:=$(top_builddir)libc/sysdeps/linux/x86_64
+
+ARCH_CSRC:=$(patsubst %.c,$(ARCH_DIR)/%.c,$(CSRC))
+ARCH_COBJ:=$(patsubst %.c,$(ARCH_OUT)/%.o,$(CSRC))
+ARCH_SSRC:=$(patsubst %.S,$(ARCH_DIR)/%.S,$(SSRC))
+ARCH_SOBJ:=$(patsubst %.S,$(ARCH_OUT)/%.o,$(SSRC))
+
+ARCH_OBJS:=$(ARCH_COBJ) $(ARCH_SOBJ)
+
+crt-y:=create
+libc-a-y+=$(ARCH_OBJS)
+libc-a-pic-y+=$(ARCH_OBJS:.o=.os)
+libc-so-y+=$(ARCH_OBJS:.o=.os)
+
+#libc-multi-y+=$(ARCH_CSRC)
+libc-nomulti-y+=$(ARCH_OBJS)
+
+objclean-y+=arch_objclean
+
+arch_objclean:
+	$(RM) $(ARCH_OUT)/*.{o,os}
+
+headers-y+=arch_headers
+
+arch_headers:
+	$(LN) -fs ../libc/sysdeps/linux/x86_64/fpu_control.h $(top_builddir)include/

+ 41 - 0
libc/termios/Makefile.in

@@ -0,0 +1,41 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=tcgetattr.c tcgetsid.c tcsetattr.c ttyname.c
+
+MSRC:=	termios.c
+MOBJ:=	tcdrain.o tcflow.o tcflush.o tcsendbreak.o tcsetpgrp.o tcgetpgrp.o \
+	isatty.o cfgetospeed.o cfgetispeed.o cfsetospeed.o cfsetispeed.o \
+	cfmakeraw.o cfsetspeed.o
+
+TERMIOS_DIR:=$(top_srcdir)libc/termios
+TERMIOS_OUT:=$(top_builddir)libc/termios
+
+TERMIOS_SRC:=$(patsubst %.c,$(TERMIOS_DIR)/%.c,$(CSRC))
+TERMIOS_OBJ:=$(patsubst %.c,$(TERMIOS_OUT)/%.o,$(CSRC))
+
+TERMIOS_MSRC:=$(patsubst %.c,$(TERMIOS_DIR)/%.c,$(MSRC))
+TERMIOS_MOBJ:=$(patsubst %.o,$(TERMIOS_OUT)/%.o,$(MOBJ))
+TERMIOS_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(TERMIOS_MOBJ))))
+
+TERMIOS_OBJS:=$(TERMIOS_OBJ) $(TERMIOS_MOBJ)
+
+$(TERMIOS_MOBJ) $(TERMIOS_MOBJ:.o=.os): $(TERMIOS_MSRC)
+	$(compile.m)
+
+libc-a-y+=$(TERMIOS_OBJS)
+libc-a-pic-y+=$(TERMIOS_OBJS:.o=.os)
+libc-so-y+=$(TERMIOS_OBJS:.o=.os)
+
+CFLAGS-multi-y+=$(TERMIOS_DEF)
+libc-multi-y+=$(TERMIOS_SRC) $(TERMIOS_MSRC)
+
+objclean-y+=termios_objclean
+
+termios_objclean:
+	$(RM) $(TERMIOS_OUT)/*.{o,os}

+ 51 - 0
libc/unistd/Makefile.in

@@ -0,0 +1,51 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+CSRC:=	sleep.c usleep.c ualarm.c getpass.c sysconf.c getlogin.c \
+	fpathconf.c confstr.c pathconf.c swab.c usershell.c \
+	getsubopt.c daemon.c
+
+MSRC:=exec.c
+MOBJ:=execl.o execv.o execle.o execlp.o execvp.o
+
+ifneq ($(ARCH_HAS_MMU),y)
+MOBJ+=__exec_alloc.o
+endif
+
+ifeq ($(UCLIBC_HAS_GNU_GETOPT),y)
+CSRC+=getopt.c
+else
+CSRC+=getopt-susv3.c
+endif
+
+UNISTD_DIR:=$(top_srcdir)libc/unistd
+UNISTD_OUT:=$(top_builddir)libc/unistd
+
+UNISTD_SRC:=$(patsubst %.c,$(UNISTD_DIR)/%.c,$(CSRC))
+UNISTD_OBJ:=$(patsubst %.c,$(UNISTD_OUT)/%.o,$(CSRC))
+
+UNISTD_MSRC:=$(patsubst %.c,$(UNISTD_DIR)/%.c,$(MSRC))
+UNISTD_MOBJ:=$(patsubst %.o,$(UNISTD_OUT)/%.o,$(MOBJ))
+
+UNISTD_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(UNISTD_MOBJ))))
+
+UNISTD_OBJS:=$(UNISTD_OBJ) $(UNISTD_MOBJ)
+
+$(UNISTD_MOBJ) $(UNISTD_MOBJ:.o=.os): $(UNISTD_MSRC)
+	$(compile.m)
+
+libc-a-y+=$(UNISTD_OBJS)
+libc-a-pic-y+=$(UNISTD_OBJS:.o=.os)
+libc-so-y+=$(UNISTD_OBJS:.o=.os)
+
+CFLAGS-multi-y+=$(UNISTD_DEF)
+libc-multi-y+=$(UNISTD_SRC) $(UNISTD_MSRC)
+
+objclean-y+=unistd_objclean
+
+unistd_objclean:
+	$(RM) $(UNISTD_OUT)/*.{o,os}

+ 22 - 7
libcrypt/Makefile.in

@@ -1,16 +1,31 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
+#DOMULTI=y
+
 LIB_NAME:=libcrypt
 
-srcdir=$(top_srcdir)$(LIB_NAME)
+libcrypt_DIR:=$(top_srcdir)libcrypt
+libcrypt_OUT:=$(top_builddir)libcrypt
+
+libcrypt_SRC:=$(wildcard $(libcrypt_DIR)/*.c)
+libcrypt_OBJ:=$(patsubst $(libcrypt_DIR)/%.c,$(libcrypt_OUT)/%.o,$(libcrypt_SRC))
+
+libcrypt-a-y:=$(libcrypt_OBJ)
+libcrypt-a-pic-y:=$(libcrypt_OBJ:.o=.os)
+libcrypt-so-y:=$(libcrypt_OBJ:.o=.os)
+
+libcrypt-multi-y:=$(libcrypt_SRC)
 
-libso-y+=$(top_builddir)lib/$(LIB_NAME).so
-liba-y+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+objclean-y+=libcrypt_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-y+=$(top_builddir)lib/libcrypt.a
+lib-a-pic-y+=$(top_builddir)lib/libcrypt.a
+lib-so-y+=$(top_builddir)lib/libcrypt.so

+ 29 - 11
libintl/Makefile.in

@@ -1,23 +1,41 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000 by Lineo, inc.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
-LIB_NAME:=libintl
+#DOMULTI=y
 
-srcdir=$(top_srcdir)$(LIB_NAME)
-$(LIB_NAME)_DIR:=$(top_builddir)$(LIB_NAME)
+LIB_NAME:=libintl
 
-$(LIB_NAME)_MSRC:=$(srcdir)/intl.c
 MOBJ:=gettext.o ngettext.o  dgettext.o dcgettext.o dngettext.o dcngettext.o \
 	textdomain.o bindtextdomain.o bind_textdomain_codeset.o \
 	_nl_expand_alias.o _nl_msg_cat_cntr.o # glibc-isms
-$(LIB_NAME)_MOBJ:=$(patsubst %.o,$($(LIB_NAME)_DIR)/%.o,$(MOBJ))
 
-libso-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/$(LIB_NAME).so
-liba-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+libintl_DIR:=$(top_srcdir)libintl
+libintl_OUT:=$(top_builddir)libintl
+
+libintl_MSRC:=$(libintl_DIR)/intl.c
+libintl_MOBJ:=$(patsubst %.o,$(libintl_OUT)/%.o,$(MOBJ))
+
+libintl_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(libintl_MOBJ))))
+
+$(libintl_MOBJ) $(libintl_MOBJ:.o=.os): $(libintl_MSRC)
+	$(compile.m)
+
+libintl-a-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MOBJ)
+libintl-a-pic-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MOBJ:.o=.os)
+libintl-so-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MOBJ:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_DEF)
+libintl-multi-$(UCLIBC_HAS_GETTEXT_AWARENESS):=$(libintl_MSRC)
+
+objclean-y+=libintl_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/libintl.a
+lib-a-pic-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/libintl.a
+lib-so-$(UCLIBC_HAS_GETTEXT_AWARENESS)+=$(top_builddir)lib/libintl.so

+ 61 - 25
libm/Makefile.in

@@ -1,16 +1,36 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+# The routines included in this math library are derived from the
+# math library for Apple's MacOS X/Darwin math library, which was
+# itself swiped from FreeBSD.  The original copyright information
+# is as follows:
+#
+#     Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+#
+#     Developed at SunPro, a Sun Microsystems, Inc. business.
+#     Permission to use, copy, modify, and distribute this
+#     software is freely granted, provided that this notice
+#     is preserved.
+#
+# It has been ported to work with uClibc and generally behave
+# by Erik Andersen <andersen@codepoet.org>
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
 CFLAGS+=-D_IEEE_LIBM -D_ISOC99_SOURCE -D_SVID_SOURCE
 
+#DOMULTI=y
+
 LIB_NAME:=libm
 
-srcdir=$(top_srcdir)$(LIB_NAME)
-$(LIB_NAME)_DIR:=$(top_builddir)$(LIB_NAME)
+ifeq ($(HAS_FPU),y)
+-include $(top_srcdir)libm/$(TARGET_ARCH)/Makefile.in
+endif
 
 FL_MSRC:=float_wrappers.c
 
@@ -52,33 +72,49 @@ CSRC:=	w_acos.c w_asin.c s_atan.c w_atan2.c s_ceil.c s_cos.c \
 FL_MOBJ:=sqrtf.o
 endif
 
-$(LIB_NAME)_SRC:=$(patsubst %.c,$(srcdir)/%.c,$(CSRC))
-
-$(LIB_NAME)_MSRC:=$(srcdir)/$(FL_MSRC)
-$(LIB_NAME)_MOBJ:=$(patsubst %.o,$($(LIB_NAME)_DIR)/%.o,$(FL_MOBJ))
+libm_DIR:=$(top_srcdir)libm
+libm_OUT:=$(top_builddir)libm
 
+# assume that arch specific versions are provided as single sources/objects
 ifeq ($(HAS_FPU),y)
-ifeq ($(DO_C99_MATH),y)
-$(LIB_NAME)_ARCH_SRC:=$(wildcard $(srcdir)/$(TARGET_ARCH)/*.c)
-$(LIB_NAME)_ARCH_OBJ:=$(patsubst $(srcdir)/$(TARGET_ARCH)/%.c,$($(LIB_NAME)_DIR)/$(TARGET_ARCH)/%.o,$($(LIB_NAME)_ARCH_SRC))
+ifneq ($(strip $(libm_ARCH_OBJS)),)
 
 # remove generic sources, if arch specific version is present
-$(LIB_NAME)_NO_SRC:=$(patsubst $(srcdir)/$(TARGET_ARCH)/%.c,$(srcdir)/%.c,$($(LIB_NAME)_ARCH_SRC))
-$(LIB_NAME)_SRC:=$(filter-out $($(LIB_NAME)_NO_SRC),$($(LIB_NAME)_SRC))
-# add arch specific sources (assumed that these are not multi-sources)
-$(LIB_NAME)_SRC+=$($(LIB_NAME)_ARCH_SRC)
-
-# remove generic objects produced from multi-sources, if arch specific version is present
-$(LIB_NAME)_NO_MOBJ:=$(patsubst $($(LIB_NAME)_DIR)/$(TARGET_ARCH)/%.o,$($(LIB_NAME)_DIR)/%.o,$($(LIB_NAME)_ARCH_OBJ))
-$(LIB_NAME)_MOBJ:=$(filter-out $($(LIB_NAME)_NO_MOBJ),$($(LIB_NAME)_MOBJ))
+ifneq ($(strip $(libm_ARCH_SRC)),)
+CSRC:=$(filter-out $(notdir $(libm_ARCH_SRC)),$(CSRC))
+endif
+
+# remove generic objects built from multi-sources, if arch specific version is present
+FL_MOBJ:=$(filter-out $(notdir $(libm_ARCH_OBJS)),$(FL_MOBJ))
+
+# we also try to remove % if s_% is in arch specific subdir
+FL_MOBJ:=$(filter-out $(patsubst s_%.o,%.o,$(notdir $(libm_ARCH_OBJS))),$(FL_MOBJ))
 endif
 endif
 
-$(LIB_NAME)_arch_clean:
-	$(RM) $($(LIB_NAME)_DIR)/$(TARGET_ARCH)/*.{o,os}
+libm_SRC:=$(patsubst %.c,$(libm_DIR)/%.c,$(CSRC))
+libm_OBJ:=$(patsubst $(libm_DIR)/%.c,$(libm_OUT)/%.o,$(libm_SRC))
+
+libm_MSRC:=$(libm_DIR)/$(FL_MSRC)
+libm_MOBJ:=$(patsubst %.o,$(libm_OUT)/%.o,$(FL_MOBJ))
+
+libm_DEF:=$(patsubst %,-DL_%,$(subst .o,,$(notdir $(libm_MOBJ))))
+
+libm_OBJS:=$(libm_OBJ) $(libm_MOBJ)
+
+$(libm_MOBJ) $(libm_MOBJ:.o=.os): $(libm_MSRC)
+	$(compile.m)
+
+libm-a-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJS)
+libm-a-pic-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJS:.o=.os)
+libm-so-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJS:.o=.os)
+
+CFLAGS-multi-$(UCLIBC_HAS_FLOATS)+=$(libm_DEF)
+libm-multi-$(UCLIBC_HAS_FLOATS)+=$(libm_MSRC)
+libm-nomulti-$(UCLIBC_HAS_FLOATS)+=$(libm_OBJ)
 
-libso-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/$(LIB_NAME).so
-liba-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean $(LIB_NAME)_arch_clean
+objclean-y+=libm_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/libm.a
+lib-a-pic-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/libm.a
+lib-so-$(UCLIBC_HAS_FLOATS)+=$(top_builddir)lib/libm.so

+ 25 - 0
libm/powerpc/Makefile.in

@@ -0,0 +1,25 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+libm_ARCH_DIR:=$(top_srcdir)libm/powerpc
+libm_ARCH_OUT:=$(top_builddir)libm/powerpc
+
+libm_ARCH_SRC:=$(wildcard $(libm_ARCH_DIR)/*.c)
+libm_ARCH_OBJ:=$(patsubst $(libm_ARCH_DIR)/%.c,$(libm_ARCH_OUT)/%.o,$(libm_ARCH_SRC))
+
+libm_ARCH_OBJS:=$(libm_ARCH_OBJ)
+
+libm-a-$(DO_C99_MATH)+=$(libm_ARCH_OBJS)
+libm-a-pic-$(DO_C99_MATH)+=$(libm_ARCH_OBJS:.o=.os)
+libm-so-$(DO_C99_MATH)+=$(libm_ARCH_OBJS:.o=.os)
+
+libm-multi-$(DO_C99_MATH)+=$(libm_ARCH_SRC)
+
+objclean-y+=libm_arch_objclean
+
+libm_arch_objclean:
+	$(RM) $(libm_ARCH_OUT)/*.{o,os}

+ 22 - 7
libnsl/Makefile.in

@@ -1,16 +1,31 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
+# useless, only 1 source file
+DOMULTI=n
+
 LIB_NAME:=libnsl
 
-srcdir=$(top_srcdir)$(LIB_NAME)
+libnsl_DIR:=$(top_srcdir)libnsl
+libnsl_OUT:=$(top_builddir)libnsl
+
+libnsl_SRC:=$(libnsl_DIR)/nsl.c
+libnsl_OBJ:=$(patsubst $(libnsl_DIR)/%.c,$(libnsl_OUT)/%.o,$(libnsl_SRC))
+
+libnsl-a-y:=$(libnsl_OBJ)
+libnsl-a-pic-y:=$(libnsl_OBJ:.o=.os)
+libnsl-so-y:=$(libnsl_OBJ:.o=.os)
+
+#libnsl-multi-y:=$(libnsl_SRC)
 
-libso-y+=$(top_builddir)lib/$(LIB_NAME).so
-liba-y+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+objclean-y+=libnsl_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-y+=$(top_builddir)lib/libnsl.a
+lib-a-pic-y+=$(top_builddir)lib/libnsl.a
+lib-so-y+=$(top_builddir)lib/libnsl.so

+ 57 - 0
libpthread/Makefile.in

@@ -0,0 +1,57 @@
+# Makefile for uClibc
+#
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
+#
+
+ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
+DIRS:= $(PTNAME) $(PTNAME)_db
+libs: subdirs
+else
+# both do not work at once
+include $(PTDIR)/Makefile.in
+#include $(PTDIR)_db/Makefile.in
+endif
+
+headers-y+=threads_headers
+
+# NPTL does not have a generic pthreadtypes.h
+# and each arch has to have both semaphore.h/pthreadtypes.h ?
+threads_headers:
+	$(LN) -sf $(PTDIR)/sysdeps/pthread/pthread.h $(top_builddir)include/
+	$(LN) -sf $(PTDIR)/semaphore.h $(top_builddir)include/
+ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
+	$(LN) -sf $(PTDIR)_db/thread_db.h $(top_builddir)include/
+endif
+ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+	$(LN) -sf ../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/semaphore.h $(top_builddir)include/bits/
+	$(LN) -sf ../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/pthreadtypes.h $(top_builddir)include/bits/
+	$(LN) -sf ../$(PTDIR)/sysdeps/pthread/bits/libc-lock.h $(top_builddir)include/bits/
+	$(LN) -sf ../$(PTDIR)/sysdeps/pthread/bits/stdio-lock.h $(top_builddir)include/bits/
+else
+	$(LN) -sf ../$(PTDIR)/sysdeps/pthread/bits/pthreadtypes.h $(top_builddir)include/bits/
+endif
+
+headers_clean-y+=threads_headers_clean
+
+threads_headers_clean:
+	$(RM)	$(top_builddir)include/pthread.h $(top_builddir)include/semaphore.h \
+		$(top_builddir)include/thread_db.h \
+		$(top_builddir)include/bits/pthreadtypes.h $(top_builddir)include/bits/semaphore.h \
+		$(top_builddir)include/bits/libc-lock.h $(top_builddir)include/bits/stdio-lock
+ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+	$(RM)	$(PTNAME)/version.h $(PTDIR)/banner.h \
+		$(PTDIR)/sysdeps/unix/sysv/linux/rtld-libc-lowlevellock.c
+endif
+
+objclean-y+=libpthread_gen_clean
+
+libpthread_gen_clean:
+	$(RM) $(top_builddir)libpthread/*/*.{o,os,a}
+
+ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
+subdirs: $(patsubst %, _dir_%, $(DIRS))
+$(patsubst %, _dir_%, $(DIRS)):
+	$(MAKE) -C $(patsubst _dir_%, %, $@)
+endif

+ 30 - 29
libpthread/linuxthreads/Makefile.in

@@ -1,55 +1,56 @@
-# Makefile.in for uClibc
+# Makefile for uClibc's pthread library
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
-# Get the thread include dependencies
-CFLAGS+=$(PTINC)
-
 # This stuff will not compile without at least -O1
 CFLAGS:=$(CFLAGS:-O0=-O1)
 
-ARCH_CFLAGS:=$(CFLAGS)
-
 LDFLAGS:=$(LDFLAGS_NOSTRIP)
 
 ifeq ($(UCLIBC_CTOR_DTOR),y)
-SHARED_START_FILES=$(top_builddir)lib/crti.o $(LIBGCC_DIR)crtbeginS.o
-SHARED_END_FILES = $(LIBGCC_DIR)crtendS.o $(top_builddir)lib/crtn.o
+SHARED_START_FILES:=$(top_builddir)lib/crti.o $(LIBGCC_DIR)crtbeginS.o
+SHARED_END_FILES:=$(LIBGCC_DIR)crtendS.o $(top_builddir)lib/crtn.o
 endif
 
 ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
 STRIP_FLAGS:=-X --strip-debug -R .note -R .comment
 endif
 
+DOMULTI=n
+
 LIB_NAME:=libpthread
-srcdir=$(top_srcdir)$(LIB_NAME)/linuxthreads
-$(LIB_NAME)_DIR:=$(top_builddir)$(LIB_NAME)/linuxthreads
 
-$(LIB_NAME)_SRC:=$(wildcard $(srcdir)/*.c)
-ifneq ($(UCLIBC_HAS_XLOCALE),y)
-$(LIB_NAME)_SRC:=$(filter-out $(srcdir)/locale.c,$($(LIB_NAME)_SRC))
-endif
+libpthread_DIR:=$(top_srcdir)libpthread/linuxthreads
+libpthread_OUT:=$(top_builddir)libpthread/linuxthreads
 
-ARCH_DIR:=sysdeps/$(TARGET_ARCH)
--include $(srcdir)/$(ARCH_DIR)/Makefile.in
+ARCH_CFLAGS:=$(CFLAGS)
+-include $(libpthread_DIR)/sysdeps/$(TARGET_ARCH)/Makefile.in
+CFLAGS:=$(ARCH_CFLAGS)
 
-$(LIB_NAME)_ARCH_SRC:=$(wildcard $(srcdir)/$(ARCH_DIR)/*.c)
-$(LIB_NAME)_ARCH_OBJ:=$(patsubst $(srcdir)/$(ARCH_DIR)/%.c,$($(LIB_NAME)_DIR)/$(ARCH_DIR)/%.o,$($(LIB_NAME)_ARCH_SRC))
+libpthread_SRC:=$(wildcard $(libpthread_DIR)/*.c)
+ifneq ($(UCLIBC_HAS_XLOCALE),y)
+libpthread_SRC:=$(filter-out $(libpthread_DIR)/locale.c,$(libpthread_SRC))
+endif
 
 # remove generic sources, if arch specific version is present
-$(LIB_NAME)_NO_SRC:=$(patsubst $(srcdir)/$(ARCH_DIR)/%.c,$(srcdir)/%.c,$($(LIB_NAME)_ARCH_SRC))
-$(LIB_NAME)_SRC:=$(filter-out $($(LIB_NAME)_NO_SRC),$($(LIB_NAME)_SRC))
-# add arch specific sources (assumed that these are not multi-sources)
-$(LIB_NAME)_SRC+=$($(LIB_NAME)_ARCH_SRC)
+ifneq ($(strip $(libpthread_ARCH_SRC)),)
+libpthread_SRC:=$(filter-out $(patsubst %.c,$(libpthread_DIR)/%.c,$(notdir $(libpthread_ARCH_SRC))),$(libpthread_SRC))
+endif
+
+libpthread_OBJ:=$(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_SRC))
 
-$(LIB_NAME)_arch_clean:
-	$(RM) $($(LIB_NAME)_DIR)/sysdeps/*/*.{o,os}
+libpthread-a-$(UCLIBC_HAS_THREADS)+=$(libpthread_OBJ)
+libpthread-a-pic-$(UCLIBC_HAS_THREADS)+=$(libpthread_OBJ:.o=.os)
+libpthread-so-$(UCLIBC_HAS_THREADS)+=$(libpthread_OBJ:.o=.os)
 
-libso-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/$(LIB_NAME).so
-liba-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean $(LIB_NAME)_arch_clean
+libpthread-multi-$(UCLIBC_HAS_THREADS)+=$(libpthread_SRC)
 
-include $(top_srcdir)Makefile.libs
+lib-a-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/libpthread.a
+lib-a-pic-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/libpthread.a
+lib-so-$(UCLIBC_HAS_THREADS)+=$(top_builddir)lib/libpthread.so

+ 20 - 13
libpthread/linuxthreads/sysdeps/sh64/Makefile.in

@@ -1,20 +1,27 @@
 # Makefile for uClibc's sh64 pthread backend
 #
 # Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
 #
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU Library General Public License as published by the Free
-# Software Foundation; either version 2 of the License, or (at your option) any
-# later version.
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
-# details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 
 # We need to build as SHcompact for tas..
-ARCH_CFLAGS := $(subst 32media,compact,$(ARCH_CFLAGS))
+ARCH_CFLAGS:=$(subst 32media,compact,$(ARCH_CFLAGS))
+
+libpthread_ARCH_DIR:=$(top_srcdir)libpthread/linuxthreads/sysdeps/sh64
+libpthread_ARCH_OUT:=$(top_builddir)libpthread/linuxthreads/sysdeps/sh64
+
+libpthread_ARCH_SRC:=$(wildcard $(libpthread_ARCH_DIR)/*.c)
+libpthread_ARCH_OBJ:=$(patsubst $(libpthread_ARCH_DIR)/%.c,$(libpthread_ARCH_OUT)/%.o,$(libpthread_ARCH_SRC))
+
+libpthread-a-$(UCLIBC_HAS_THREADS)+=$(libpthread_ARCH_OBJ)
+libpthread-a-pic-$(UCLIBC_HAS_THREADS)+=$(libpthread_ARCH_OBJ:.o=.os)
+libpthread-so-$(UCLIBC_HAS_THREADS)+=$(libpthread_ARCH_OBJ:.o=.os)
+
+libpthread-multi-$(UCLIBC_HAS_THREADS)+=$(libpthread_ARCH_SRC)
+
+objclean-y+=libpthread_arch_objclean
+
+libpthread_arch_objclean:
+	$(RM) $(libpthread_ARCH_OUT)/*.{o,os}

+ 24 - 9
libpthread/linuxthreads_db/Makefile.in

@@ -1,13 +1,15 @@
-# Makefile for uClibc's pthread library
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 #CFLAGS+=$(SSP_ALL_CFLAGS)
 
 PT_MAJOR_VERSION:=$(MAJOR_VERSION)
 # Get the thread include dependencies and shared object name
-CFLAGS+=$(PTINC) -DLIBPTHREAD_SO="\"libpthread.so.$(PT_MAJOR_VERSION)\""
+CFLAGS+=-DLIBPTHREAD_SO="\"libpthread.so.$(PT_MAJOR_VERSION)\""
 
 # Remove any -z defs since this lib will have undefined symbols
 LDFLAGS:=$(subst -z defs,,$(LDFLAGS)) --warn-unresolved-symbols
@@ -16,13 +18,26 @@ ifeq ($(PTHREADS_DEBUG_SUPPORT),y)
 STRIP_FLAGS:=-X --strip-debug -R .note -R .comment
 endif
 
+#DOMULTI=y
+
 LIB_NAME:=libthread_db
-srcdir=$(top_srcdir)libpthread/linuxthreads_db
-$(LIB_NAME)_DIR:=$(top_builddir)libpthread/linuxthreads_db
+libthread_db_FULL_NAME:=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
+
 MAJOR_VERSION:=1
 
-libso-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/$(LIB_NAME).so
-liba-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+libthread_db_DIR:=$(top_srcdir)libpthread/linuxthreads_db
+libthread_db_OUT:=$(top_builddir)libpthread/linuxthreads_db
+
+libthread_db_SRC:=$(wildcard $(libthread_db_DIR)/*.c)
+
+libthread_db_OBJ:=$(patsubst $(libthread_db_DIR)/%.c,$(libthread_db_OUT)/%.o,$(libthread_db_SRC))
+
+libthread_db-a-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_OBJ)
+libthread_db-a-pic-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_OBJ:.o=.os)
+libthread_db-so-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_OBJ:.o=.os)
+
+libthread_db-multi-$(PTHREADS_DEBUG_SUPPORT)+=$(libthread_db_SRC)
 
-include $(top_srcdir)Makefile.libs
+lib-a-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/libthread_db.a
+lib-a-pic-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/libthread_db.a
+lib-so-$(PTHREADS_DEBUG_SUPPORT)+=$(top_builddir)lib/libthread_db.so

+ 22 - 7
libresolv/Makefile.in

@@ -1,16 +1,31 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
+# useless, only 1 source file
+DOMULTI=n
+
 LIB_NAME:=libresolv
 
-srcdir=$(top_srcdir)$(LIB_NAME)
+libresolv_DIR:=$(top_srcdir)libresolv
+libresolv_OUT:=$(top_builddir)libresolv
+
+libresolv_SRC:=$(libresolv_DIR)/resolv.c
+libresolv_OBJ:=$(patsubst $(libresolv_DIR)/%.c,$(libresolv_OUT)/%.o,$(libresolv_SRC))
+
+libresolv-a-y:=$(libresolv_OBJ)
+libresolv-a-pic-y:=$(libresolv_OBJ:.o=.os)
+libresolv-so-y:=$(libresolv_OBJ:.o=.os)
+
+#libresolv-multi-y:=$(libresolv_SRC)
 
-libso-y+=$(top_builddir)lib/$(LIB_NAME).so
-liba-y+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+objclean-y+=libresolv_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-y+=$(top_builddir)lib/libresolv.a
+lib-a-pic-y+=$(top_builddir)lib/libresolv.a
+lib-so-y+=$(top_builddir)lib/libresolv.so

+ 22 - 7
librt/Makefile.in

@@ -1,16 +1,31 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
+# all files are syscall related
+DOMULTI=n
+
 LIB_NAME:=librt
 
-srcdir=$(top_srcdir)$(LIB_NAME)
+librt_DIR:=$(top_srcdir)librt
+librt_OUT:=$(top_builddir)librt
+
+librt_SRC:=$(wildcard $(librt_DIR)/*.c)
+librt_OBJ:=$(patsubst $(librt_DIR)/%.c,$(librt_OUT)/%.o,$(librt_SRC))
+
+librt-a-y:=$(librt_OBJ)
+librt-a-pic-y:=$(librt_OBJ:.o=.os)
+librt-so-y:=$(librt_OBJ:.o=.os)
+
+#librt-multi-y+=$(librt_SRC)
 
-libso-y+=$(top_builddir)lib/$(LIB_NAME).so
-liba-y+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+objclean-y+=librt_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-y+=$(top_builddir)lib/librt.a
+lib-a-pic-y+=$(top_builddir)lib/librt.a
+lib-so-y+=$(top_builddir)lib/librt.so

+ 21 - 9
libutil/Makefile.in

@@ -1,21 +1,33 @@
-# Makefile.in for uClibc
+# Makefile for uClibc
 #
-# Licensed under LGPL v2.1, see the file COPYING.LIB in this tarball for details.
+# Copyright (C) 2000-2005 Erik Andersen <andersen@uclibc.org>
+#
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
 #
 
 CFLAGS+=$(SSP_ALL_CFLAGS)
 
+#DOMULTI=y
+
 LIB_NAME:=libutil
 
-srcdir=$(top_srcdir)$(LIB_NAME)
+libutil_DIR:=$(top_srcdir)libutil
+libutil_OUT:=$(top_builddir)libutil
 
-$(LIB_NAME)_SRC:=$(wildcard $(srcdir)/*.c)
+libutil_SRC:=$(wildcard $(libutil_DIR)/*.c)
 ifneq ($(ARCH_HAS_MMU),y)
-$(LIB_NAME)_SRC:=$(filter-out $(srcdir)/forkpty.c,$($(LIB_NAME)_SRC))
+libutil_SRC:=$(filter-out $(libutil_DIR)/forkpty.c,$(libutil_SRC))
 endif
+libutil_OBJ:=$(patsubst $(libutil_DIR)/%.c,$(libutil_OUT)/%.o,$(libutil_SRC))
+
+libutil-a-y:=$(libutil_OBJ)
+libutil-a-pic-y:=$(libutil_OBJ:.o=.os)
+libutil-so-y:=$(libutil_OBJ:.o=.os)
+
+libutil-multi-y:=$(libutil_SRC)
 
-libso-y+=$(top_builddir)lib/$(LIB_NAME).so
-liba-y+=$(top_builddir)lib/$(LIB_NAME).a
-libclean-y+=$(LIB_NAME)_clean
+objclean-y+=libutil_clean
 
-include $(top_srcdir)Makefile.libs
+lib-a-y+=$(top_builddir)lib/libutil.a
+lib-a-pic-y+=$(top_builddir)lib/libutil.a
+lib-so-y+=$(top_builddir)lib/libutil.so