OSDN Git Service

2010-09-08 Tristan Gingold <gingold@adacore.com>
[pf3gnuchains/gcc-fork.git] / libiberty / Makefile.in
index 226f7d1..c5e9929 100644 (file)
@@ -1,7 +1,9 @@
+# Makefile for the libiberty library.
+# Originally written by K. Richard Pixley <rich@cygnus.com>.
 #
-# Makefile
-#   Copyright (C) 1990, 91-99, 2000
-#   Free Software Foundation
+# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
+# Foundation
 #
 # This file is part of the libiberty library.
 # Libiberty is free software; you can redistribute it and/or
 #
 # You should have received a copy of the GNU Library General Public
 # License along with libiberty; see the file COPYING.LIB.  If not,
-# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-#
-
-# This file was written by K. Richard Pixley <rich@cygnus.com>.
-
-#
-# Makefile for libiberty directory
-#
+# write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+# Boston, MA 02110-1301, USA.
 
+libiberty_topdir = @libiberty_topdir@
 srcdir = @srcdir@
-VPATH = @srcdir@
 
 prefix = @prefix@
 
 exec_prefix = @exec_prefix@
 bindir = @bindir@
 libdir = @libdir@
+includedir = @includedir@
+target_header_dir = @target_header_dir@
+objext = @OBJEXT@
 
 SHELL = @SHELL@
 
@@ -48,20 +46,27 @@ MULTICLEAN = true
 INSTALL = @INSTALL@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
+mkinstalldirs = $(SHELL) $(libiberty_topdir)/mkinstalldirs
+
+# Some compilers can't handle cc -c blah.c -o foo/blah.o.
+OUTPUT_OPTION = @OUTPUT_OPTION@
 
 AR = @AR@
 AR_FLAGS = rc
 
 CC = @CC@
 CFLAGS = @CFLAGS@
-LIBCFLAGS = $(CFLAGS)
+CPPFLAGS = @CPPFLAGS@
 RANLIB = @RANLIB@
+MAKEINFO = @MAKEINFO@
+PERL = @PERL@
 
-PICFLAG =
+PICFLAG = @PICFLAG@
 
 MAKEOVERRIDES =
 
-TARGETLIB = libiberty.a
+TARGETLIB = ./libiberty.a
+TESTLIB = ./testlib.a
 
 LIBOBJS = @LIBOBJS@
 
@@ -75,7 +80,8 @@ FLAGS_TO_PASS = \
        "AR_FLAGS=$(AR_FLAGS)" \
        "CC=$(CC)" \
        "CFLAGS=$(CFLAGS)" \
-       "LIBCFLAGS=$(LIBCFLAGS)" \
+       "CPPFLAGS=$(CPPFLAGS)" \
+       "DESTDIR=$(DESTDIR)" \
        "EXTRA_OFILES=$(EXTRA_OFILES)" \
        "HDEFINES=$(HDEFINES)" \
        "INSTALL=$(INSTALL)" \
@@ -94,8 +100,9 @@ FLAGS_TO_PASS = \
 # Subdirectories to recurse into. We need to override this during cleaning
 SUBDIRS = testsuite
 
-all: stamp-picdir $(TARGETLIB) needed-list required-list all-subdir
-       @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
+# FIXME: add @BUILD_INFO@ once we're sure it works for everyone.
+all: stamp-picdir $(TARGETLIB) required-list all-subdir
+       @: $(MAKE) ; $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
 
 .PHONY: check installcheck
 check: check-subdir
@@ -105,82 +112,256 @@ installcheck: installcheck-subdir
 
 INCDIR=$(srcdir)/$(MULTISRCTOP)../include
 
-COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
-.c.o:
-       if [ x"$(PICFLAG)" != x ]; then \
-         $(COMPILE.c) $(PICFLAG) $< -o pic/$@; \
-       else true; fi
-       $(COMPILE.c) $<
+COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
 
-info: info-subdir
-install-info: install-info-subdir
-clean-info: clean-info-subdir
-dvi: dvi-subdir
+# Just to make sure we don't use a built-in rule with VPATH
+.c.$(objext):
+       false
 
 # NOTE: If you add new files to the library, add them to this list
-# (alphabetical), and add them to REQUIRED_OFILES or funcs in
-# configure.in.
-CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c       \
-       bzero.c calloc.c choose-temp.c clock.c concat.c cplus-dem.c           \
-        cp-demangle.c dyn-string.c fdmatch.c fnmatch.c ffs.c getcwd.c        \
-       getpwd.c getopt.c getopt1.c getpagesize.c getruntime.c                \
-       floatformat.c hashtab.c hex.c index.c insque.c lbasename.c            \
-       md5.c make-temp-file.c memchr.c                                       \
-       memcmp.c memcpy.c memmove.c memset.c mkstemps.c objalloc.c obstack.c  \
-       partition.c pexecute.c putenv.c random.c                              \
-       regex.c rename.c rindex.c setenv.c                                    \
-       sigsetmask.c safe-ctype.c sort.c spaces.c splay-tree.c strcasecmp.c   \
-       strncasecmp.c strchr.c strdup.c strerror.c strncmp.c strrchr.c        \
-       strsignal.c strstr.c strtod.c strtol.c strtoul.c tmpnam.c vasprintf.c \
-       vfork.c vfprintf.c vprintf.c vsprintf.c waitpid.c xatexit.c xexit.c   \
-       xmalloc.c xmemdup.c xstrdup.c xstrerror.c ternary.c
-
-# These are always included in the library.
-REQUIRED_OFILES = argv.o alloca.o choose-temp.o concat.o cplus-dem.o          \
-       cp-demangle.o dyn-string.o fdmatch.o fnmatch.o getopt.o getopt1.o     \
-       getpwd.o getruntime.o hashtab.o hex.o floatformat.o lbasename.o       \
-        md5.o make-temp-file.o objalloc.o                                    \
-       obstack.o partition.o pexecute.o regex.o safe-ctype.o sort.o spaces.o \
-       splay-tree.o strerror.o strsignal.o xatexit.o xexit.o xmalloc.o       \
-       xmemdup.o xstrdup.o xstrerror.o ternary.o
+# (alphabetical), and add them to REQUIRED_OFILES, or
+# CONFIGURED_OFILES and funcs in configure.ac.  Also run "make maint-deps"
+# to build the new rules.
+CFILES = alloca.c argv.c asprintf.c atexit.c                           \
+       basename.c bcmp.c bcopy.c bsearch.c bzero.c                     \
+       calloc.c choose-temp.c clock.c concat.c cp-demangle.c           \
+        cp-demint.c cplus-dem.c crc32.c                                \
+       dyn-string.c                                                    \
+       fdmatch.c ffs.c fibheap.c filename_cmp.c floatformat.c          \
+       fnmatch.c fopen_unlocked.c                                      \
+       getcwd.c getopt.c getopt1.c getpagesize.c getpwd.c getruntime.c \
+         gettimeofday.c                                                 \
+       hashtab.c hex.c                                                 \
+       index.c insque.c                                                \
+       lbasename.c                                                     \
+       lrealpath.c                                                     \
+       make-relative-prefix.c                                          \
+       make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmem.c      \
+        memmove.c mempcpy.c memset.c mkstemps.c                        \
+       objalloc.c obstack.c                                            \
+       partition.c pexecute.c                                          \
+        pex-common.c pex-djgpp.c pex-msdos.c pex-one.c                 \
+        pex-unix.c pex-win32.c                                         \
+         physmem.c putenv.c                                            \
+       random.c regex.c rename.c rindex.c                              \
+       safe-ctype.c setenv.c sha1.c sigsetmask.c snprintf.c sort.c     \
+        spaces.c splay-tree.c stpcpy.c stpncpy.c strcasecmp.c          \
+        strchr.c strdup.c strerror.c strncasecmp.c strncmp.c           \
+        strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c     \
+        strndup.c strverscmp.c                                         \
+       tmpnam.c                                                        \
+       unlink-if-ordinary.c                                            \
+       vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \
+       waitpid.c                                                       \
+       xatexit.c xexit.c xmalloc.c xmemdup.c xstrdup.c xstrerror.c     \
+        xstrndup.c
+
+# These are always included in the library.  The first four are listed
+# first and by compile time to optimize parallel builds.
+REQUIRED_OFILES =                                                      \
+       ./regex.$(objext) ./cplus-dem.$(objext) ./cp-demangle.$(objext) \
+       ./md5.$(objext) ./sha1.$(objext) ./alloca.$(objext)             \
+       ./argv.$(objext)                                                \
+       ./choose-temp.$(objext) ./concat.$(objext)                      \
+       ./cp-demint.$(objext) ./crc32.$(objext) ./dyn-string.$(objext)  \
+       ./fdmatch.$(objext) ./fibheap.$(objext)                         \
+       ./filename_cmp.$(objext) ./floatformat.$(objext)                \
+       ./fnmatch.$(objext) ./fopen_unlocked.$(objext)                  \
+       ./getopt.$(objext) ./getopt1.$(objext) ./getpwd.$(objext)       \
+       ./getruntime.$(objext) ./hashtab.$(objext) ./hex.$(objext)      \
+       ./lbasename.$(objext) ./lrealpath.$(objext)                     \
+       ./make-relative-prefix.$(objext) ./make-temp-file.$(objext)     \
+       ./objalloc.$(objext) ./obstack.$(objext)                        \
+       ./partition.$(objext) ./pexecute.$(objext) ./physmem.$(objext)  \
+       ./pex-common.$(objext) ./pex-one.$(objext)                      \
+       ./@pexecute@.$(objext)                                          \
+       ./safe-ctype.$(objext) ./sort.$(objext) ./spaces.$(objext)      \
+       ./splay-tree.$(objext) ./strerror.$(objext)                     \
+       ./strsignal.$(objext) ./unlink-if-ordinary.$(objext)            \
+       ./xatexit.$(objext) ./xexit.$(objext) ./xmalloc.$(objext)       \
+       ./xmemdup.$(objext) ./xstrdup.$(objext) ./xstrerror.$(objext)   \
+       ./xstrndup.$(objext)
+
+# These are all the objects that configure may add to the library via
+# $funcs or EXTRA_OFILES.  This list exists here only for "make
+# maint-missing" and "make check".
+CONFIGURED_OFILES = ./asprintf.$(objext) ./atexit.$(objext)            \
+       ./basename.$(objext) ./bcmp.$(objext) ./bcopy.$(objext)         \
+       ./bsearch.$(objext) ./bzero.$(objext)                           \
+       ./calloc.$(objext) ./clock.$(objext) ./copysign.$(objext)       \
+       ./_doprnt.$(objext)                                             \
+        ./ffs.$(objext)                                                \
+       ./getcwd.$(objext) ./getpagesize.$(objext)                      \
+        ./gettimeofday.$(objext)                                       \
+       ./index.$(objext) ./insque.$(objext)                            \
+       ./memchr.$(objext) ./memcmp.$(objext) ./memcpy.$(objext)        \
+       ./memmem.$(objext) ./memmove.$(objext)                          \
+        ./mempcpy.$(objext) ./memset.$(objext) ./mkstemps.$(objext)    \
+       ./pex-djgpp.$(objext) ./pex-msdos.$(objext)                     \
+        ./pex-unix.$(objext) ./pex-win32.$(objext)                     \
+        ./putenv.$(objext)                                             \
+       ./random.$(objext) ./rename.$(objext) ./rindex.$(objext)        \
+       ./setenv.$(objext) ./sigsetmask.$(objext) ./snprintf.$(objext)  \
+        ./stpcpy.$(objext) ./stpncpy.$(objext) ./strcasecmp.$(objext)  \
+        ./strchr.$(objext) ./strdup.$(objext) ./strncasecmp.$(objext)  \
+        ./strncmp.$(objext) ./strndup.$(objext) ./strrchr.$(objext)    \
+        ./strstr.$(objext) ./strtod.$(objext) ./strtol.$(objext)       \
+        ./strtoul.$(objext) ./strverscmp.$(objext)                     \
+       ./tmpnam.$(objext)                                              \
+       ./vasprintf.$(objext) ./vfork.$(objext) ./vfprintf.$(objext)    \
+        ./vprintf.$(objext) ./vsnprintf.$(objext) ./vsprintf.$(objext) \
+       ./waitpid.$(objext)
+
+# These files are installed if the library has been configured to do so.
+INSTALLED_HEADERS =                                                     \
+       $(INCDIR)/ansidecl.h                                            \
+       $(INCDIR)/demangle.h                                            \
+       $(INCDIR)/dyn-string.h                                          \
+       $(INCDIR)/fibheap.h                                             \
+       $(INCDIR)/floatformat.h                                         \
+       $(INCDIR)/hashtab.h                                             \
+       $(INCDIR)/libiberty.h                                           \
+       $(INCDIR)/objalloc.h                                            \
+       $(INCDIR)/partition.h                                           \
+       $(INCDIR)/safe-ctype.h                                          \
+       $(INCDIR)/sort.h                                                \
+       $(INCDIR)/splay-tree.h
 
 $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
-       -rm -f $(TARGETLIB)
+       -rm -f $(TARGETLIB) pic/$(TARGETLIB)
        $(AR) $(AR_FLAGS) $(TARGETLIB) \
          $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
        $(RANLIB) $(TARGETLIB)
+       if [ x"$(PICFLAG)" != x ]; then \
+         cd pic; \
+         $(AR) $(AR_FLAGS) $(TARGETLIB) \
+           $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
+         $(RANLIB) $(TARGETLIB); \
+         cd ..; \
+       else true; fi
+
+$(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
+       -rm -f $(TESTLIB)
+       $(AR) $(AR_FLAGS) $(TESTLIB) \
+         $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
+       $(RANLIB) $(TESTLIB)
+
+info: libiberty.info info-subdir
+install-info: install-info-subdir
+clean-info: clean-info-subdir
+dvi: libiberty.dvi dvi-subdir
+
+LIBIBERTY_PDFFILES = libiberty.pdf
+
+pdf: $(LIBIBERTY_PDFFILES) pdf-subdir
+
+.PHONY: install-pdf
+
+pdf__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+
+install-pdf: $(LIBIBERTY_PDFFILES)
+       @$(NORMAL_INSTALL)
+       test -z "$(pdfdir)" || $(mkinstalldirs) "$(DESTDIR)$(pdfdir)"
+       @list='$(LIBIBERTY_PDFFILES)'; for p in $$list; do \
+         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+         f=$(pdf__strip_dir) \
+         echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
+         $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
+       done
+
+# html, install-html targets
+HTMLS = libiberty.html
+
+html: $(HTMLS)
+
+.PHONY: install-html install-html-am
+
+NORMAL_INSTALL = :
+mkdir_p = mkdir -p --
+
+html__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+
+install-html: install-html-am
+
+install-html-am: $(HTMLS)
+       @$(NORMAL_INSTALL)
+       test -z "$(htmldir)" || $(mkdir_p) "$(DESTDIR)$(htmldir)"
+       @list='$(HTMLS)'; for p in $$list; do \
+         if test -f "$$p" || test -d "$$p"; then d=""; else d="$(srcdir)/"; fi; \
+         f=$(html__strip_dir) \
+         if test -d "$$d$$p"; then \
+           echo " $(mkdir_p) '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(mkdir_p) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
+           echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
+         else \
+           echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
+           $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+         fi; \
+       done
+
+TEXISRC = \
+       $(srcdir)/libiberty.texi \
+       $(srcdir)/copying-lib.texi \
+       $(srcdir)/obstacks.texi \
+       $(srcdir)/functions.texi
+
+# Additional files that have texi snippets that need to be collected
+# and sorted.  Some are here because the sources are imported from
+# elsewhere.  Others represent headers in ../include.
+TEXIFILES = fnmatch.txh pexecute.txh
+
+libiberty.info : $(srcdir)/libiberty.texi $(TEXISRC)
+       $(MAKEINFO) -I$(srcdir) $(srcdir)/libiberty.texi
+
+libiberty.dvi : $(srcdir)/libiberty.texi $(TEXISRC)
+       texi2dvi $(srcdir)/libiberty.texi
+
+libiberty.pdf : $(srcdir)/libiberty.texi $(TEXISRC)
+       texi2pdf $(srcdir)/libiberty.texi
+
+libiberty.html : $(srcdir)/libiberty.texi $(TEXISRC)
+       $(MAKEINFO) --no-split --html -I$(srcdir) -o $@ $<
+
+@MAINT@$(srcdir)/functions.texi : stamp-functions
+@MAINT@        @true
+
+@MAINT@stamp-functions : $(CFILES:%=$(srcdir)/%) $(TEXIFILES:%=$(srcdir)/%) $(srcdir)/gather-docs Makefile
+@MAINT@@HAVE_PERL@     $(PERL) $(srcdir)/gather-docs $(srcdir) $(srcdir)/functions.texi $(CFILES) $(TEXIFILES)
+@MAINT@        echo stamp > stamp-functions
 
 INSTALL_DEST = @INSTALL_DEST@
 install: install_to_$(INSTALL_DEST) install-subdir
 
+# This is tricky.  Even though CC in the Makefile contains
+# multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
+# default multilib, so we have to take CFLAGS into account as well,
+# since it will be passed the multilib flags.
+MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
 install_to_libdir: all
-       $(INSTALL_DATA) $(TARGETLIB) $(libdir)$(MULTISUBDIR)/$(TARGETLIB)n
-       ( cd $(libdir)$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB)n )
-       mv -f $(libdir)$(MULTISUBDIR)/$(TARGETLIB)n $(libdir)$(MULTISUBDIR)/$(TARGETLIB)
+       ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
+       $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
+       ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
+       mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
+       if test -n "${target_header_dir}"; then \
+         case "${target_header_dir}" in \
+           /*)    thd=${target_header_dir};; \
+           *)     thd=${includedir}/${target_header_dir};; \
+         esac; \
+         ${mkinstalldirs} $(DESTDIR)$${thd}; \
+         for h in ${INSTALLED_HEADERS}; do \
+           ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
+         done; \
+       fi
        @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
 
 install_to_tooldir: all
-       $(INSTALL_DATA) $(TARGETLIB) $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)n
-       ( cd $(tooldir)/lib$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB)n )
-       mv -f $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)n $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB)
+       ${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
+       $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n
+       ( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n; $(RANLIB) $(TARGETLIB)n )
+       mv -f $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)
        @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
 
-# needed-list is used by libstdc++.  NEEDED is the list of functions
-# to include there.  Do not add anything LGPL to this list; libstdc++
-# can't use anything encumbering.
-NEEDED = atexit calloc memchr memcmp memcpy memmove memset rename strchr \
-        strerror strncmp strrchr strstr strtol strtoul tmpnam vfprintf vprintf \
-        vfork waitpid bcmp bcopy bzero
-needed-list: Makefile
-       rm -f needed-list; touch needed-list; \
-       for f in $(NEEDED); do \
-         for g in $(LIBOBJS) $(EXTRA_OFILES); do \
-           case "$$g" in \
-             *$$f*) echo $$g >> needed-list ;; \
-           esac; \
-         done; \
-       done
-
 # required-list was used when building a shared bfd/opcodes/libiberty
 # library.  I don't know if it used by anything currently.
 required-list: Makefile
@@ -200,31 +381,52 @@ TAGS: $(CFILES)
        etags `for i in $(CFILES); do echo $(srcdir)/$$i ; done`
 
 # The standalone demangler (c++filt) has been moved to binutils.
-demangle:
+# But make this target work anyway for demangler hacking.
+demangle: $(ALL) $(srcdir)/cp-demangle.c
        @echo "The standalone demangler, now named c++filt, is now"
        @echo "a part of binutils."
-       @false
+       $(CC) @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) \
+         $(srcdir)/cp-demangle.c -DSTANDALONE_DEMANGLER $(TARGETLIB) -o $@
 
 ls:
        @echo Makefile $(CFILES)
 
+# Various targets for maintainers.
+
+maint-missing :
+       @$(PERL) $(srcdir)/maint-tool -s $(srcdir) missing $(CFILES) $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
+
+maint-buildall : $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
+       @true
+
+maint-undoc : $(srcdir)/functions.texi
+       @$(PERL) $(srcdir)/maint-tool -s $(srcdir) undoc
+
+maint-deps :
+       @$(PERL) $(srcdir)/maint-tool -s $(srcdir) deps $(INCDIR)
+
 # Need to deal with profiled libraries, too.
 
 # Cleaning has to be done carefully to ensure that we don't clean our SUBDIRS
 # multiple times, hence our explicit recursion with an empty SUBDIRS.
 mostlyclean: mostlyclean-subdir
-       -rm -rf *.o pic core errs \#* *.E a.out
-       -rm -f needed.awk needed2.awk errors dummy needed-list config.h stamp-*
-       -rm -f $(CONFIG_H) $(NEEDED_LIST) stamp-picdir
+       -rm -rf *.$(objext) pic core errs \#* *.E a.out
+       -rm -f errors dummy config.h stamp-*
+       -rm -f $(CONFIG_H) stamp-picdir
+       -rm -f libiberty.aux libiberty.cp libiberty.cps libiberty.fn libiberty.ky
+       -rm -f libiberty.log libiberty.tmp libiberty.tps libiberty.pg
+       -rm -f libiberty.pgs libiberty.toc libiberty.tp libiberty.tpl libiberty.vr
+       -rm -f libtexi.stamp
        @$(MULTICLEAN) multi-clean DO=mostlyclean
 clean: clean-subdir
        $(MAKE) SUBDIRS="" mostlyclean
        -rm -f *.a required-list tmpmulti.out
+       -rm -f libiberty.dvi libiberty.pdf libiberty.info* libiberty.html
        @$(MULTICLEAN) multi-clean DO=clean
 distclean: distclean-subdir
        $(MAKE) SUBDIRS="" clean
        @$(MULTICLEAN) multi-clean DO=distclean
-       -rm -f *~ Makefile config.status xhost-mkfrag TAGS multilib.out
+       -rm -f *~ Makefile config.cache config.status xhost-mkfrag TAGS multilib.out
        -rm -f config.log
        -rmdir testsuite 2>/dev/null
 maintainer-clean realclean: maintainer-clean-subdir
@@ -235,70 +437,756 @@ force:
 Makefile: $(srcdir)/Makefile.in config.status
        CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
 
+# Depending on Makefile makes sure that config.status has been re-run
+# if needed.  This prevents problems with parallel builds.
 config.h: stamp-h ; @true
-stamp-h: config.in config.status
-       CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
+stamp-h: $(srcdir)/config.in config.status Makefile
+       CONFIG_FILES= CONFIG_HEADERS=config.h:$(srcdir)/config.in $(SHELL) ./config.status
 
-config.status: $(srcdir)/configure $(srcdir)/config.table
+config.status: $(srcdir)/configure
        $(SHELL) ./config.status --recheck
 
+AUTOCONF = autoconf
+configure_deps = $(srcdir)/aclocal.m4 \
+       $(srcdir)/../config/acx.m4 \
+       $(srcdir)/../config/no-executables.m4 \
+       $(srcdir)/../config/override.m4 \
+       $(srcdir)/../config/warnings.m4 \
+
+$(srcdir)/configure: @MAINT@ $(srcdir)/configure.ac $(configure_deps)
+       cd $(srcdir) && $(AUTOCONF)
+
+# Depending on config.h makes sure that config.status has been re-run
+# if needed.  This prevents problems with parallel builds, in case
+# subdirectories need to run config.status also.
 all-subdir check-subdir installcheck-subdir info-subdir        \
-install-info-subdir clean-info-subdir dvi-subdir install-subdir        \
+install-info-subdir clean-info-subdir dvi-subdir pdf-subdir install-subdir     \
 etags-subdir mostlyclean-subdir clean-subdir distclean-subdir \
-maintainer-clean-subdir:
+maintainer-clean-subdir: config.h
        @subdirs='$(SUBDIRS)'; \
        target=`echo $@ | sed -e 's/-subdir//'`; \
        for dir in $$subdirs ; do \
-         cd $$dir && $(MAKE) $$target; \
+         cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $$target; \
        done
 
 $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS): stamp-picdir
+$(CONFIGURED_OFILES): stamp-picdir
+
+# Don't export variables to the environment, in order to not confuse
+# configure.
+.NOEXPORT:
+
+# The dependencies in the remainder of this file are automatically
+# generated by "make maint-deps".  Manual edits will be lost.
+
+./_doprnt.$(objext): $(srcdir)/_doprnt.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/_doprnt.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/_doprnt.c $(OUTPUT_OPTION)
+
+./alloca.$(objext): $(srcdir)/alloca.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/alloca.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION)
+
+./argv.$(objext): $(srcdir)/argv.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/argv.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/argv.c $(OUTPUT_OPTION)
+
+./asprintf.$(objext): $(srcdir)/asprintf.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/asprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/asprintf.c $(OUTPUT_OPTION)
+
+./atexit.$(objext): $(srcdir)/atexit.c config.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/atexit.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/atexit.c $(OUTPUT_OPTION)
+
+./basename.$(objext): $(srcdir)/basename.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/basename.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/basename.c $(OUTPUT_OPTION)
+
+./bcmp.$(objext): $(srcdir)/bcmp.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/bcmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/bcmp.c $(OUTPUT_OPTION)
+
+./bcopy.$(objext): $(srcdir)/bcopy.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/bcopy.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/bcopy.c $(OUTPUT_OPTION)
+
+./bsearch.$(objext): $(srcdir)/bsearch.c config.h $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/bsearch.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/bsearch.c $(OUTPUT_OPTION)
+
+./bzero.$(objext): $(srcdir)/bzero.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/bzero.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/bzero.c $(OUTPUT_OPTION)
+
+./calloc.$(objext): $(srcdir)/calloc.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/calloc.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/calloc.c $(OUTPUT_OPTION)
+
+./choose-temp.$(objext): $(srcdir)/choose-temp.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/choose-temp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/choose-temp.c $(OUTPUT_OPTION)
+
+./clock.$(objext): $(srcdir)/clock.c config.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/clock.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/clock.c $(OUTPUT_OPTION)
+
+./concat.$(objext): $(srcdir)/concat.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/concat.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/concat.c $(OUTPUT_OPTION)
+
+./copysign.$(objext): $(srcdir)/copysign.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/copysign.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/copysign.c $(OUTPUT_OPTION)
+
+./cp-demangle.$(objext): $(srcdir)/cp-demangle.c config.h $(INCDIR)/ansidecl.h \
+       $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
+       $(INCDIR)/dyn-string.h $(INCDIR)/getopt.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demangle.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/cp-demangle.c $(OUTPUT_OPTION)
+
+./cp-demint.$(objext): $(srcdir)/cp-demint.c config.h $(INCDIR)/ansidecl.h \
+       $(srcdir)/cp-demangle.h $(INCDIR)/demangle.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/cp-demint.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/cp-demint.c $(OUTPUT_OPTION)
+
+./cplus-dem.$(objext): $(srcdir)/cplus-dem.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/cplus-dem.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
+
+./crc32.$(objext): $(srcdir)/crc32.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/crc32.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/crc32.c $(OUTPUT_OPTION)
+
+./dyn-string.$(objext): $(srcdir)/dyn-string.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/dyn-string.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/dyn-string.c $(OUTPUT_OPTION)
+
+./fdmatch.$(objext): $(srcdir)/fdmatch.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/fdmatch.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/fdmatch.c $(OUTPUT_OPTION)
+
+./ffs.$(objext): $(srcdir)/ffs.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/ffs.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/ffs.c $(OUTPUT_OPTION)
+
+./fibheap.$(objext): $(srcdir)/fibheap.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/fibheap.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/fibheap.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
+
+./filename_cmp.$(objext): $(srcdir)/filename_cmp.c config.h $(INCDIR)/filenames.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/filename_cmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/filename_cmp.c $(OUTPUT_OPTION)
+
+./floatformat.$(objext): $(srcdir)/floatformat.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/floatformat.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/floatformat.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/floatformat.c $(OUTPUT_OPTION)
+
+./fnmatch.$(objext): $(srcdir)/fnmatch.c config.h $(INCDIR)/fnmatch.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/fnmatch.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
+
+./fopen_unlocked.$(objext): $(srcdir)/fopen_unlocked.c config.h \
+       $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/fopen_unlocked.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/fopen_unlocked.c $(OUTPUT_OPTION)
+
+./getcwd.$(objext): $(srcdir)/getcwd.c config.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/getcwd.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/getcwd.c $(OUTPUT_OPTION)
+
+./getopt.$(objext): $(srcdir)/getopt.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/getopt.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/getopt.c $(OUTPUT_OPTION)
+
+./getopt1.$(objext): $(srcdir)/getopt1.c config.h $(INCDIR)/getopt.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/getopt1.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/getopt1.c $(OUTPUT_OPTION)
+
+./getpagesize.$(objext): $(srcdir)/getpagesize.c config.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/getpagesize.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/getpagesize.c $(OUTPUT_OPTION)
+
+./getpwd.$(objext): $(srcdir)/getpwd.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/getpwd.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/getpwd.c $(OUTPUT_OPTION)
+
+./getruntime.$(objext): $(srcdir)/getruntime.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/getruntime.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/getruntime.c $(OUTPUT_OPTION)
+
+./gettimeofday.$(objext): $(srcdir)/gettimeofday.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/gettimeofday.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/gettimeofday.c $(OUTPUT_OPTION)
+
+./hashtab.$(objext): $(srcdir)/hashtab.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/hashtab.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
+
+./hex.$(objext): $(srcdir)/hex.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/hex.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/hex.c $(OUTPUT_OPTION)
+
+./index.$(objext): $(srcdir)/index.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/index.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/index.c $(OUTPUT_OPTION)
+
+./insque.$(objext): $(srcdir)/insque.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/insque.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION)
+
+./lbasename.$(objext): $(srcdir)/lbasename.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/filenames.h $(INCDIR)/libiberty.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/lbasename.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
+
+./lrealpath.$(objext): $(srcdir)/lrealpath.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/lrealpath.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
+
+./make-relative-prefix.$(objext): $(srcdir)/make-relative-prefix.c config.h \
+       $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/make-relative-prefix.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
+
+./make-temp-file.$(objext): $(srcdir)/make-temp-file.c config.h \
+       $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/make-temp-file.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/make-temp-file.c $(OUTPUT_OPTION)
+
+./md5.$(objext): $(srcdir)/md5.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/md5.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/md5.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/md5.c $(OUTPUT_OPTION)
+
+./memchr.$(objext): $(srcdir)/memchr.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/memchr.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/memchr.c $(OUTPUT_OPTION)
+
+./memcmp.$(objext): $(srcdir)/memcmp.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/memcmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/memcmp.c $(OUTPUT_OPTION)
+
+./memcpy.$(objext): $(srcdir)/memcpy.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/memcpy.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/memcpy.c $(OUTPUT_OPTION)
+
+./memmem.$(objext): $(srcdir)/memmem.c config.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/memmem.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/memmem.c $(OUTPUT_OPTION)
+
+./memmove.$(objext): $(srcdir)/memmove.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/memmove.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/memmove.c $(OUTPUT_OPTION)
+
+./mempcpy.$(objext): $(srcdir)/mempcpy.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/mempcpy.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/mempcpy.c $(OUTPUT_OPTION)
+
+./memset.$(objext): $(srcdir)/memset.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/memset.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/memset.c $(OUTPUT_OPTION)
+
+./mkstemps.$(objext): $(srcdir)/mkstemps.c config.h $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/mkstemps.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/mkstemps.c $(OUTPUT_OPTION)
+
+./msdos.$(objext): $(srcdir)/msdos.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/msdos.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/msdos.c $(OUTPUT_OPTION)
+
+./objalloc.$(objext): $(srcdir)/objalloc.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/objalloc.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/objalloc.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/objalloc.c $(OUTPUT_OPTION)
+
+./obstack.$(objext): $(srcdir)/obstack.c config.h $(INCDIR)/obstack.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/obstack.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/obstack.c $(OUTPUT_OPTION)
+
+./partition.$(objext): $(srcdir)/partition.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/partition.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/partition.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/partition.c $(OUTPUT_OPTION)
+
+./pex-common.$(objext): $(srcdir)/pex-common.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-common.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pex-common.c $(OUTPUT_OPTION)
+
+./pex-djgpp.$(objext): $(srcdir)/pex-djgpp.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-djgpp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pex-djgpp.c $(OUTPUT_OPTION)
+
+./pex-msdos.$(objext): $(srcdir)/pex-msdos.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(srcdir)/pex-common.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-msdos.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pex-msdos.c $(OUTPUT_OPTION)
+
+./pex-one.$(objext): $(srcdir)/pex-one.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-one.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pex-one.c $(OUTPUT_OPTION)
+
+./pex-unix.$(objext): $(srcdir)/pex-unix.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-unix.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pex-unix.c $(OUTPUT_OPTION)
+
+./pex-win32.$(objext): $(srcdir)/pex-win32.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pex-win32.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pex-win32.c $(OUTPUT_OPTION)
+
+./pexecute.$(objext): $(srcdir)/pexecute.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/pexecute.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/pexecute.c $(OUTPUT_OPTION)
+
+./physmem.$(objext): $(srcdir)/physmem.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/physmem.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/physmem.c $(OUTPUT_OPTION)
+
+./putenv.$(objext): $(srcdir)/putenv.c config.h $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/putenv.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/putenv.c $(OUTPUT_OPTION)
+
+./random.$(objext): $(srcdir)/random.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/random.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION)
+
+./regex.$(objext): $(srcdir)/regex.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/regex.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/regex.c $(OUTPUT_OPTION)
+
+./rename.$(objext): $(srcdir)/rename.c config.h $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/rename.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/rename.c $(OUTPUT_OPTION)
+
+./rindex.$(objext): $(srcdir)/rindex.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/rindex.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/rindex.c $(OUTPUT_OPTION)
+
+./safe-ctype.$(objext): $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/safe-ctype.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/safe-ctype.c $(OUTPUT_OPTION)
+
+./setenv.$(objext): $(srcdir)/setenv.c config.h $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/setenv.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/setenv.c $(OUTPUT_OPTION)
+
+./sha1.$(objext): $(srcdir)/sha1.c config.h $(INCDIR)/ansidecl.h $(INCDIR)/sha1.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/sha1.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/sha1.c $(OUTPUT_OPTION)
+
+./sigsetmask.$(objext): $(srcdir)/sigsetmask.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/sigsetmask.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION)
+
+./snprintf.$(objext): $(srcdir)/snprintf.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/snprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/snprintf.c $(OUTPUT_OPTION)
+
+./sort.$(objext): $(srcdir)/sort.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/sort.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/sort.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION)
+
+./spaces.$(objext): $(srcdir)/spaces.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/spaces.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/spaces.c $(OUTPUT_OPTION)
+
+./splay-tree.$(objext): $(srcdir)/splay-tree.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/splay-tree.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
+
+./stpcpy.$(objext): $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/stpcpy.c $(OUTPUT_OPTION)
+
+./stpncpy.$(objext): $(srcdir)/stpncpy.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/stpncpy.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/stpncpy.c $(OUTPUT_OPTION)
+
+./strcasecmp.$(objext): $(srcdir)/strcasecmp.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strcasecmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strcasecmp.c $(OUTPUT_OPTION)
+
+./strchr.$(objext): $(srcdir)/strchr.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strchr.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strchr.c $(OUTPUT_OPTION)
+
+./strdup.$(objext): $(srcdir)/strdup.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strdup.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strdup.c $(OUTPUT_OPTION)
+
+./strerror.$(objext): $(srcdir)/strerror.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strerror.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strerror.c $(OUTPUT_OPTION)
+
+./strncasecmp.$(objext): $(srcdir)/strncasecmp.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strncasecmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strncasecmp.c $(OUTPUT_OPTION)
+
+./strncmp.$(objext): $(srcdir)/strncmp.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strncmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strncmp.c $(OUTPUT_OPTION)
+
+./strndup.$(objext): $(srcdir)/strndup.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strndup.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strndup.c $(OUTPUT_OPTION)
+
+./strrchr.$(objext): $(srcdir)/strrchr.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strrchr.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strrchr.c $(OUTPUT_OPTION)
+
+./strsignal.$(objext): $(srcdir)/strsignal.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strsignal.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strsignal.c $(OUTPUT_OPTION)
+
+./strstr.$(objext): $(srcdir)/strstr.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strstr.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strstr.c $(OUTPUT_OPTION)
+
+./strtod.$(objext): $(srcdir)/strtod.c $(INCDIR)/ansidecl.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strtod.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strtod.c $(OUTPUT_OPTION)
+
+./strtol.$(objext): $(srcdir)/strtol.c config.h $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strtol.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION)
+
+./strtoul.$(objext): $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoul.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION)
+
+./strverscmp.$(objext): $(srcdir)/strverscmp.c $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/strverscmp.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/strverscmp.c $(OUTPUT_OPTION)
+
+./tmpnam.$(objext): $(srcdir)/tmpnam.c
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/tmpnam.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/tmpnam.c $(OUTPUT_OPTION)
+
+./unlink-if-ordinary.$(objext): $(srcdir)/unlink-if-ordinary.c config.h \
+       $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/unlink-if-ordinary.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
+
+./vasprintf.$(objext): $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/vasprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/vasprintf.c $(OUTPUT_OPTION)
+
+./vfork.$(objext): $(srcdir)/vfork.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/vfork.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/vfork.c $(OUTPUT_OPTION)
+
+./vfprintf.$(objext): $(srcdir)/vfprintf.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/vfprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/vfprintf.c $(OUTPUT_OPTION)
+
+./vprintf.$(objext): $(srcdir)/vprintf.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/vprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/vprintf.c $(OUTPUT_OPTION)
+
+./vsnprintf.$(objext): $(srcdir)/vsnprintf.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/vsnprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/vsnprintf.c $(OUTPUT_OPTION)
+
+./vsprintf.$(objext): $(srcdir)/vsprintf.c $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/vsprintf.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/vsprintf.c $(OUTPUT_OPTION)
+
+./waitpid.$(objext): $(srcdir)/waitpid.c config.h $(INCDIR)/ansidecl.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/waitpid.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
+
+./xatexit.$(objext): $(srcdir)/xatexit.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xatexit.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
+
+./xexit.$(objext): $(srcdir)/xexit.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xexit.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xexit.c $(OUTPUT_OPTION)
+
+./xmalloc.$(objext): $(srcdir)/xmalloc.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xmalloc.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xmalloc.c $(OUTPUT_OPTION)
+
+./xmemdup.$(objext): $(srcdir)/xmemdup.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xmemdup.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xmemdup.c $(OUTPUT_OPTION)
+
+./xstrdup.$(objext): $(srcdir)/xstrdup.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrdup.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xstrdup.c $(OUTPUT_OPTION)
+
+./xstrerror.$(objext): $(srcdir)/xstrerror.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrerror.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xstrerror.c $(OUTPUT_OPTION)
+
+./xstrndup.$(objext): $(srcdir)/xstrndup.c config.h $(INCDIR)/ansidecl.h \
+       $(INCDIR)/libiberty.h
+       if [ x"$(PICFLAG)" != x ]; then \
+         $(COMPILE.c) $(PICFLAG) $(srcdir)/xstrndup.c -o pic/$@; \
+       else true; fi
+       $(COMPILE.c) $(srcdir)/xstrndup.c $(OUTPUT_OPTION)
 
-alloca.o: config.h $(INCDIR)/libiberty.h
-atexit.o: config.h
-argv.o: config.h $(INCDIR)/libiberty.h
-basename.o: $(INCDIR)/libiberty.h
-choose-temp.o: config.h
-clock.o: config.h
-concat.o: config.h $(INCDIR)/libiberty.h
-cplus-dem.o: config.h $(INCDIR)/demangle.h
-cp-demangle.o: config.h $(INCDIR)/dyn-string.h $(INCDIR)/demangle.h
-dyn-string.o: config.h $(INCDIR)/dyn-string.h
-fdmatch.o: $(INCDIR)/libiberty.h
-fnmatch.o: config.h $(INCDIR)/fnmatch.h
-getcwd.o: config.h
-getopt.o: config.h $(INCDIR)/getopt.h
-getopt1.o: config.h $(INCDIR)/getopt.h
-getpagesize.o: config.h
-getpwd.o: config.h $(INCDIR)/libiberty.h
-getruntime.o: config.h $(INCDIR)/libiberty.h
-hex.o: $(INCDIR)/libiberty.h
-floatformat.o: $(INCDIR)/floatformat.h
-lbasename.o: $(INCDIR)/libiberty.h
-make-temp-file.o: config.h
-mkstemps.o: config.h
-md5.o: config.h
-objalloc.o: config.h $(INCDIR)/objalloc.h
-obstack.o: config.h $(INCDIR)/obstack.h
-partition.o: config.h $(INCDIR)/partition.h
-pexecute.o: config.h $(INCDIR)/libiberty.h
-regex.o: config.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
-rename.o: config.h
-setenv.o: config.h
-sort.o: config.h $(INCDIR)/sort.h $(INCDIR)/ansidecl.h
-spaces.o: $(INCDIR)/libiberty.h
-splay-tree.o: config.h $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h $(INCDIR)/ansidecl.h
-strerror.o: config.h $(INCDIR)/libiberty.h
-strsignal.o: config.h $(INCDIR)/libiberty.h
-strtol.o: config.h
-strtoul.o: config.h
-ternary.o: config.h $(INCDIR)/ternary.h $(INCDIR)/libiberty.h
-vasprintf.o: config.h
-xatexit.o: $(INCDIR)/libiberty.h
-xexit.o: config.h $(INCDIR)/libiberty.h
-xmalloc.o: config.h $(INCDIR)/libiberty.h
-xmemdup.o: config.h $(INCDIR)/libiberty.h
-xstrdup.o: config.h $(INCDIR)/libiberty.h
-xstrerror.o: config.h $(INCDIR)/libiberty.h
-waitpid.o: config.h
-hashtab.o: config.h $(INCDIR)/libiberty.h $(INCDIR)/hashtab.h $(INCDIR)/ansidecl.h