diff options
| author | lukem <lukem@NetBSD.org> | 2003-08-01 17:03:41 +0000 |
|---|---|---|
| committer | lukem <lukem@NetBSD.org> | 2003-08-01 17:03:41 +0000 |
| commit | a93ea220fcb3e34cdfdcd4d7a5d391e0b2b4f2ba (patch) | |
| tree | c9adfc000f1b3f310cf2f812f02823dbff7766ca /bin/ksh/Makefile | |
| parent | 5aa077f5cfe13c86bb3596f0e709337147ffc49c (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/Makefile | 22 |
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> |
