Makefile revision 1.27
11.27Sross#	$NetBSD: Makefile,v 1.27 2004/02/06 00:06:53 ross Exp $
21.1Stv
31.1StvMODULE=		groff
41.1Stv
51.1StvALL_TARGET=	src/include all
61.24SlukemMAKE_ARGS=	bindir=${TOOLDIR}/lib/groff MAKEINFO=${TOOL_MAKEINFO:Q} \
71.24Slukem		INSTALL_INFO=${TOOL_INSTALL_INFO:Q}
81.6Sjmc
91.6SjmcTMACDIR=	${TOOLDIR}/share/groff/tmac
101.19SwizSITETMACDIR=	${TOOLDIR}/share/groff/site-tmac
111.2Stv
121.2Stv# Add gnuwrap hack directly to the Makefile.
131.2Stv_NOWRAPPER=1
141.14Spk
151.14Spk# Fixup build/Makefile.
161.14Spk# XXX - the groff distribution Makefiles don't get their dependencies right.
171.14Spk#	We use internal knowledge to specify additional target ordering.
181.14Spk#	This can be removed once our own make(1) can be invoked in true
191.14Spk#	sequential (i.e. compatible) mode again for subdir makes.
201.14Spk#
211.21Smartin.configure_done: _post_conf
221.21Smartin_post_conf: .USE
231.21Smartin	@(echo '.include "${.CURDIR}/../Makefile.gnuwrap"'; \
241.21Smartin	  echo '.ORDER: $$(ALLDIRS) dot';\
251.21Smartin	  echo '.ORDER: all install' ) >> build/Makefile
261.14Spk
271.1Stv
281.27Sross
291.1Stv.include "${.CURDIR}/../Makefile.gnuhost"
301.27SrossCOMPATOBJ!=	cd ${.CURDIR}/../compat && ${PRINTOBJDIR}
311.27Sross.-include	"${COMPATOBJ}/defs.mk"
321.1Stv
331.19Swiz.PATH:		${.CURDIR}/../../share/tmac ${.CURDIR}/../../gnu/usr.bin/groff/tmac
341.1Stv
351.9Stv_installtmac: .USE
361.23Slukem.if ${MKUPDATE} != "no"
371.9Stv	@if ! cmp ${.ALLSRC} ${.TARGET} >/dev/null 2>&1; then \
381.9Stv		echo ${HOST_INSTALL_FILE:Q} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}; \
391.9Stv		${HOST_INSTALL_FILE} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}; \
401.1Stv	fi
411.1Stv.else
421.9Stv	${HOST_INSTALL_FILE} -m ${NONBINMODE} ${.ALLSRC} ${.TARGET}
431.1Stv.endif
441.9Stv
451.15Spk#
461.15Spk# Since ${TMACDIR} is created by the `realinstall' target, the `afterinstall'
471.15Spk# sources below that depend on it must wait until `realinstall' is done.
481.15Spk#
491.19Swiz#.for F in an andoc doc doc-ditroff doc-common doc-nroff doc-syms html html-end man man.local mdoc mdoc.local
501.19Swiz.for F in doc2html
511.19Swizafterinstall:	${TMACDIR}/${F}.tmac
521.19Swiz.PHONY:		${TMACDIR}/${F}.tmac
531.19Swiz${TMACDIR}/${F}.tmac: ${F} _installtmac
541.19Swiz.ORDER: realinstall ${TMACDIR}/${F}.tmac
551.19Swiz.endfor
561.19Swiz.for F in man.local mdoc.local
571.19Swizafterinstall:	${SITETMACDIR}/${F}
581.19Swiz.PHONY:		${SITETMACDIR}/${F}
591.25Swiz${SITETMACDIR}/${F}: ${F}-s _installtmac
601.19Swiz.ORDER: realinstall ${SITETMACDIR}/${F}
611.26SlukemCLEANFILES+=${F}-s
621.25Swiz${F}-s: ${F}
631.25Swiz	sed -f ${.CURDIR}/../../gnu/dist/groff/tmac/strip.sed ${.ALLSRC} > ${.TARGET}
641.1Stv.endfor
651.4Stv
661.12Stv# The silly walk below is because sometimes the files begin with "g",
671.12Stv# and sometimes not, depending on what the host tool has at build time.
681.12Stv
691.12Stvafterinstall: install.grofflinks
701.15Spk.ORDER: realinstall install.grofflinks
711.12Stvinstall.grofflinks:
721.13Stv	@cd ${.CURDIR} && ${MAKE} install.grofflinks.recurse
731.13Stv
741.27Sross.for F in eqn groff indxbib pic refer soelim tbl
751.27Srossinstall.grofflinks.recurse: ${TOOLDIR}/bin/${_TOOL_PREFIX}${F}${HOSTEXEEXT}
761.27Sross.if exists(${TOOLDIR}/lib/groff/g${F}${HOSTEXEEXT})
771.27Sross${TOOLDIR}/bin/${_TOOL_PREFIX}${F}${HOSTEXEEXT}: ${TOOLDIR}/lib/groff/g${F}${HOSTEXEEXT}
781.27Sross.else
791.27Sross${TOOLDIR}/bin/${_TOOL_PREFIX}${F}${HOSTEXEEXT}: ${TOOLDIR}/lib/groff/${F}${HOSTEXEEXT}
801.27Sross.endif
811.27Sross	ln -f ${.ALLSRC} ${.TARGET}
821.27Sross.endfor
831.27Sross
841.27Sross.for F in nroff
851.16Sthorpejinstall.grofflinks.recurse: ${TOOLDIR}/bin/${_TOOL_PREFIX}${F}
861.12Stv.if exists(${TOOLDIR}/lib/groff/g${F})
871.16Sthorpej${TOOLDIR}/bin/${_TOOL_PREFIX}${F}: ${TOOLDIR}/lib/groff/g${F}
881.12Stv.else
891.16Sthorpej${TOOLDIR}/bin/${_TOOL_PREFIX}${F}: ${TOOLDIR}/lib/groff/${F}
901.12Stv.endif
911.4Stv	ln -f ${.ALLSRC} ${.TARGET}
921.4Stv.endfor
93