#
# Makefile
#   Copyright (C) 1990, 91-99, 2000, 2001, 2002, 2003, 2004, 2005
#   Free Software Foundation
#
# This file is part of the libiberty library.
# Libiberty 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.
#
# Libiberty 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 libiberty; see the file COPYING.LIB.  If not,
# write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
# Boston, MA 02110-1301, USA.
#

# This file was written by K. Richard Pixley <rich@cygnus.com>.

#
# Makefile for libiberty directory
#

libiberty_topdir = @libiberty_topdir@
srcdir = @srcdir@

prefix = @prefix@

exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
target_header_dir = @target_header_dir@

SHELL = @SHELL@

# Multilib support variables.
MULTISRCTOP =
MULTIBUILDTOP =
MULTIDIRS =
MULTISUBDIR =
MULTIDO = true
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)
RANLIB = @RANLIB@
MAKEINFO = @MAKEINFO@
PERL = @PERL@

PICFLAG =

MAKEOVERRIDES =

TARGETLIB = ./libiberty.a
TESTLIB = ./testlib.a

LIBOBJS = @LIBOBJS@

# A configuration can specify extra .o files that should be included,
# even if they are in libc. (Perhaps the libc version is buggy.)
EXTRA_OFILES = 

# Flags to pass to a recursive make.
FLAGS_TO_PASS = \
	"AR=$(AR)" \
	"AR_FLAGS=$(AR_FLAGS)" \
	"CC=$(CC)" \
	"CFLAGS=$(CFLAGS)" \
	"DESTDIR=$(DESTDIR)" \
	"LIBCFLAGS=$(LIBCFLAGS)" \
	"EXTRA_OFILES=$(EXTRA_OFILES)" \
	"HDEFINES=$(HDEFINES)" \
	"INSTALL=$(INSTALL)" \
	"INSTALL_DATA=$(INSTALL_DATA)" \
	"INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
	"LDFLAGS=$(LDFLAGS)" \
	"LOADLIBES=$(LOADLIBES)" \
	"RANLIB=$(RANLIB)" \
	"SHELL=$(SHELL)" \
	"prefix=$(prefix)" \
	"exec_prefix=$(exec_prefix)" \
	"libdir=$(libdir)" \
	"libsubdir=$(libsubdir)" \
	"tooldir=$(tooldir)"

# Subdirectories to recurse into. We need to override this during cleaning
SUBDIRS = testsuite

# FIXME: add @BUILD_INFO@ once we're sure it works for everyone.
all: stamp-picdir $(TARGETLIB) needed-list required-list all-subdir
	@: $(MAKE) ; exec $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all

.PHONY: check installcheck
check: check-subdir
installcheck: installcheck-subdir

@host_makefile_frag@

INCDIR=$(srcdir)/$(MULTISRCTOP)../include

COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@

# Just to make sure we don't use a built-in rule with VPATH
.c.o:
	false

# NOTE: If you add new files to the library, add them to this list
# (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 cygpath.c				\
	dyn-string.c							\
	fdmatch.c ffs.c fibheap.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 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 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	\
	ternary.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.o ./cplus-dem.o ./cp-demangle.o ./md5.o	\
	./alloca.o ./argv.o						\
	./choose-temp.o ./concat.o ./cp-demint.o			\
	./dyn-string.o							\
	./fdmatch.o ./fibheap.o ./floatformat.o ./fnmatch.o		\
	 ./fopen_unlocked.o						\
	./getopt.o ./getopt1.o ./getpwd.o ./getruntime.o		\
	./hashtab.o ./hex.o						\
	./lbasename.o ./lrealpath.o					\
	./make-relative-prefix.o ./make-temp-file.o			\
	./objalloc.o ./obstack.o					\
	./partition.o ./pexecute.o ./physmem.o				\
	./pex-common.o ./pex-one.o @pexecute@				\
	./safe-ctype.o ./sort.o ./spaces.o ./splay-tree.o ./strerror.o	\
	 ./strsignal.o							\
	./ternary.o							\
	./unlink-if-ordinary.o						\
	./xatexit.o ./xexit.o ./xmalloc.o ./xmemdup.o ./xstrdup.o	\
	 ./xstrerror.o ./xstrndup.o

# 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.o ./atexit.o				\
	./basename.o ./bcmp.o ./bcopy.o ./bsearch.o ./bzero.o		\
	./calloc.o ./clock.o ./copysign.o ./cygpath.o			\
	./_doprnt.o							\
	./ffs.o								\
	./getcwd.o ./getpagesize.o ./gettimeofday.o			\
	./index.o ./insque.o						\
	./memchr.o ./memcmp.o ./memcpy.o ./memmove.o ./mempcpy.o	\
	 ./memset.o ./mkstemps.o					\
	./pex-djgpp.o ./pex-msdos.o					\
	 ./pex-unix.o ./pex-win32.o					\
	 ./putenv.o							\
	./random.o ./rename.o ./rindex.o				\
	./setenv.o ./sigsetmask.o ./snprintf.o ./stpcpy.o ./stpncpy.o	\
	 ./strcasecmp.o ./strchr.o ./strdup.o ./strncasecmp.o		\
	 ./strncmp.o ./strndup.o ./strrchr.o ./strstr.o			\
	 ./strtod.o ./strtol.o ./strtoul.o ./strverscmp.o		\
	./tmpnam.o							\
	./vasprintf.o ./vfork.o ./vfprintf.o ./vprintf.o ./vsnprintf.o	\
	 ./vsprintf.o							\
	./waitpid.o

# 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                                          \
	$(INCDIR)/ternary.h

$(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
	-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
html: libiberty.html

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.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

install_to_libdir: all
	${mkinstalldirs} $(DESTDIR)$(libdir)$(MULTISUBDIR)
	$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)n
	( cd $(DESTDIR)$(libdir)$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB)n )
	mv -f $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)
	if test -n "${target_header_dir}"; then \
	  case "${target_header_dir}" in \
	    /*)    thd=${target_header_dir};; \
	    *)     thd=${includedir}${MULTISUBDIR}/${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

# 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 LIBCFLAGS into account as well,
# since it will be passed the multilib flags.
MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory`
install_to_tooldir: all
	${mkinstalldirs} $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)
	$(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR)/$(TARGETLIB)n
	( cd $(DESTDIR)$(tooldir)/lib/$(MULTIOSDIR) ; $(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
	echo $(REQUIRED_OFILES) > required-list

stamp-picdir:
	if [ x"$(PICFLAG)" != x ] && [ ! -d pic ]; then \
	  mkdir pic; \
	else true; fi
	touch stamp-picdir

.PHONY: all etags tags ls clean stage1 stage2

etags tags: TAGS etags-subdir

TAGS: $(CFILES)
	etags `for i in $(CFILES); do echo $(srcdir)/$$i ; done`

# The standalone demangler (c++filt) has been moved to binutils.
demangle:
	@echo "The standalone demangler, now named c++filt, is now"
	@echo "a part of binutils."
	@false

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 -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.info* libiberty.html
	@$(MULTICLEAN) multi-clean DO=clean
distclean: distclean-subdir
	$(MAKE) SUBDIRS="" clean
	@$(MULTICLEAN) multi-clean DO=distclean
	-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
	$(MAKE) SUBDIRS="" distclean

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: $(srcdir)/config.in config.status Makefile
	CONFIG_FILES= CONFIG_HEADERS=config.h:$(srcdir)/config.in $(SHELL) ./config.status

config.status: $(srcdir)/configure
	$(SHELL) ./config.status --recheck

# 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	\
etags-subdir mostlyclean-subdir clean-subdir distclean-subdir \
maintainer-clean-subdir: config.h
	@subdirs='$(SUBDIRS)'; \
	target=`echo $@ | sed -e 's/-subdir//'`; \
	for dir in $$subdirs ; do \
	  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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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)

./cygpath.o: $(srcdir)/cygpath.c $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
	if [ x"$(PICFLAG)" != x ]; then \
	  $(COMPILE.c) $(PICFLAG) $(srcdir)/cygpath.c -o pic/$@; \
	else true; fi
	$(COMPILE.c) $(srcdir)/cygpath.c $(OUTPUT_OPTION)

./dyn-string.o: $(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.o: $(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.o: $(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.o: $(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)

./floatformat.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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)

./memmove.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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)

./sigsetmask.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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)

./ternary.o: $(srcdir)/ternary.c config.h $(INCDIR)/ansidecl.h \
	$(INCDIR)/libiberty.h $(INCDIR)/ternary.h
	if [ x"$(PICFLAG)" != x ]; then \
	  $(COMPILE.c) $(PICFLAG) $(srcdir)/ternary.c -o pic/$@; \
	else true; fi
	$(COMPILE.c) $(srcdir)/ternary.c $(OUTPUT_OPTION)

./tmpnam.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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.o: $(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)

