This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH v3] libiberty: cleanup Makefile.in


	* configure.ac (TARGETLIB_PIC, TARGETLIB_NOASAN): New variables.
	* configure: Regenerate.
	* maint-tool: Refactor pic/ and noasan/ handling.
	* Makefile.in: Likewise. Regenerate dependencies.

---
The below does the same but attempts to be limited to what POSIX
requires a make(1) to provide. Seems to compile fine with gnu-make and
bmake.

Changes v2 -> v3:
- drop unneeded SUB_CFLAGS
- add dependencies on %.c for stamp-pic-ofiles and stamp-noasan-ofiles

Ok for trunk?

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 libiberty/Makefile.in  | 2408 +++++++++++++++++++++++++++++-------------------
 libiberty/configure    |    8 +
 libiberty/configure.ac |    6 +
 libiberty/maint-tool   |   33 +-
 4 files changed, 1487 insertions(+), 968 deletions(-)

diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index f06cc69..ca4e75f 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -68,6 +68,7 @@ MAKEOVERRIDES =
 
 TARGETLIB = ./libiberty.a
 TESTLIB = ./testlib.a
+TARGETLIBS = $(TARGETLIB) @TARGETLIB_PIC@ @TARGETLIB_NOASAN@
 
 LIBOBJS = @LIBOBJS@
 
@@ -102,7 +103,7 @@ FLAGS_TO_PASS = \
 SUBDIRS = testsuite
 
 # FIXME: add @BUILD_INFO@ once we're sure it works for everyone.
-all: stamp-picdir stamp-noasandir $(TARGETLIB) required-list all-subdir
+all: $(TARGETLIBS) required-list all-subdir
 	@: $(MAKE) ; $(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all
 
 .PHONY: check installcheck
@@ -244,24 +245,24 @@ INSTALLED_HEADERS =                                                     \
 	$(INCDIR)/timeval-utils.h
 
 $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS)
-	-rm -f $(TARGETLIB) pic/$(TARGETLIB) noasan/$(TARGETLIB)
-	$(AR) $(AR_FLAGS) $(TARGETLIB) \
+	-rm -f $@
+	$(AR) $(AR_FLAGS) $@ \
 	  $(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; \
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  cd noasan; \
-	  $(AR) $(AR_FLAGS) $(TARGETLIB) \
-	    $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
-	  $(RANLIB) $(TARGETLIB); \
-	  cd ..; \
-	else true; fi
+	$(RANLIB) $@
+
+TARGETLIB_PIC_OFILES = `echo $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) | \
+	     sed -e 's,[^/ ]*/,./pic/,g';`
+./pic/libiberty.a: stamp-pic-ofiles
+	-rm -f $@
+	$(AR) $(AR_FLAGS) $@ $(TARGETLIB_PIC_OFILES)
+	$(RANLIB) $@
+
+TARGETLIB_NOASAN_OFILES =`echo $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) | \
+	     sed -e 's,[^/ ]*/,./noasan/,g';`
+./noasan/libiberty.a: stamp-noasan-ofiles
+	-rm -f $@
+	$(AR) $(AR_FLAGS) $@ $(TARGETLIB_NOASAN_OFILES)
+	$(RANLIB) $@
 
 $(TESTLIB): $(REQUIRED_OFILES) $(CONFIGURED_OFILES)
 	-rm -f $(TESTLIB)
@@ -393,17 +394,15 @@ install_to_tooldir: all
 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
+stamp-pic-ofiles: $(CFILES:%=$(srcdir)/%)
+	[ -d pic ] && : || mkdir pic
+	$(MAKE) $(FLAGS_TO_PASS) $(TARGETLIB_PIC_OFILES)
+	touch $@
 
-stamp-noasandir:
-	if [ x"$(NOASANFLAG)" != x ] && [ ! -d noasan ]; then \
-	  mkdir noasan; \
-	else true; fi
-	touch stamp-noasandir
+stamp-noasan-ofiles: $(CFILES:%=$(srcdir)/%)
+	[ -d noasan ] && : || mkdir noasan
+	$(MAKE) $(FLAGS_TO_PASS) $(TARGETLIB_NOASAN_OFILES)
+	touch $@
 
 .PHONY: all etags tags ls clean stage1 stage2
 
@@ -444,7 +443,7 @@ maint-deps :
 mostlyclean: mostlyclean-subdir
 	-rm -rf *.$(objext) pic noasan core errs \#* *.E a.out
 	-rm -f errors dummy config.h stamp-*
-	-rm -f $(CONFIG_H) stamp-picdir stamp-noasandir
+	-rm -f $(CONFIG_H)
 	-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
@@ -501,9 +500,6 @@ maintainer-clean-subdir: config.h
 	  cd $$dir && $(MAKE) $(FLAGS_TO_PASS) $$target; \
 	done
 
-$(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS): stamp-picdir stamp-noasandir
-$(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
-
 # Don't export variables to the environment, in order to not confuse
 # configure.
 .NOEXPORT:
@@ -511,1200 +507,1708 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
 # 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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/_doprnt.c -o noasan/$@; \
-	else true; fi
+./_doprnt.$(objext) \
+    ./pic/_doprnt.$(objext) \
+    ./noasan/_doprnt.$(objext): $(srcdir)/_doprnt.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+
+./_doprnt.$(objext):
 	$(COMPILE.c) $(srcdir)/_doprnt.c $(OUTPUT_OPTION)
 
-./alloca.$(objext): $(srcdir)/alloca.c config.h $(INCDIR)/ansidecl.h \
+./pic/_doprnt.$(objext):
+	$(COMPILE.c) $(srcdir)/_doprnt.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/_doprnt.$(objext):
+	$(COMPILE.c) $(srcdir)/_doprnt.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./alloca.$(objext) \
+    ./pic/alloca.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/alloca.c -o noasan/$@; \
-	else true; fi
+
+./alloca.$(objext):
 	$(COMPILE.c) $(srcdir)/alloca.c $(OUTPUT_OPTION)
 
-./argv.$(objext): $(srcdir)/argv.c config.h $(INCDIR)/ansidecl.h \
+./pic/alloca.$(objext):
+	$(COMPILE.c) $(srcdir)/alloca.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/alloca.$(objext):
+	$(COMPILE.c) $(srcdir)/alloca.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./argv.$(objext) \
+    ./pic/argv.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/argv.c -o noasan/$@; \
-	else true; fi
+
+./argv.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/asprintf.c -o noasan/$@; \
-	else true; fi
+./pic/argv.$(objext):
+	$(COMPILE.c) $(srcdir)/argv.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/argv.$(objext):
+	$(COMPILE.c) $(srcdir)/argv.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./asprintf.$(objext) \
+    ./pic/asprintf.$(objext) \
+    ./noasan/asprintf.$(objext): $(srcdir)/asprintf.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./asprintf.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/atexit.c -o noasan/$@; \
-	else true; fi
+./pic/asprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/asprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/asprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/asprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./atexit.$(objext) \
+    ./pic/atexit.$(objext) \
+    ./noasan/atexit.$(objext): $(srcdir)/atexit.c config.h
+
+./atexit.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/basename.c -o noasan/$@; \
-	else true; fi
+./pic/atexit.$(objext):
+	$(COMPILE.c) $(srcdir)/atexit.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/atexit.$(objext):
+	$(COMPILE.c) $(srcdir)/atexit.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./basename.$(objext) \
+    ./pic/basename.$(objext) \
+    ./noasan/basename.$(objext): $(srcdir)/basename.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+
+./basename.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bcmp.c -o noasan/$@; \
-	else true; fi
+./pic/basename.$(objext):
+	$(COMPILE.c) $(srcdir)/basename.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/basename.$(objext):
+	$(COMPILE.c) $(srcdir)/basename.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./bcmp.$(objext) \
+    ./pic/bcmp.$(objext) \
+    ./noasan/bcmp.$(objext): $(srcdir)/bcmp.c
+
+./bcmp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bcopy.c -o noasan/$@; \
-	else true; fi
+./pic/bcmp.$(objext):
+	$(COMPILE.c) $(srcdir)/bcmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/bcmp.$(objext):
+	$(COMPILE.c) $(srcdir)/bcmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./bcopy.$(objext) \
+    ./pic/bcopy.$(objext) \
+    ./noasan/bcopy.$(objext): $(srcdir)/bcopy.c
+
+./bcopy.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bsearch.c -o noasan/$@; \
-	else true; fi
+./pic/bcopy.$(objext):
+	$(COMPILE.c) $(srcdir)/bcopy.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/bcopy.$(objext):
+	$(COMPILE.c) $(srcdir)/bcopy.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./bsearch.$(objext) \
+    ./pic/bsearch.$(objext) \
+    ./noasan/bsearch.$(objext): $(srcdir)/bsearch.c config.h \
+	$(INCDIR)/ansidecl.h
+
+./bsearch.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/bzero.c -o noasan/$@; \
-	else true; fi
+./pic/bsearch.$(objext):
+	$(COMPILE.c) $(srcdir)/bsearch.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/bsearch.$(objext):
+	$(COMPILE.c) $(srcdir)/bsearch.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./bzero.$(objext) \
+    ./pic/bzero.$(objext) \
+    ./noasan/bzero.$(objext): $(srcdir)/bzero.c
+
+./bzero.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/calloc.c -o noasan/$@; \
-	else true; fi
+./pic/bzero.$(objext):
+	$(COMPILE.c) $(srcdir)/bzero.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/bzero.$(objext):
+	$(COMPILE.c) $(srcdir)/bzero.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./calloc.$(objext) \
+    ./pic/calloc.$(objext) \
+    ./noasan/calloc.$(objext): $(srcdir)/calloc.c $(INCDIR)/ansidecl.h
+
+./calloc.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/choose-temp.c -o noasan/$@; \
-	else true; fi
+./pic/calloc.$(objext):
+	$(COMPILE.c) $(srcdir)/calloc.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/calloc.$(objext):
+	$(COMPILE.c) $(srcdir)/calloc.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./choose-temp.$(objext) \
+    ./pic/choose-temp.$(objext) \
+    ./noasan/choose-temp.$(objext): $(srcdir)/choose-temp.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./choose-temp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/clock.c -o noasan/$@; \
-	else true; fi
+./pic/choose-temp.$(objext):
+	$(COMPILE.c) $(srcdir)/choose-temp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/choose-temp.$(objext):
+	$(COMPILE.c) $(srcdir)/choose-temp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./clock.$(objext) \
+    ./pic/clock.$(objext) \
+    ./noasan/clock.$(objext): $(srcdir)/clock.c config.h
+
+./clock.$(objext):
 	$(COMPILE.c) $(srcdir)/clock.c $(OUTPUT_OPTION)
 
-./concat.$(objext): $(srcdir)/concat.c config.h $(INCDIR)/ansidecl.h \
+./pic/clock.$(objext):
+	$(COMPILE.c) $(srcdir)/clock.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/clock.$(objext):
+	$(COMPILE.c) $(srcdir)/clock.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./concat.$(objext) \
+    ./pic/concat.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/concat.c -o noasan/$@; \
-	else true; fi
+
+./concat.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/copysign.c -o noasan/$@; \
-	else true; fi
+./pic/concat.$(objext):
+	$(COMPILE.c) $(srcdir)/concat.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/concat.$(objext):
+	$(COMPILE.c) $(srcdir)/concat.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./copysign.$(objext) \
+    ./pic/copysign.$(objext) \
+    ./noasan/copysign.$(objext): $(srcdir)/copysign.c $(INCDIR)/ansidecl.h
+
+./copysign.$(objext):
 	$(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 \
+./pic/copysign.$(objext):
+	$(COMPILE.c) $(srcdir)/copysign.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/copysign.$(objext):
+	$(COMPILE.c) $(srcdir)/copysign.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./cp-demangle.$(objext) \
+    ./pic/cp-demangle.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/cp-demangle.c -o noasan/$@; \
-	else true; fi
+
+./cp-demangle.$(objext):
 	$(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 \
+./pic/cp-demangle.$(objext):
+	$(COMPILE.c) $(srcdir)/cp-demangle.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/cp-demangle.$(objext):
+	$(COMPILE.c) $(srcdir)/cp-demangle.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./cp-demint.$(objext) \
+    ./pic/cp-demint.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/cp-demint.c -o noasan/$@; \
-	else true; fi
+
+./cp-demint.$(objext):
 	$(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 \
+./pic/cp-demint.$(objext):
+	$(COMPILE.c) $(srcdir)/cp-demint.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/cp-demint.$(objext):
+	$(COMPILE.c) $(srcdir)/cp-demint.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./cplus-dem.$(objext) \
+    ./pic/cplus-dem.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/cplus-dem.c -o noasan/$@; \
-	else true; fi
+
+./cplus-dem.$(objext):
 	$(COMPILE.c) $(srcdir)/cplus-dem.c $(OUTPUT_OPTION)
 
-./crc32.$(objext): $(srcdir)/crc32.c config.h $(INCDIR)/ansidecl.h \
+./pic/cplus-dem.$(objext):
+	$(COMPILE.c) $(srcdir)/cplus-dem.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/cplus-dem.$(objext):
+	$(COMPILE.c) $(srcdir)/cplus-dem.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./crc32.$(objext) \
+    ./pic/crc32.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/crc32.c -o noasan/$@; \
-	else true; fi
+
+./crc32.$(objext):
 	$(COMPILE.c) $(srcdir)/crc32.c $(OUTPUT_OPTION)
 
-./d-demangle.$(objext): $(srcdir)/d-demangle.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/demangle.h $(INCDIR)/libiberty.h \
+./pic/crc32.$(objext):
+	$(COMPILE.c) $(srcdir)/crc32.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/crc32.$(objext):
+	$(COMPILE.c) $(srcdir)/crc32.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./d-demangle.$(objext) \
+    ./pic/d-demangle.$(objext) \
+    ./noasan/d-demangle.$(objext): $(srcdir)/d-demangle.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)/d-demangle.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/d-demangle.c -o noasan/$@; \
-	else true; fi
+
+./d-demangle.$(objext):
 	$(COMPILE.c) $(srcdir)/d-demangle.c $(OUTPUT_OPTION)
 
-./dwarfnames.$(objext): $(srcdir)/dwarfnames.c $(INCDIR)/dwarf2.def \
+./pic/d-demangle.$(objext):
+	$(COMPILE.c) $(srcdir)/d-demangle.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/d-demangle.$(objext):
+	$(COMPILE.c) $(srcdir)/d-demangle.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./dwarfnames.$(objext) \
+    ./pic/dwarfnames.$(objext) \
+    ./noasan/dwarfnames.$(objext): $(srcdir)/dwarfnames.c $(INCDIR)/dwarf2.def \
 	$(INCDIR)/dwarf2.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/dwarfnames.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/dwarfnames.c -o noasan/$@; \
-	else true; fi
+
+./dwarfnames.$(objext):
 	$(COMPILE.c) $(srcdir)/dwarfnames.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/dyn-string.c -o noasan/$@; \
-	else true; fi
+./pic/dwarfnames.$(objext):
+	$(COMPILE.c) $(srcdir)/dwarfnames.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/dwarfnames.$(objext):
+	$(COMPILE.c) $(srcdir)/dwarfnames.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./dyn-string.$(objext) \
+    ./pic/dyn-string.$(objext) \
+    ./noasan/dyn-string.$(objext): $(srcdir)/dyn-string.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/dyn-string.h $(INCDIR)/libiberty.h
+
+./dyn-string.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fdmatch.c -o noasan/$@; \
-	else true; fi
+./pic/dyn-string.$(objext):
+	$(COMPILE.c) $(srcdir)/dyn-string.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/dyn-string.$(objext):
+	$(COMPILE.c) $(srcdir)/dyn-string.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./fdmatch.$(objext) \
+    ./pic/fdmatch.$(objext) \
+    ./noasan/fdmatch.$(objext): $(srcdir)/fdmatch.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./fdmatch.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/ffs.c -o noasan/$@; \
-	else true; fi
+./pic/fdmatch.$(objext):
+	$(COMPILE.c) $(srcdir)/fdmatch.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/fdmatch.$(objext):
+	$(COMPILE.c) $(srcdir)/fdmatch.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./ffs.$(objext) \
+    ./pic/ffs.$(objext) \
+    ./noasan/ffs.$(objext): $(srcdir)/ffs.c
+
+./ffs.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fibheap.c -o noasan/$@; \
-	else true; fi
+./pic/ffs.$(objext):
+	$(COMPILE.c) $(srcdir)/ffs.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/ffs.$(objext):
+	$(COMPILE.c) $(srcdir)/ffs.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./fibheap.$(objext) \
+    ./pic/fibheap.$(objext) \
+    ./noasan/fibheap.$(objext): $(srcdir)/fibheap.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/fibheap.h $(INCDIR)/libiberty.h
+
+./fibheap.$(objext):
 	$(COMPILE.c) $(srcdir)/fibheap.c $(OUTPUT_OPTION)
 
-./filename_cmp.$(objext): $(srcdir)/filename_cmp.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
-	$(INCDIR)/safe-ctype.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/filename_cmp.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/filename_cmp.c -o noasan/$@; \
-	else true; fi
+./pic/fibheap.$(objext):
+	$(COMPILE.c) $(srcdir)/fibheap.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/fibheap.$(objext):
+	$(COMPILE.c) $(srcdir)/fibheap.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./filename_cmp.$(objext) \
+    ./pic/filename_cmp.$(objext) \
+    ./noasan/filename_cmp.$(objext): $(srcdir)/filename_cmp.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
+	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+
+./filename_cmp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/floatformat.c -o noasan/$@; \
-	else true; fi
+./pic/filename_cmp.$(objext):
+	$(COMPILE.c) $(srcdir)/filename_cmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/filename_cmp.$(objext):
+	$(COMPILE.c) $(srcdir)/filename_cmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./floatformat.$(objext) \
+    ./pic/floatformat.$(objext) \
+    ./noasan/floatformat.$(objext): $(srcdir)/floatformat.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/floatformat.h $(INCDIR)/libiberty.h
+
+./floatformat.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fnmatch.c -o noasan/$@; \
-	else true; fi
+./pic/floatformat.$(objext):
+	$(COMPILE.c) $(srcdir)/floatformat.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/floatformat.$(objext):
+	$(COMPILE.c) $(srcdir)/floatformat.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./fnmatch.$(objext) \
+    ./pic/fnmatch.$(objext) \
+    ./noasan/fnmatch.$(objext): $(srcdir)/fnmatch.c config.h \
+	$(INCDIR)/fnmatch.h $(INCDIR)/safe-ctype.h
+
+./fnmatch.$(objext):
 	$(COMPILE.c) $(srcdir)/fnmatch.c $(OUTPUT_OPTION)
 
-./fopen_unlocked.$(objext): $(srcdir)/fopen_unlocked.c config.h \
+./pic/fnmatch.$(objext):
+	$(COMPILE.c) $(srcdir)/fnmatch.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/fnmatch.$(objext):
+	$(COMPILE.c) $(srcdir)/fnmatch.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./fopen_unlocked.$(objext) \
+    ./pic/fopen_unlocked.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/fopen_unlocked.c -o noasan/$@; \
-	else true; fi
+
+./fopen_unlocked.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getcwd.c -o noasan/$@; \
-	else true; fi
+./pic/fopen_unlocked.$(objext):
+	$(COMPILE.c) $(srcdir)/fopen_unlocked.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/fopen_unlocked.$(objext):
+	$(COMPILE.c) $(srcdir)/fopen_unlocked.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./getcwd.$(objext) \
+    ./pic/getcwd.$(objext) \
+    ./noasan/getcwd.$(objext): $(srcdir)/getcwd.c config.h
+
+./getcwd.$(objext):
 	$(COMPILE.c) $(srcdir)/getcwd.c $(OUTPUT_OPTION)
 
-./getopt.$(objext): $(srcdir)/getopt.c config.h $(INCDIR)/ansidecl.h \
+./pic/getcwd.$(objext):
+	$(COMPILE.c) $(srcdir)/getcwd.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/getcwd.$(objext):
+	$(COMPILE.c) $(srcdir)/getcwd.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./getopt.$(objext) \
+    ./pic/getopt.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getopt.c -o noasan/$@; \
-	else true; fi
+
+./getopt.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getopt1.c -o noasan/$@; \
-	else true; fi
+./pic/getopt.$(objext):
+	$(COMPILE.c) $(srcdir)/getopt.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/getopt.$(objext):
+	$(COMPILE.c) $(srcdir)/getopt.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./getopt1.$(objext) \
+    ./pic/getopt1.$(objext) \
+    ./noasan/getopt1.$(objext): $(srcdir)/getopt1.c config.h $(INCDIR)/getopt.h
+
+./getopt1.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getpagesize.c -o noasan/$@; \
-	else true; fi
+./pic/getopt1.$(objext):
+	$(COMPILE.c) $(srcdir)/getopt1.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/getopt1.$(objext):
+	$(COMPILE.c) $(srcdir)/getopt1.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./getpagesize.$(objext) \
+    ./pic/getpagesize.$(objext) \
+    ./noasan/getpagesize.$(objext): $(srcdir)/getpagesize.c config.h
+
+./getpagesize.$(objext):
 	$(COMPILE.c) $(srcdir)/getpagesize.c $(OUTPUT_OPTION)
 
-./getpwd.$(objext): $(srcdir)/getpwd.c config.h $(INCDIR)/ansidecl.h \
+./pic/getpagesize.$(objext):
+	$(COMPILE.c) $(srcdir)/getpagesize.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/getpagesize.$(objext):
+	$(COMPILE.c) $(srcdir)/getpagesize.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./getpwd.$(objext) \
+    ./pic/getpwd.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getpwd.c -o noasan/$@; \
-	else true; fi
+
+./getpwd.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/getruntime.c -o noasan/$@; \
-	else true; fi
+./pic/getpwd.$(objext):
+	$(COMPILE.c) $(srcdir)/getpwd.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/getpwd.$(objext):
+	$(COMPILE.c) $(srcdir)/getpwd.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./getruntime.$(objext) \
+    ./pic/getruntime.$(objext) \
+    ./noasan/getruntime.$(objext): $(srcdir)/getruntime.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./getruntime.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/gettimeofday.c -o noasan/$@; \
-	else true; fi
+./pic/getruntime.$(objext):
+	$(COMPILE.c) $(srcdir)/getruntime.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/getruntime.$(objext):
+	$(COMPILE.c) $(srcdir)/getruntime.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./gettimeofday.$(objext) \
+    ./pic/gettimeofday.$(objext) \
+    ./noasan/gettimeofday.$(objext): $(srcdir)/gettimeofday.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./gettimeofday.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/hashtab.c -o noasan/$@; \
-	else true; fi
+./pic/gettimeofday.$(objext):
+	$(COMPILE.c) $(srcdir)/gettimeofday.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/gettimeofday.$(objext):
+	$(COMPILE.c) $(srcdir)/gettimeofday.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./hashtab.$(objext) \
+    ./pic/hashtab.$(objext) \
+    ./noasan/hashtab.$(objext): $(srcdir)/hashtab.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h
+
+./hashtab.$(objext):
 	$(COMPILE.c) $(srcdir)/hashtab.c $(OUTPUT_OPTION)
 
-./hex.$(objext): $(srcdir)/hex.c config.h $(INCDIR)/ansidecl.h \
+./pic/hashtab.$(objext):
+	$(COMPILE.c) $(srcdir)/hashtab.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/hashtab.$(objext):
+	$(COMPILE.c) $(srcdir)/hashtab.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./hex.$(objext) \
+    ./pic/hex.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/hex.c -o noasan/$@; \
-	else true; fi
+
+./hex.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/index.c -o noasan/$@; \
-	else true; fi
+./pic/hex.$(objext):
+	$(COMPILE.c) $(srcdir)/hex.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/hex.$(objext):
+	$(COMPILE.c) $(srcdir)/hex.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./index.$(objext) \
+    ./pic/index.$(objext) \
+    ./noasan/index.$(objext): $(srcdir)/index.c
+
+./index.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/insque.c -o noasan/$@; \
-	else true; fi
+./pic/index.$(objext):
+	$(COMPILE.c) $(srcdir)/index.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/index.$(objext):
+	$(COMPILE.c) $(srcdir)/index.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./insque.$(objext) \
+    ./pic/insque.$(objext) \
+    ./noasan/insque.$(objext): $(srcdir)/insque.c
+
+./insque.$(objext):
 	$(COMPILE.c) $(srcdir)/insque.c $(OUTPUT_OPTION)
 
-./lbasename.$(objext): $(srcdir)/lbasename.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/filenames.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h \
-	$(INCDIR)/safe-ctype.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/lbasename.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/lbasename.c -o noasan/$@; \
-	else true; fi
+./pic/insque.$(objext):
+	$(COMPILE.c) $(srcdir)/insque.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/insque.$(objext):
+	$(COMPILE.c) $(srcdir)/insque.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./lbasename.$(objext) \
+    ./pic/lbasename.$(objext) \
+    ./noasan/lbasename.$(objext): $(srcdir)/lbasename.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/filenames.h $(INCDIR)/hashtab.h \
+	$(INCDIR)/libiberty.h $(INCDIR)/safe-ctype.h
+
+./lbasename.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/lrealpath.c -o noasan/$@; \
-	else true; fi
-	$(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
+./pic/lbasename.$(objext):
+	$(COMPILE.c) $(srcdir)/lbasename.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/lbasename.$(objext):
+	$(COMPILE.c) $(srcdir)/lbasename.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
 
-./make-relative-prefix.$(objext): $(srcdir)/make-relative-prefix.c config.h \
+./lrealpath.$(objext) \
+    ./pic/lrealpath.$(objext) \
+    ./noasan/lrealpath.$(objext): $(srcdir)/lrealpath.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/make-relative-prefix.c -o noasan/$@; \
-	else true; fi
+
+./lrealpath.$(objext):
+	$(COMPILE.c) $(srcdir)/lrealpath.c $(OUTPUT_OPTION)
+
+./pic/lrealpath.$(objext):
+	$(COMPILE.c) $(srcdir)/lrealpath.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/lrealpath.$(objext):
+	$(COMPILE.c) $(srcdir)/lrealpath.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./make-relative-prefix.$(objext) \
+    ./pic/make-relative-prefix.$(objext) \
+    ./noasan/make-relative-prefix.$(objext): $(srcdir)/make-relative-prefix.c \
+	config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./make-relative-prefix.$(objext):
 	$(COMPILE.c) $(srcdir)/make-relative-prefix.c $(OUTPUT_OPTION)
 
-./make-temp-file.$(objext): $(srcdir)/make-temp-file.c config.h \
+./pic/make-relative-prefix.$(objext):
+	$(COMPILE.c) $(srcdir)/make-relative-prefix.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/make-relative-prefix.$(objext):
+	$(COMPILE.c) $(srcdir)/make-relative-prefix.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./make-temp-file.$(objext) \
+    ./pic/make-temp-file.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/make-temp-file.c -o noasan/$@; \
-	else true; fi
+
+./make-temp-file.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/md5.c -o noasan/$@; \
-	else true; fi
+./pic/make-temp-file.$(objext):
+	$(COMPILE.c) $(srcdir)/make-temp-file.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/make-temp-file.$(objext):
+	$(COMPILE.c) $(srcdir)/make-temp-file.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./md5.$(objext) \
+    ./pic/md5.$(objext) \
+    ./noasan/md5.$(objext): $(srcdir)/md5.c config.h $(INCDIR)/ansidecl.h \
+	$(INCDIR)/md5.h
+
+./md5.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memchr.c -o noasan/$@; \
-	else true; fi
+./pic/md5.$(objext):
+	$(COMPILE.c) $(srcdir)/md5.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/md5.$(objext):
+	$(COMPILE.c) $(srcdir)/md5.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./memchr.$(objext) \
+    ./pic/memchr.$(objext) \
+    ./noasan/memchr.$(objext): $(srcdir)/memchr.c $(INCDIR)/ansidecl.h
+
+./memchr.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memcmp.c -o noasan/$@; \
-	else true; fi
+./pic/memchr.$(objext):
+	$(COMPILE.c) $(srcdir)/memchr.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/memchr.$(objext):
+	$(COMPILE.c) $(srcdir)/memchr.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./memcmp.$(objext) \
+    ./pic/memcmp.$(objext) \
+    ./noasan/memcmp.$(objext): $(srcdir)/memcmp.c $(INCDIR)/ansidecl.h
+
+./memcmp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memcpy.c -o noasan/$@; \
-	else true; fi
+./pic/memcmp.$(objext):
+	$(COMPILE.c) $(srcdir)/memcmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/memcmp.$(objext):
+	$(COMPILE.c) $(srcdir)/memcmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./memcpy.$(objext) \
+    ./pic/memcpy.$(objext) \
+    ./noasan/memcpy.$(objext): $(srcdir)/memcpy.c $(INCDIR)/ansidecl.h
+
+./memcpy.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memmem.c -o noasan/$@; \
-	else true; fi
+./pic/memcpy.$(objext):
+	$(COMPILE.c) $(srcdir)/memcpy.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/memcpy.$(objext):
+	$(COMPILE.c) $(srcdir)/memcpy.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./memmem.$(objext) \
+    ./pic/memmem.$(objext) \
+    ./noasan/memmem.$(objext): $(srcdir)/memmem.c config.h
+
+./memmem.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memmove.c -o noasan/$@; \
-	else true; fi
+./pic/memmem.$(objext):
+	$(COMPILE.c) $(srcdir)/memmem.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/memmem.$(objext):
+	$(COMPILE.c) $(srcdir)/memmem.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./memmove.$(objext) \
+    ./pic/memmove.$(objext) \
+    ./noasan/memmove.$(objext): $(srcdir)/memmove.c $(INCDIR)/ansidecl.h
+
+./memmove.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/mempcpy.c -o noasan/$@; \
-	else true; fi
+./pic/memmove.$(objext):
+	$(COMPILE.c) $(srcdir)/memmove.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/memmove.$(objext):
+	$(COMPILE.c) $(srcdir)/memmove.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./mempcpy.$(objext) \
+    ./pic/mempcpy.$(objext) \
+    ./noasan/mempcpy.$(objext): $(srcdir)/mempcpy.c $(INCDIR)/ansidecl.h
+
+./mempcpy.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memset.c -o noasan/$@; \
-	else true; fi
+./pic/mempcpy.$(objext):
+	$(COMPILE.c) $(srcdir)/mempcpy.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/mempcpy.$(objext):
+	$(COMPILE.c) $(srcdir)/mempcpy.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./memset.$(objext) \
+    ./pic/memset.$(objext) \
+    ./noasan/memset.$(objext): $(srcdir)/memset.c $(INCDIR)/ansidecl.h
+
+./memset.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/mkstemps.c -o noasan/$@; \
-	else true; fi
+./pic/memset.$(objext):
+	$(COMPILE.c) $(srcdir)/memset.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/memset.$(objext):
+	$(COMPILE.c) $(srcdir)/memset.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./mkstemps.$(objext) \
+    ./pic/mkstemps.$(objext) \
+    ./noasan/mkstemps.$(objext): $(srcdir)/mkstemps.c config.h \
+	$(INCDIR)/ansidecl.h
+
+./mkstemps.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/msdos.c -o noasan/$@; \
-	else true; fi
+./pic/mkstemps.$(objext):
+	$(COMPILE.c) $(srcdir)/mkstemps.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/mkstemps.$(objext):
+	$(COMPILE.c) $(srcdir)/mkstemps.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./msdos.$(objext) \
+    ./pic/msdos.$(objext) \
+    ./noasan/msdos.$(objext): $(srcdir)/msdos.c
+
+./msdos.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/objalloc.c -o noasan/$@; \
-	else true; fi
+./pic/msdos.$(objext):
+	$(COMPILE.c) $(srcdir)/msdos.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/msdos.$(objext):
+	$(COMPILE.c) $(srcdir)/msdos.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./objalloc.$(objext) \
+    ./pic/objalloc.$(objext) \
+    ./noasan/objalloc.$(objext): $(srcdir)/objalloc.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/objalloc.h
+
+./objalloc.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/obstack.c -o noasan/$@; \
-	else true; fi
+./pic/objalloc.$(objext):
+	$(COMPILE.c) $(srcdir)/objalloc.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/objalloc.$(objext):
+	$(COMPILE.c) $(srcdir)/objalloc.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./obstack.$(objext) \
+    ./pic/obstack.$(objext) \
+    ./noasan/obstack.$(objext): $(srcdir)/obstack.c config.h \
+	$(INCDIR)/obstack.h
+
+./obstack.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/partition.c -o noasan/$@; \
-	else true; fi
+./pic/obstack.$(objext):
+	$(COMPILE.c) $(srcdir)/obstack.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/obstack.$(objext):
+	$(COMPILE.c) $(srcdir)/obstack.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./partition.$(objext) \
+    ./pic/partition.$(objext) \
+    ./noasan/partition.$(objext): $(srcdir)/partition.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(INCDIR)/partition.h
+
+./partition.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-common.c -o noasan/$@; \
-	else true; fi
+./pic/partition.$(objext):
+	$(COMPILE.c) $(srcdir)/partition.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/partition.$(objext):
+	$(COMPILE.c) $(srcdir)/partition.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pex-common.$(objext) \
+    ./pic/pex-common.$(objext) \
+    ./noasan/pex-common.$(objext): $(srcdir)/pex-common.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+
+./pex-common.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-djgpp.c -o noasan/$@; \
-	else true; fi
+./pic/pex-common.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-common.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pex-common.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-common.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pex-djgpp.$(objext) \
+    ./pic/pex-djgpp.$(objext) \
+    ./noasan/pex-djgpp.$(objext): $(srcdir)/pex-djgpp.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+
+./pex-djgpp.$(objext):
 	$(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 \
+./pic/pex-djgpp.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-djgpp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pex-djgpp.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-djgpp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pex-msdos.$(objext) \
+    ./pic/pex-msdos.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-msdos.c -o noasan/$@; \
-	else true; fi
+
+./pex-msdos.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-one.c -o noasan/$@; \
-	else true; fi
+./pic/pex-msdos.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-msdos.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pex-msdos.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-msdos.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pex-one.$(objext) \
+    ./pic/pex-one.$(objext) \
+    ./noasan/pex-one.$(objext): $(srcdir)/pex-one.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./pex-one.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-unix.c -o noasan/$@; \
-	else true; fi
+./pic/pex-one.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-one.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pex-one.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-one.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pex-unix.$(objext) \
+    ./pic/pex-unix.$(objext) \
+    ./noasan/pex-unix.$(objext): $(srcdir)/pex-unix.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+
+./pex-unix.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pex-win32.c -o noasan/$@; \
-	else true; fi
+./pic/pex-unix.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-unix.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pex-unix.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-unix.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pex-win32.$(objext) \
+    ./pic/pex-win32.$(objext) \
+    ./noasan/pex-win32.$(objext): $(srcdir)/pex-win32.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(srcdir)/pex-common.h
+
+./pex-win32.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/pexecute.c -o noasan/$@; \
-	else true; fi
+./pic/pex-win32.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-win32.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pex-win32.$(objext):
+	$(COMPILE.c) $(srcdir)/pex-win32.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./pexecute.$(objext) \
+    ./pic/pexecute.$(objext) \
+    ./noasan/pexecute.$(objext): $(srcdir)/pexecute.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./pexecute.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/physmem.c -o noasan/$@; \
-	else true; fi
+./pic/pexecute.$(objext):
+	$(COMPILE.c) $(srcdir)/pexecute.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/pexecute.$(objext):
+	$(COMPILE.c) $(srcdir)/pexecute.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./physmem.$(objext) \
+    ./pic/physmem.$(objext) \
+    ./noasan/physmem.$(objext): $(srcdir)/physmem.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./physmem.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/putenv.c -o noasan/$@; \
-	else true; fi
+./pic/physmem.$(objext):
+	$(COMPILE.c) $(srcdir)/physmem.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/physmem.$(objext):
+	$(COMPILE.c) $(srcdir)/physmem.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./putenv.$(objext) \
+    ./pic/putenv.$(objext) \
+    ./noasan/putenv.$(objext): $(srcdir)/putenv.c config.h $(INCDIR)/ansidecl.h
+
+./putenv.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/random.c -o noasan/$@; \
-	else true; fi
+./pic/putenv.$(objext):
+	$(COMPILE.c) $(srcdir)/putenv.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/putenv.$(objext):
+	$(COMPILE.c) $(srcdir)/putenv.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./random.$(objext) \
+    ./pic/random.$(objext) \
+    ./noasan/random.$(objext): $(srcdir)/random.c $(INCDIR)/ansidecl.h
+
+./random.$(objext):
 	$(COMPILE.c) $(srcdir)/random.c $(OUTPUT_OPTION)
 
-./regex.$(objext): $(srcdir)/regex.c config.h $(INCDIR)/ansidecl.h \
+./pic/random.$(objext):
+	$(COMPILE.c) $(srcdir)/random.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/random.$(objext):
+	$(COMPILE.c) $(srcdir)/random.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./regex.$(objext) \
+    ./pic/regex.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/regex.c -o noasan/$@; \
-	else true; fi
+
+./regex.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/rename.c -o noasan/$@; \
-	else true; fi
+./pic/regex.$(objext):
+	$(COMPILE.c) $(srcdir)/regex.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/regex.$(objext):
+	$(COMPILE.c) $(srcdir)/regex.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./rename.$(objext) \
+    ./pic/rename.$(objext) \
+    ./noasan/rename.$(objext): $(srcdir)/rename.c config.h $(INCDIR)/ansidecl.h
+
+./rename.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/rindex.c -o noasan/$@; \
-	else true; fi
+./pic/rename.$(objext):
+	$(COMPILE.c) $(srcdir)/rename.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/rename.$(objext):
+	$(COMPILE.c) $(srcdir)/rename.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./rindex.$(objext) \
+    ./pic/rindex.$(objext) \
+    ./noasan/rindex.$(objext): $(srcdir)/rindex.c
+
+./rindex.$(objext):
 	$(COMPILE.c) $(srcdir)/rindex.c $(OUTPUT_OPTION)
 
-./safe-ctype.$(objext): $(srcdir)/safe-ctype.c $(INCDIR)/ansidecl.h \
+./pic/rindex.$(objext):
+	$(COMPILE.c) $(srcdir)/rindex.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/rindex.$(objext):
+	$(COMPILE.c) $(srcdir)/rindex.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./safe-ctype.$(objext) \
+    ./pic/safe-ctype.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/safe-ctype.c -o noasan/$@; \
-	else true; fi
+
+./safe-ctype.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/setenv.c -o noasan/$@; \
-	else true; fi
+./pic/safe-ctype.$(objext):
+	$(COMPILE.c) $(srcdir)/safe-ctype.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/safe-ctype.$(objext):
+	$(COMPILE.c) $(srcdir)/safe-ctype.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./setenv.$(objext) \
+    ./pic/setenv.$(objext) \
+    ./noasan/setenv.$(objext): $(srcdir)/setenv.c config.h $(INCDIR)/ansidecl.h
+
+./setenv.$(objext):
 	$(COMPILE.c) $(srcdir)/setenv.c $(OUTPUT_OPTION)
 
-./setproctitle.$(objext): $(srcdir)/setproctitle.c config.h $(INCDIR)/ansidecl.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/setproctitle.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/setproctitle.c -o noasan/$@; \
-	else true; fi
+./pic/setenv.$(objext):
+	$(COMPILE.c) $(srcdir)/setenv.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/setenv.$(objext):
+	$(COMPILE.c) $(srcdir)/setenv.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./setproctitle.$(objext) \
+    ./pic/setproctitle.$(objext) \
+    ./noasan/setproctitle.$(objext): $(srcdir)/setproctitle.c config.h \
+	$(INCDIR)/ansidecl.h
+
+./setproctitle.$(objext):
 	$(COMPILE.c) $(srcdir)/setproctitle.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/sha1.c -o noasan/$@; \
-	else true; fi
+./pic/setproctitle.$(objext):
+	$(COMPILE.c) $(srcdir)/setproctitle.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/setproctitle.$(objext):
+	$(COMPILE.c) $(srcdir)/setproctitle.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./sha1.$(objext) \
+    ./pic/sha1.$(objext) \
+    ./noasan/sha1.$(objext): $(srcdir)/sha1.c config.h $(INCDIR)/ansidecl.h \
+	$(INCDIR)/sha1.h
+
+./sha1.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/sigsetmask.c -o noasan/$@; \
-	else true; fi
+./pic/sha1.$(objext):
+	$(COMPILE.c) $(srcdir)/sha1.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/sha1.$(objext):
+	$(COMPILE.c) $(srcdir)/sha1.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./sigsetmask.$(objext) \
+    ./pic/sigsetmask.$(objext) \
+    ./noasan/sigsetmask.$(objext): $(srcdir)/sigsetmask.c $(INCDIR)/ansidecl.h
+
+./sigsetmask.$(objext):
 	$(COMPILE.c) $(srcdir)/sigsetmask.c $(OUTPUT_OPTION)
 
-./simple-object-coff.$(objext): $(srcdir)/simple-object-coff.c config.h \
-	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+./pic/sigsetmask.$(objext):
+	$(COMPILE.c) $(srcdir)/sigsetmask.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/sigsetmask.$(objext):
+	$(COMPILE.c) $(srcdir)/sigsetmask.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./simple-object-coff.$(objext) \
+    ./pic/simple-object-coff.$(objext) \
+    ./noasan/simple-object-coff.$(objext): $(srcdir)/simple-object-coff.c \
+	config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
 	$(srcdir)/simple-object-common.h $(INCDIR)/simple-object.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/simple-object-coff.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-coff.c -o noasan/$@; \
-	else true; fi
+
+./simple-object-coff.$(objext):
 	$(COMPILE.c) $(srcdir)/simple-object-coff.c $(OUTPUT_OPTION)
 
-./simple-object-elf.$(objext): $(srcdir)/simple-object-elf.c config.h \
-	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+./pic/simple-object-coff.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-coff.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/simple-object-coff.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-coff.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./simple-object-elf.$(objext) \
+    ./pic/simple-object-elf.$(objext) \
+    ./noasan/simple-object-elf.$(objext): $(srcdir)/simple-object-elf.c \
+	config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
 	$(srcdir)/simple-object-common.h $(INCDIR)/simple-object.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/simple-object-elf.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-elf.c -o noasan/$@; \
-	else true; fi
+
+./simple-object-elf.$(objext):
 	$(COMPILE.c) $(srcdir)/simple-object-elf.c $(OUTPUT_OPTION)
 
-./simple-object-mach-o.$(objext): $(srcdir)/simple-object-mach-o.c config.h \
-	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+./pic/simple-object-elf.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-elf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/simple-object-elf.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-elf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./simple-object-mach-o.$(objext) \
+    ./pic/simple-object-mach-o.$(objext) \
+    ./noasan/simple-object-mach-o.$(objext): $(srcdir)/simple-object-mach-o.c \
+	config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
 	$(srcdir)/simple-object-common.h $(INCDIR)/simple-object.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/simple-object-mach-o.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-mach-o.c -o noasan/$@; \
-	else true; fi
+
+./simple-object-mach-o.$(objext):
 	$(COMPILE.c) $(srcdir)/simple-object-mach-o.c $(OUTPUT_OPTION)
 
-./simple-object-xcoff.$(objext): $(srcdir)/simple-object-xcoff.c config.h \
-	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
+./pic/simple-object-mach-o.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-mach-o.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/simple-object-mach-o.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-mach-o.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./simple-object-xcoff.$(objext) \
+    ./pic/simple-object-xcoff.$(objext) \
+    ./noasan/simple-object-xcoff.$(objext): $(srcdir)/simple-object-xcoff.c \
+	config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
 	$(srcdir)/simple-object-common.h $(INCDIR)/simple-object.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/simple-object-xcoff.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object-xcoff.c -o noasan/$@; \
-	else true; fi
+
+./simple-object-xcoff.$(objext):
 	$(COMPILE.c) $(srcdir)/simple-object-xcoff.c $(OUTPUT_OPTION)
 
-./simple-object.$(objext): $(srcdir)/simple-object.c config.h \
+./pic/simple-object-xcoff.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-xcoff.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/simple-object-xcoff.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object-xcoff.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./simple-object.$(objext) \
+    ./pic/simple-object.$(objext) \
+    ./noasan/simple-object.$(objext): $(srcdir)/simple-object.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h \
 	$(srcdir)/simple-object-common.h $(INCDIR)/simple-object.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/simple-object.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/simple-object.c -o noasan/$@; \
-	else true; fi
+
+./simple-object.$(objext):
 	$(COMPILE.c) $(srcdir)/simple-object.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/snprintf.c -o noasan/$@; \
-	else true; fi
+./pic/simple-object.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/simple-object.$(objext):
+	$(COMPILE.c) $(srcdir)/simple-object.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./snprintf.$(objext) \
+    ./pic/snprintf.$(objext) \
+    ./noasan/snprintf.$(objext): $(srcdir)/snprintf.c $(INCDIR)/ansidecl.h
+
+./snprintf.$(objext):
 	$(COMPILE.c) $(srcdir)/snprintf.c $(OUTPUT_OPTION)
 
-./sort.$(objext): $(srcdir)/sort.c config.h $(INCDIR)/ansidecl.h \
+./pic/snprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/snprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/snprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/snprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./sort.$(objext) \
+    ./pic/sort.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/sort.c -o noasan/$@; \
-	else true; fi
+
+./sort.$(objext):
 	$(COMPILE.c) $(srcdir)/sort.c $(OUTPUT_OPTION)
 
-./spaces.$(objext): $(srcdir)/spaces.c config.h $(INCDIR)/ansidecl.h \
+./pic/sort.$(objext):
+	$(COMPILE.c) $(srcdir)/sort.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/sort.$(objext):
+	$(COMPILE.c) $(srcdir)/sort.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./spaces.$(objext) \
+    ./pic/spaces.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/spaces.c -o noasan/$@; \
-	else true; fi
+
+./spaces.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/splay-tree.c -o noasan/$@; \
-	else true; fi
+./pic/spaces.$(objext):
+	$(COMPILE.c) $(srcdir)/spaces.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/spaces.$(objext):
+	$(COMPILE.c) $(srcdir)/spaces.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./splay-tree.$(objext) \
+    ./pic/splay-tree.$(objext) \
+    ./noasan/splay-tree.$(objext): $(srcdir)/splay-tree.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(INCDIR)/splay-tree.h
+
+./splay-tree.$(objext):
 	$(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
 
-./stack-limit.$(objext): $(srcdir)/stack-limit.c config.h $(INCDIR)/ansidecl.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/stack-limit.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/stack-limit.c -o noasan/$@; \
-	else true; fi
+./pic/splay-tree.$(objext):
+	$(COMPILE.c) $(srcdir)/splay-tree.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/splay-tree.$(objext):
+	$(COMPILE.c) $(srcdir)/splay-tree.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./stack-limit.$(objext) \
+    ./pic/stack-limit.$(objext) \
+    ./noasan/stack-limit.$(objext): $(srcdir)/stack-limit.c config.h \
+	$(INCDIR)/ansidecl.h
+
+./stack-limit.$(objext):
 	$(COMPILE.c) $(srcdir)/stack-limit.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/stpcpy.c -o noasan/$@; \
-	else true; fi
+./pic/stack-limit.$(objext):
+	$(COMPILE.c) $(srcdir)/stack-limit.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/stack-limit.$(objext):
+	$(COMPILE.c) $(srcdir)/stack-limit.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./stpcpy.$(objext) \
+    ./pic/stpcpy.$(objext) \
+    ./noasan/stpcpy.$(objext): $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
+
+./stpcpy.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/stpncpy.c -o noasan/$@; \
-	else true; fi
+./pic/stpcpy.$(objext):
+	$(COMPILE.c) $(srcdir)/stpcpy.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/stpcpy.$(objext):
+	$(COMPILE.c) $(srcdir)/stpcpy.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./stpncpy.$(objext) \
+    ./pic/stpncpy.$(objext) \
+    ./noasan/stpncpy.$(objext): $(srcdir)/stpncpy.c $(INCDIR)/ansidecl.h
+
+./stpncpy.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strcasecmp.c -o noasan/$@; \
-	else true; fi
+./pic/stpncpy.$(objext):
+	$(COMPILE.c) $(srcdir)/stpncpy.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/stpncpy.$(objext):
+	$(COMPILE.c) $(srcdir)/stpncpy.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strcasecmp.$(objext) \
+    ./pic/strcasecmp.$(objext) \
+    ./noasan/strcasecmp.$(objext): $(srcdir)/strcasecmp.c $(INCDIR)/ansidecl.h
+
+./strcasecmp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strchr.c -o noasan/$@; \
-	else true; fi
+./pic/strcasecmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strcasecmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strcasecmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strcasecmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strchr.$(objext) \
+    ./pic/strchr.$(objext) \
+    ./noasan/strchr.$(objext): $(srcdir)/strchr.c $(INCDIR)/ansidecl.h
+
+./strchr.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strdup.c -o noasan/$@; \
-	else true; fi
+./pic/strchr.$(objext):
+	$(COMPILE.c) $(srcdir)/strchr.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strchr.$(objext):
+	$(COMPILE.c) $(srcdir)/strchr.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strdup.$(objext) \
+    ./pic/strdup.$(objext) \
+    ./noasan/strdup.$(objext): $(srcdir)/strdup.c $(INCDIR)/ansidecl.h
+
+./strdup.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strerror.c -o noasan/$@; \
-	else true; fi
+./pic/strdup.$(objext):
+	$(COMPILE.c) $(srcdir)/strdup.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strdup.$(objext):
+	$(COMPILE.c) $(srcdir)/strdup.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strerror.$(objext) \
+    ./pic/strerror.$(objext) \
+    ./noasan/strerror.$(objext): $(srcdir)/strerror.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./strerror.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strncasecmp.c -o noasan/$@; \
-	else true; fi
+./pic/strerror.$(objext):
+	$(COMPILE.c) $(srcdir)/strerror.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strerror.$(objext):
+	$(COMPILE.c) $(srcdir)/strerror.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strncasecmp.$(objext) \
+    ./pic/strncasecmp.$(objext) \
+    ./noasan/strncasecmp.$(objext): $(srcdir)/strncasecmp.c \
+	$(INCDIR)/ansidecl.h
+
+./strncasecmp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strncmp.c -o noasan/$@; \
-	else true; fi
+./pic/strncasecmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strncasecmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strncasecmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strncasecmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strncmp.$(objext) \
+    ./pic/strncmp.$(objext) \
+    ./noasan/strncmp.$(objext): $(srcdir)/strncmp.c $(INCDIR)/ansidecl.h
+
+./strncmp.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strndup.c -o noasan/$@; \
-	else true; fi
+./pic/strncmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strncmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strncmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strncmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strndup.$(objext) \
+    ./pic/strndup.$(objext) \
+    ./noasan/strndup.$(objext): $(srcdir)/strndup.c $(INCDIR)/ansidecl.h
+
+./strndup.$(objext):
 	$(COMPILE.c) $(srcdir)/strndup.c $(OUTPUT_OPTION)
 
-./strnlen.$(objext): $(srcdir)/strnlen.c config.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/strnlen.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strnlen.c -o noasan/$@; \
-	else true; fi
+./pic/strndup.$(objext):
+	$(COMPILE.c) $(srcdir)/strndup.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strndup.$(objext):
+	$(COMPILE.c) $(srcdir)/strndup.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strnlen.$(objext) \
+    ./pic/strnlen.$(objext) \
+    ./noasan/strnlen.$(objext): $(srcdir)/strnlen.c config.h
+
+./strnlen.$(objext):
 	$(COMPILE.c) $(srcdir)/strnlen.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strrchr.c -o noasan/$@; \
-	else true; fi
+./pic/strnlen.$(objext):
+	$(COMPILE.c) $(srcdir)/strnlen.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strnlen.$(objext):
+	$(COMPILE.c) $(srcdir)/strnlen.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strrchr.$(objext) \
+    ./pic/strrchr.$(objext) \
+    ./noasan/strrchr.$(objext): $(srcdir)/strrchr.c $(INCDIR)/ansidecl.h
+
+./strrchr.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strsignal.c -o noasan/$@; \
-	else true; fi
+./pic/strrchr.$(objext):
+	$(COMPILE.c) $(srcdir)/strrchr.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strrchr.$(objext):
+	$(COMPILE.c) $(srcdir)/strrchr.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strsignal.$(objext) \
+    ./pic/strsignal.$(objext) \
+    ./noasan/strsignal.$(objext): $(srcdir)/strsignal.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./strsignal.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strstr.c -o noasan/$@; \
-	else true; fi
+./pic/strsignal.$(objext):
+	$(COMPILE.c) $(srcdir)/strsignal.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strsignal.$(objext):
+	$(COMPILE.c) $(srcdir)/strsignal.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strstr.$(objext) \
+    ./pic/strstr.$(objext) \
+    ./noasan/strstr.$(objext): $(srcdir)/strstr.c
+
+./strstr.$(objext):
 	$(COMPILE.c) $(srcdir)/strstr.c $(OUTPUT_OPTION)
 
-./strtod.$(objext): $(srcdir)/strtod.c $(INCDIR)/ansidecl.h \
+./pic/strstr.$(objext):
+	$(COMPILE.c) $(srcdir)/strstr.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strstr.$(objext):
+	$(COMPILE.c) $(srcdir)/strstr.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strtod.$(objext) \
+    ./pic/strtod.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtod.c -o noasan/$@; \
-	else true; fi
+
+./strtod.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtol.c -o noasan/$@; \
-	else true; fi
+./pic/strtod.$(objext):
+	$(COMPILE.c) $(srcdir)/strtod.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strtod.$(objext):
+	$(COMPILE.c) $(srcdir)/strtod.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strtol.$(objext) \
+    ./pic/strtol.$(objext) \
+    ./noasan/strtol.$(objext): $(srcdir)/strtol.c config.h \
+	$(INCDIR)/safe-ctype.h
+
+./strtol.$(objext):
 	$(COMPILE.c) $(srcdir)/strtol.c $(OUTPUT_OPTION)
 
-./strtoll.$(objext): $(srcdir)/strtoll.c config.h $(INCDIR)/safe-ctype.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoll.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoll.c -o noasan/$@; \
-	else true; fi
-	$(COMPILE.c) $(srcdir)/strtoll.c $(OUTPUT_OPTION)
+./pic/strtol.$(objext):
+	$(COMPILE.c) $(srcdir)/strtol.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strtol.$(objext):
+	$(COMPILE.c) $(srcdir)/strtol.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
 
-./strtoul.$(objext): $(srcdir)/strtoul.c config.h $(INCDIR)/ansidecl.h \
+./strtoll.$(objext) \
+    ./pic/strtoll.$(objext) \
+    ./noasan/strtoll.$(objext): $(srcdir)/strtoll.c config.h \
 	$(INCDIR)/safe-ctype.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoul.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoul.c -o noasan/$@; \
-	else true; fi
+
+./strtoll.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoll.c $(OUTPUT_OPTION)
+
+./pic/strtoll.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoll.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strtoll.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoll.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strtoul.$(objext) \
+    ./pic/strtoul.$(objext) \
+    ./noasan/strtoul.$(objext): $(srcdir)/strtoul.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+
+./strtoul.$(objext):
 	$(COMPILE.c) $(srcdir)/strtoul.c $(OUTPUT_OPTION)
 
-./strtoull.$(objext): $(srcdir)/strtoull.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/safe-ctype.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/strtoull.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strtoull.c -o noasan/$@; \
-	else true; fi
+./pic/strtoul.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoul.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strtoul.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoul.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strtoull.$(objext) \
+    ./pic/strtoull.$(objext) \
+    ./noasan/strtoull.$(objext): $(srcdir)/strtoull.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/safe-ctype.h
+
+./strtoull.$(objext):
 	$(COMPILE.c) $(srcdir)/strtoull.c $(OUTPUT_OPTION)
 
-./strverscmp.$(objext): $(srcdir)/strverscmp.c $(INCDIR)/ansidecl.h \
+./pic/strtoull.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoull.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strtoull.$(objext):
+	$(COMPILE.c) $(srcdir)/strtoull.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./strverscmp.$(objext) \
+    ./pic/strverscmp.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/strverscmp.c -o noasan/$@; \
-	else true; fi
+
+./strverscmp.$(objext):
 	$(COMPILE.c) $(srcdir)/strverscmp.c $(OUTPUT_OPTION)
 
-./timeval-utils.$(objext): $(srcdir)/timeval-utils.c config.h \
+./pic/strverscmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strverscmp.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/strverscmp.$(objext):
+	$(COMPILE.c) $(srcdir)/strverscmp.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./timeval-utils.$(objext) \
+    ./pic/timeval-utils.$(objext) \
+    ./noasan/timeval-utils.$(objext): $(srcdir)/timeval-utils.c config.h \
 	$(INCDIR)/timeval-utils.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/timeval-utils.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/timeval-utils.c -o noasan/$@; \
-	else true; fi
+
+./timeval-utils.$(objext):
 	$(COMPILE.c) $(srcdir)/timeval-utils.c $(OUTPUT_OPTION)
 
-./tmpnam.$(objext): $(srcdir)/tmpnam.c
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/tmpnam.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/tmpnam.c -o noasan/$@; \
-	else true; fi
+./pic/timeval-utils.$(objext):
+	$(COMPILE.c) $(srcdir)/timeval-utils.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/timeval-utils.$(objext):
+	$(COMPILE.c) $(srcdir)/timeval-utils.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./tmpnam.$(objext) \
+    ./pic/tmpnam.$(objext) \
+    ./noasan/tmpnam.$(objext): $(srcdir)/tmpnam.c
+
+./tmpnam.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/unlink-if-ordinary.c -o noasan/$@; \
-	else true; fi
+./pic/tmpnam.$(objext):
+	$(COMPILE.c) $(srcdir)/tmpnam.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/tmpnam.$(objext):
+	$(COMPILE.c) $(srcdir)/tmpnam.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./unlink-if-ordinary.$(objext) \
+    ./pic/unlink-if-ordinary.$(objext) \
+    ./noasan/unlink-if-ordinary.$(objext): $(srcdir)/unlink-if-ordinary.c \
+	config.h $(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./unlink-if-ordinary.$(objext):
 	$(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(OUTPUT_OPTION)
 
-./vasprintf.$(objext): $(srcdir)/vasprintf.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/vasprintf.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vasprintf.c -o noasan/$@; \
-	else true; fi
+./pic/unlink-if-ordinary.$(objext):
+	$(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/unlink-if-ordinary.$(objext):
+	$(COMPILE.c) $(srcdir)/unlink-if-ordinary.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vasprintf.$(objext) \
+    ./pic/vasprintf.$(objext) \
+    ./noasan/vasprintf.$(objext): $(srcdir)/vasprintf.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
+
+./vasprintf.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vfork.c -o noasan/$@; \
-	else true; fi
+./pic/vasprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vasprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vasprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vasprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vfork.$(objext) \
+    ./pic/vfork.$(objext) \
+    ./noasan/vfork.$(objext): $(srcdir)/vfork.c $(INCDIR)/ansidecl.h
+
+./vfork.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vfprintf.c -o noasan/$@; \
-	else true; fi
+./pic/vfork.$(objext):
+	$(COMPILE.c) $(srcdir)/vfork.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vfork.$(objext):
+	$(COMPILE.c) $(srcdir)/vfork.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vfprintf.$(objext) \
+    ./pic/vfprintf.$(objext) \
+    ./noasan/vfprintf.$(objext): $(srcdir)/vfprintf.c $(INCDIR)/ansidecl.h
+
+./vfprintf.$(objext):
 	$(COMPILE.c) $(srcdir)/vfprintf.c $(OUTPUT_OPTION)
 
-./vprintf-support.$(objext): $(srcdir)/vprintf-support.c config.h \
+./pic/vfprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vfprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vfprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vfprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vprintf-support.$(objext) \
+    ./pic/vprintf-support.$(objext) \
+    ./noasan/vprintf-support.$(objext): $(srcdir)/vprintf-support.c config.h \
 	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/vprintf-support.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vprintf-support.c -o noasan/$@; \
-	else true; fi
+
+./vprintf-support.$(objext):
 	$(COMPILE.c) $(srcdir)/vprintf-support.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vprintf.c -o noasan/$@; \
-	else true; fi
+./pic/vprintf-support.$(objext):
+	$(COMPILE.c) $(srcdir)/vprintf-support.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vprintf-support.$(objext):
+	$(COMPILE.c) $(srcdir)/vprintf-support.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vprintf.$(objext) \
+    ./pic/vprintf.$(objext) \
+    ./noasan/vprintf.$(objext): $(srcdir)/vprintf.c $(INCDIR)/ansidecl.h
+
+./vprintf.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vsnprintf.c -o noasan/$@; \
-	else true; fi
+./pic/vprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vsnprintf.$(objext) \
+    ./pic/vsnprintf.$(objext) \
+    ./noasan/vsnprintf.$(objext): $(srcdir)/vsnprintf.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./vsnprintf.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/vsprintf.c -o noasan/$@; \
-	else true; fi
+./pic/vsnprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vsnprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vsnprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vsnprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./vsprintf.$(objext) \
+    ./pic/vsprintf.$(objext) \
+    ./noasan/vsprintf.$(objext): $(srcdir)/vsprintf.c $(INCDIR)/ansidecl.h
+
+./vsprintf.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/waitpid.c -o noasan/$@; \
-	else true; fi
+./pic/vsprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vsprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/vsprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/vsprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./waitpid.$(objext) \
+    ./pic/waitpid.$(objext) \
+    ./noasan/waitpid.$(objext): $(srcdir)/waitpid.c config.h \
+	$(INCDIR)/ansidecl.h
+
+./waitpid.$(objext):
 	$(COMPILE.c) $(srcdir)/waitpid.c $(OUTPUT_OPTION)
 
-./xasprintf.$(objext): $(srcdir)/xasprintf.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/libiberty.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/xasprintf.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xasprintf.c -o noasan/$@; \
-	else true; fi
+./pic/waitpid.$(objext):
+	$(COMPILE.c) $(srcdir)/waitpid.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/waitpid.$(objext):
+	$(COMPILE.c) $(srcdir)/waitpid.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xasprintf.$(objext) \
+    ./pic/xasprintf.$(objext) \
+    ./noasan/xasprintf.$(objext): $(srcdir)/xasprintf.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xasprintf.$(objext):
 	$(COMPILE.c) $(srcdir)/xasprintf.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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xatexit.c -o noasan/$@; \
-	else true; fi
+./pic/xasprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/xasprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xasprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/xasprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xatexit.$(objext) \
+    ./pic/xatexit.$(objext) \
+    ./noasan/xatexit.$(objext): $(srcdir)/xatexit.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xatexit.$(objext):
 	$(COMPILE.c) $(srcdir)/xatexit.c $(OUTPUT_OPTION)
 
-./xexit.$(objext): $(srcdir)/xexit.c config.h $(INCDIR)/ansidecl.h \
+./pic/xatexit.$(objext):
+	$(COMPILE.c) $(srcdir)/xatexit.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xatexit.$(objext):
+	$(COMPILE.c) $(srcdir)/xatexit.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xexit.$(objext) \
+    ./pic/xexit.$(objext) \
+    ./noasan/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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xexit.c -o noasan/$@; \
-	else true; fi
+
+./xexit.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xmalloc.c -o noasan/$@; \
-	else true; fi
+./pic/xexit.$(objext):
+	$(COMPILE.c) $(srcdir)/xexit.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xexit.$(objext):
+	$(COMPILE.c) $(srcdir)/xexit.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xmalloc.$(objext) \
+    ./pic/xmalloc.$(objext) \
+    ./noasan/xmalloc.$(objext): $(srcdir)/xmalloc.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xmalloc.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xmemdup.c -o noasan/$@; \
-	else true; fi
+./pic/xmalloc.$(objext):
+	$(COMPILE.c) $(srcdir)/xmalloc.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xmalloc.$(objext):
+	$(COMPILE.c) $(srcdir)/xmalloc.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xmemdup.$(objext) \
+    ./pic/xmemdup.$(objext) \
+    ./noasan/xmemdup.$(objext): $(srcdir)/xmemdup.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xmemdup.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xstrdup.c -o noasan/$@; \
-	else true; fi
+./pic/xmemdup.$(objext):
+	$(COMPILE.c) $(srcdir)/xmemdup.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xmemdup.$(objext):
+	$(COMPILE.c) $(srcdir)/xmemdup.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xstrdup.$(objext) \
+    ./pic/xstrdup.$(objext) \
+    ./noasan/xstrdup.$(objext): $(srcdir)/xstrdup.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xstrdup.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xstrerror.c -o noasan/$@; \
-	else true; fi
+./pic/xstrdup.$(objext):
+	$(COMPILE.c) $(srcdir)/xstrdup.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xstrdup.$(objext):
+	$(COMPILE.c) $(srcdir)/xstrdup.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xstrerror.$(objext) \
+    ./pic/xstrerror.$(objext) \
+    ./noasan/xstrerror.$(objext): $(srcdir)/xstrerror.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xstrerror.$(objext):
 	$(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
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xstrndup.c -o noasan/$@; \
-	else true; fi
+./pic/xstrerror.$(objext):
+	$(COMPILE.c) $(srcdir)/xstrerror.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xstrerror.$(objext):
+	$(COMPILE.c) $(srcdir)/xstrerror.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xstrndup.$(objext) \
+    ./pic/xstrndup.$(objext) \
+    ./noasan/xstrndup.$(objext): $(srcdir)/xstrndup.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h
+
+./xstrndup.$(objext):
 	$(COMPILE.c) $(srcdir)/xstrndup.c $(OUTPUT_OPTION)
 
-./xvasprintf.$(objext): $(srcdir)/xvasprintf.c config.h $(INCDIR)/ansidecl.h \
-	$(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
-	if [ x"$(PICFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(srcdir)/xvasprintf.c -o pic/$@; \
-	else true; fi
-	if [ x"$(NOASANFLAG)" != x ]; then \
-	  $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/xvasprintf.c -o noasan/$@; \
-	else true; fi
+./pic/xstrndup.$(objext):
+	$(COMPILE.c) $(srcdir)/xstrndup.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xstrndup.$(objext):
+	$(COMPILE.c) $(srcdir)/xstrndup.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
+./xvasprintf.$(objext) \
+    ./pic/xvasprintf.$(objext) \
+    ./noasan/xvasprintf.$(objext): $(srcdir)/xvasprintf.c config.h \
+	$(INCDIR)/ansidecl.h $(INCDIR)/libiberty.h $(srcdir)/vprintf-support.h
+
+./xvasprintf.$(objext):
 	$(COMPILE.c) $(srcdir)/xvasprintf.c $(OUTPUT_OPTION)
+
+./pic/xvasprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/xvasprintf.c $(PICFLAG) $(OUTPUT_OPTION)
+
+./noasan/xvasprintf.$(objext):
+	$(COMPILE.c) $(srcdir)/xvasprintf.c $(PICFLAG) $(NOASANFLAG) $(OUTPUT_OPTION)
+
diff --git a/libiberty/configure b/libiberty/configure
index b06cab2..2f07a75 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -594,7 +594,9 @@ pexecute
 target_header_dir
 CHECK
 LIBOBJS
+TARGETLIB_NOASAN
 NOASANFLAG
+TARGETLIB_PIC
 PICFLAG
 INSTALL_DATA
 INSTALL_SCRIPT
@@ -4977,12 +4979,18 @@ if [ "${shared}" != "yes" ]; then
   PICFLAG=
 fi
 
+TARGETLIB_PIC=
+[ x"$PICFLAG" != x ] && TARGETLIB_PIC="./pic/libiberty.a"
+
 
 NOASANFLAG=
 case " ${CFLAGS} " in
   *\ -fsanitize=address\ *) NOASANFLAG=-fno-sanitize=address ;;
 esac
 
+TARGETLIB_NOASAN=
+[ x"$NOASANFLAG" != x ] && TARGETLIB_NOASAN="./noasan/libiberty.a"
+
 
 echo "# Warning: this fragment is automatically generated" > temp-frag
 
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 922aa86..6e7ee4e 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -235,12 +235,18 @@ if [[ "${shared}" != "yes" ]]; then
   PICFLAG=
 fi
 AC_SUBST(PICFLAG)
+TARGETLIB_PIC=
+[[ x"$PICFLAG" != x ]] && TARGETLIB_PIC="./pic/libiberty.a"
+AC_SUBST(TARGETLIB_PIC)
 
 NOASANFLAG=
 case " ${CFLAGS} " in
   *\ -fsanitize=address\ *) NOASANFLAG=-fno-sanitize=address ;;
 esac
 AC_SUBST(NOASANFLAG)
+TARGETLIB_NOASAN=
+[[ x"$NOASANFLAG" != x ]] && TARGETLIB_NOASAN="./noasan/libiberty.a"
+AC_SUBST(TARGETLIB_NOASAN)
 
 echo "# Warning: this fragment is automatically generated" > temp-frag
 
diff --git a/libiberty/maint-tool b/libiberty/maint-tool
index 1c94cdc..69114a8 100644
--- a/libiberty/maint-tool
+++ b/libiberty/maint-tool
@@ -212,14 +212,7 @@ sub locals_first {
 
 sub deps {
 
-    $crule  = "\tif [ x\"\$(PICFLAG)\" != x ]; then \\\n";
-    $crule .= "\t  \$(COMPILE.c) \$(PICFLAG) \$< -o pic/\$@; \\\n";
-    $crule .= "\telse true; fi\n";
-    $crule .= "\tif [ x\"\$(NOASANFLAG)\" != x ]; then \\\n";
-    $crule .= "\t  \$(COMPILE.c) \$(PICFLAG) \$(NOASANFLAG) \$< -o noasan/\$@; \\\n";
-    $crule .= "\telse true; fi\n";
-    $crule .= "\t\$(COMPILE.c) \$< \$(OUTPUT_OPTION)\n";
-    $crule .= "\n";
+    $crule  = "\t\$(COMPILE.c) \$< \$(OUTPUT_OPTION)\n";
 
     $incdir = shift @ARGV;
 
@@ -268,13 +261,14 @@ sub deps {
 	    @deps = sort { &locals_first($a,$b) } keys %scanned;
 	    $obj = $f;
 	    $obj =~ s/\.c$/.\$(objext)/;
-	    $obj = "./$obj:";
+	    $objs = "./$obj \\\n    ./pic/$obj \\\n    ./noasan/$obj:";
 	    if ($#deps >= 0) {
-		print OUT "$obj \$(srcdir)/$f";
-		$len = length("$obj $f");
+		print OUT "$objs \$(srcdir)/$f";
+		$len = length((split(/\n/, $objs))[-1])
+			+ length("\$(srcdir)/$f");
 		for $dt (@deps) {
 		    $d = $mine{$dt};
-		    if ($len + length($d) > 70) {
+		    if ($len + 1 + length($d) > 78) {
 			printf OUT " \\\n\t$d";
 			$len = 8 + length($d);
 		    } else {
@@ -284,11 +278,18 @@ sub deps {
 		}
 		print OUT "\n";
 	    } else {
-		print OUT "$obj \$(srcdir)/$f\n";
+		print OUT "$objs \$(srcdir)/$f\n";
 	    }
-	    $c = $crule;
-	    $c =~ s@\$\<@\$\(srcdir\)\/$f@g;
-	    print OUT $c;
+	    for (['.' => ''],
+		['./pic' => ' $(PICFLAG)'],
+		['./noasan' => ' $(PICFLAG) $(NOASANFLAG)']) {
+		my $dir_part = $_->[0];
+		my $o = $_->[1];
+		$c = $crule;
+		$c =~ s@\$\<@\$\(srcdir\)\/$f$o@;
+		print OUT "\n$dir_part/$obj:\n$c";
+	    }
+	    print OUT "\n";
 	}
     }
     closedir(S);
-- 
2.1.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]