Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/share/mk Rework to not use the `files' crap. It requires fa...



details:   https://anonhg.NetBSD.org/src/rev/0c5cc0fca2d4
branches:  trunk
changeset: 487459:0c5cc0fca2d4
user:      mycroft <mycroft%NetBSD.org@localhost>
date:      Thu Jun 08 03:30:58 2000 +0000

description:
Rework to not use the `files' crap.  It requires far too much klugery to
actually get the semantics right.  As a bonus, the info directory is not
reordered when using UPDATE any more, if files are not actually reinstalled.

diffstat:

 share/mk/bsd.info.mk |  58 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 35 insertions(+), 23 deletions(-)

diffs (84 lines):

diff -r ad4e7e275f97 -r 0c5cc0fca2d4 share/mk/bsd.info.mk
--- a/share/mk/bsd.info.mk      Thu Jun 08 03:15:40 2000 +0000
+++ b/share/mk/bsd.info.mk      Thu Jun 08 03:30:58 2000 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: bsd.info.mk,v 1.14 2000/06/08 03:05:17 mycroft Exp $
+#      $NetBSD: bsd.info.mk,v 1.15 2000/06/08 03:30:58 mycroft Exp $
 
 .if !target(__initialized__)
 __initialized__:
@@ -15,40 +15,52 @@
 INFOFLAGS?=    
 INSTALL_INFO?= install-info
 
+.PHONY:                infoinstall cleaninfo
+.if ${MKINFO} != "no"
+realinstall:   infoinstall
+.endif
+cleandir distclean: cleaninfo
+
 .SUFFIXES: .txi .texi .texinfo .info
 
 .txi.info .texi.info .texinfo.info:
        @${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $<
 
-.if defined(TEXINFO) && !empty(TEXINFO) && ${MKINFO} != "no"
+.if defined(TEXINFO) && !empty(TEXINFO)
 INFOFILES=     ${TEXINFO:C/\.te?xi(nfo)?$/.info/}
-FILES+=                ${INFOFILES}
 .NOPATH:       ${INFOFILES}
 
-infoinstall:
-.for F in ${INFOFILES}
-       @${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F}
-       ${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${F}
-.endfor
+.if ${MKINFO} != "no"
+realall: ${INFOFILES}
+.endif
 
-realall: ${INFOFILES}
-.else
-realall:
+cleaninfo:
+       rm -f ${INFOFILES}
+
+infoinstall:: ${INFOFILES:@F@${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}@}
+.PRECIOUS: ${INFOFILES:@F@${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}@}
+.if !defined(UPDATE)
+.PHONY: ${INFOFILES:@F@${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}@}
 .endif
 
-.if ${MKINFO} != "no"
-cleaninfo:
-       rm -f ${INFOFILES}
-.else
-cleaninfo infoinstall:
-.endif
+__infoinstall: .USE
+       @${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${.ALLSRC}
+       ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} ${INSTPRIV} \
+           -o ${INFOOWN_${.ALLSRC}:U${INFOOWN}} \
+           -g ${INFOGRP_${.ALLSRC}:U${INFOGRP}} \
+           -m ${INFOMODE_${.ALLSRC}:U${INFOMODE}} \
+           ${.ALLSRC} ${.TARGET}
+       ${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${DESTDIR}${INFODIR}/${.ALLSRC}
 
-.include <bsd.files.mk>
-
-# These need to happen *after* filesinstall.
-.PHONY: infoinstall cleaninfo
-realinstall: infoinstall
-cleandir distclean: cleaninfo
+.for F in ${INFOFILES}
+.if !defined(BUILD) && !make(all) && !make(${F})
+${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}: .MADE
+.endif
+${DESTDIR}${INFODIR_${F}:U${INFODIR}}/${INFONAME_${F}:U${INFONAME:U${F:T}}}: ${F} __infoinstall
+.endfor
+.else
+cleaninfo:
+.endif
 
 # Make sure all of the standard targets are defined, even if they do nothing.
 clean depend includes lint regress tags:



Home | Main Index | Thread Index | Old Index