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
This commit is contained in:
parent
a0a7796dc0
commit
24df1f7e7f
@ -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}
|
||||
|
||||
.for f in ${MDOCFILES} ${STRIPFILES}
|
||||
$f-s: $f
|
||||
sed -f ${DIST_DIR}/strip.sed ${.ALLSRC} > ${.TARGET}
|
||||
.endfor
|
||||
|
||||
.for f in ${SPECIALFILES}
|
||||
$f-s: $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}
|
||||
# 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:
|
||||
(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>
|
||||
|
||||
# Do this after ../Makefile.inc gets included so DIST_DIR is defined.
|
||||
.for f in ${MDOCFILES} ${STRIPFILES}
|
||||
# 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}: ${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
|
||||
|
Loading…
Reference in New Issue
Block a user