summaryrefslogtreecommitdiffstats
path: root/gnu
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-09-30 20:47:27 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-09-30 20:47:27 +0000
commitbaa76ea3b344be8defab8d337442ca3b301a126c (patch)
tree00a79da71747b6b6acef7b35510a050caac797f3 /gnu
parentb1ff33f747b81d9bf13bb8b0ca6cbac7b545503a (diff)
downloadFreeBSD-src-baa76ea3b344be8defab8d337442ca3b301a126c.zip
FreeBSD-src-baa76ea3b344be8defab8d337442ca3b301a126c.tar.gz
Replace most of the beforeinstall: hack with FILES mechanism.
This now generates the files into the OBJDIR as needed. Some of the files are installed directly from the src directory. Files which are generated from the src directory are renamed to .in to generate them and avoid colliding with the checked-in file when CURDIR=OBJDIR. The remaining beforeinstall: handling still needs to be reworked as it does not work well with staging for packaging. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'gnu')
-rw-r--r--gnu/usr.bin/groff/tmac/Makefile66
-rw-r--r--gnu/usr.bin/groff/tmac/fr.ISO8859-1.in (renamed from gnu/usr.bin/groff/tmac/fr.ISO8859-1)0
-rw-r--r--gnu/usr.bin/groff/tmac/mdoc.local.in (renamed from gnu/usr.bin/groff/tmac/mdoc.local)0
-rw-r--r--gnu/usr.bin/groff/tmac/ru.KOI8-R.in (renamed from gnu/usr.bin/groff/tmac/ru.KOI8-R)0
4 files changed, 40 insertions, 26 deletions
diff --git a/gnu/usr.bin/groff/tmac/Makefile b/gnu/usr.bin/groff/tmac/Makefile
index d74f76a..b756ec0 100644
--- a/gnu/usr.bin/groff/tmac/Makefile
+++ b/gnu/usr.bin/groff/tmac/Makefile
@@ -14,7 +14,7 @@ MLINKS= groff_ms.7 ms.7
MLINKS+= groff_me.7 me.7
MLINKS+= groff_mdoc.7 mdoc.samples.7
-CLEANFILES= ${MAN} ${MDOCFILES:S/$/-s/} ${STRIPFILES:S/$/-s/} ${SPECIALFILES:S/$/-s/}
+CLEANFILES= ${MAN}
NORMALFILES= mandoc.tmac andoc.tmac an-old.tmac \
me.tmac \
@@ -39,45 +39,59 @@ NORMALFILES= mandoc.tmac andoc.tmac an-old.tmac \
composite.tmac \
eqnrc \
troffrc troffrc-end \
+ koi8-r.tmac hyphen.ru \
hyphen.us hyphenex.us
+# These are all generated into the OBJDIR.
SPECIALFILES= an.tmac man.tmac s.tmac ms.tmac www.tmac
STRIPFILES= e.tmac doc.tmac mdoc.local
MDOCFILES= doc-common doc-ditroff doc-nroff doc-syms \
fr.ISO8859-1 ru.KOI8-R
+# These are in srcdir and must be built special to avoid colliding with
+# CURDIR=OBJDIR.
+SRCFILES= fr.ISO8859-1 mdoc.local ru.KOI8-R
+CLEANFILES+= ${SRCFILES}
-all: ${MDOCFILES:S/$/-s/} ${STRIPFILES:S/$/-s/} ${SPECIALFILES:S/$/-s/}
+FILESGROUPS= FILES
+FILES= ${NORMALFILES}
+FILESOWN= ${TMACOWN}
+FILESGRP= ${TMACGRP}
+FILESMODE= ${TMACMODE}
+FILESDIR= ${TMACDIR}
+MDOCFILESDIR= ${MDOCDIR}
+# Setup handling for the generated and special file groups
+.for var in SPECIAL STRIP MDOC
+FILESGROUPS+= ${var}FILES
+CLEANFILES+= ${${var}FILES}
+${var}FILESOWN?=${TMACOWN}
+${var}FILESGRP?=${TMACGRP}
+${var}FILESMODE?=${TMACMODE}
+${var}FILESDIR?=${TMACDIR}
+.endfor
+
+beforeinstall:
+.if !exists(${DESTDIR}${TMACDIR}/man.local)
+ ${INSTALL} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
+ ${DIST_DIR}/man.local ${DESTDIR}${TMACDIR}
+.endif
+
+.include <bsd.prog.mk>
+
+# Do this after ../Makefile.inc gets included so DIST_DIR is defined.
.for f in ${MDOCFILES} ${STRIPFILES}
-$f-s: $f
+# Generate the file from the contrib dir or src dir as needed.
+.if ${SRCFILES:M${f}} != ""
+${f}: ${.CURDIR}/${f}.in
+.else
+${f}: ${DIST_DIR}/${f}
+.endif
sed -f ${DIST_DIR}/strip.sed ${.ALLSRC} > ${.TARGET}
.endfor
.for f in ${SPECIALFILES}
-$f-s: $f
+${f}: ${DIST_DIR}/${f}
sed -e "s;@TMAC_AN_PREFIX@;${tmac_an_prefix};g" \
-e "s;@TMAC_S_PREFIX@;${tmac_s_prefix};g" \
-e "s;@PNMTOPS_NOSETPAGE@;pnmtops;g" \
${.ALLSRC} > ${.TARGET}
.endfor
-
-beforeinstall:
- (cd ${DIST_DIR} && \
- ${INSTALL} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
- ${NORMALFILES} ${DESTDIR}${TMACDIR})
- (cd ${.CURDIR} && \
- ${INSTALL} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
- koi8-r.tmac hyphen.ru ${DESTDIR}${TMACDIR})
-.for f in ${STRIPFILES} ${SPECIALFILES}
- ${INSTALL} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
- $f-s ${DESTDIR}${TMACDIR}/$f
-.endfor
-.for f in ${MDOCFILES}
- ${INSTALL} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
- $f-s ${DESTDIR}${MDOCDIR}/$f
-.endfor
-.if !exists(${DESTDIR}${TMACDIR}/man.local)
- ${INSTALL} -o ${TMACOWN} -g ${TMACGRP} -m ${TMACMODE} \
- ${DIST_DIR}/man.local ${DESTDIR}${TMACDIR}
-.endif
-
-.include <bsd.prog.mk>
diff --git a/gnu/usr.bin/groff/tmac/fr.ISO8859-1 b/gnu/usr.bin/groff/tmac/fr.ISO8859-1.in
index 2ec54f5..2ec54f5 100644
--- a/gnu/usr.bin/groff/tmac/fr.ISO8859-1
+++ b/gnu/usr.bin/groff/tmac/fr.ISO8859-1.in
diff --git a/gnu/usr.bin/groff/tmac/mdoc.local b/gnu/usr.bin/groff/tmac/mdoc.local.in
index e7ec4cf..e7ec4cf 100644
--- a/gnu/usr.bin/groff/tmac/mdoc.local
+++ b/gnu/usr.bin/groff/tmac/mdoc.local.in
diff --git a/gnu/usr.bin/groff/tmac/ru.KOI8-R b/gnu/usr.bin/groff/tmac/ru.KOI8-R.in
index 4ae5697..4ae5697 100644
--- a/gnu/usr.bin/groff/tmac/ru.KOI8-R
+++ b/gnu/usr.bin/groff/tmac/ru.KOI8-R.in
OpenPOWER on IntegriCloud