summaryrefslogtreecommitdiff
path: root/bin/ksh/Makefile
diff options
context:
space:
mode:
authorlukem <lukem@NetBSD.org>2003-08-01 17:03:41 +0000
committerlukem <lukem@NetBSD.org>2003-08-01 17:03:41 +0000
commita93ea220fcb3e34cdfdcd4d7a5d391e0b2b4f2ba (patch)
treec9adfc000f1b3f310cf2f812f02823dbff7766ca /bin/ksh/Makefile
parent5aa077f5cfe13c86bb3596f0e709337147ffc49c (diff)
Rework how dependency generation is performed:
* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES. This is a change of behaviour. If a Makefile wants the clean semantics it must specifically append to CLEANFILES. Resolves PR toolchain/5204. * To recap: .d (depend) files are generated for all files in SRCS and DPSRCS that have a suffix of: .c .m .s .S .C .cc .cpp .cxx * If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES * Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS} * Deprecate the (short lived) DEPENDSRCS Update the various Makefiles to these new semantics; generally either adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing specific .o dependencies with DPSRCS entries. Tested with "make -j 8 distribution" and "make distribution".
Diffstat (limited to 'bin/ksh/Makefile')
-rw-r--r--bin/ksh/Makefile22
1 files changed, 10 insertions, 12 deletions
diff --git a/bin/ksh/Makefile b/bin/ksh/Makefile
index 6cb57e0aeac..aafddbfc433 100644
--- a/bin/ksh/Makefile
+++ b/bin/ksh/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.16 2001/11/03 13:39:25 lukem Exp $
+# $NetBSD: Makefile,v 1.17 2003/08/01 17:03:42 lukem Exp $
.include <bsd.own.mk>
@@ -18,23 +18,21 @@ DPSRCS+=ksh.1
# needs tbl for the man page.
USETBL=
-CLEANFILES+= siglist.out emacs.out
-
+CLEANFILES+= siglist.out siglist.out.tmp
# two steps to prevent the creation of a bogus siglist.out
siglist.out: config.h sh.h siglist.in siglist.sh
- sh $(.CURDIR)/siglist.sh "$(CC) -E $(CPPFLAGS) $(DEFS) -I. -I$(.CURDIR)" < $(.CURDIR)/siglist.in > tmpsiglist.out
- mv tmpsiglist.out siglist.out
+ sh $(.CURDIR)/siglist.sh "$(CC) -E $(CPPFLAGS) $(DEFS) -I. -I$(.CURDIR)" < $(.CURDIR)/siglist.in > siglist.out.tmp \
+ && mv siglist.out.tmp siglist.out
# two steps to prevent the creation of a bogus emacs.out
+CLEANFILES+= emacs.out emacs.out.tmp
emacs.out: emacs.c
- sh $(.CURDIR)/emacs-gen.sh $(.CURDIR)/emacs.c > tmpemacs.out
- mv tmpemacs.out emacs.out
+ sh $(.CURDIR)/emacs-gen.sh $(.CURDIR)/emacs.c > emacs.out.tmp \
+ && mv emacs.out.tmp emacs.out
+CLEANFILES+= ksh.1 ksh.1.tmp
ksh.1: ksh.Man mkman
- sh $(.CURDIR)/mkman ksh $(.CURDIR)/ksh.Man >tmpksh.1
- mv tmpksh.1 ksh.1
-
-emacs.o: emacs.out
-trap.o: siglist.out
+ sh $(.CURDIR)/mkman ksh $(.CURDIR)/ksh.Man >ksh.1.tmp \
+ && mv ksh.1.tmp ksh.1
.include <bsd.prog.mk>