bsd.info.mk revision 25314
165942Sgibbs# $Id: bsd.info.mk,v 1.36 1997/04/07 16:46:40 bde Exp $ 265942Sgibbs# 365942Sgibbs# The include file <bsd.info.mk> handles installing GNU (tech)info files. 465942Sgibbs# Texinfo is a documentation system that uses a single source 565942Sgibbs# file to produce both on-line information and printed output. 665942Sgibbs# <bsd.info.mk> includes the files <bsd.dep.mk> and <bsd.obj.mk>. 765942Sgibbs# 865942Sgibbs# 965942Sgibbs# +++ variables +++ 1065942Sgibbs# 1165942Sgibbs# CLEANFILES Additional files to remove for the clean and cleandir targets. 1265942Sgibbs# 1365942Sgibbs# DESTDIR Change the tree where the info files gets installed. [not set] 1465942Sgibbs# 1565942Sgibbs# DISTRIBUTION Name of distribution. [info] 1665942Sgibbs# 1765942Sgibbs# ICOMPRESS_CMD Program to compress info files. Output is to 1865942Sgibbs# stdout. [${COMPRESS_CMD}] 1965942Sgibbs# 2065942Sgibbs# INFO ??? 2165942Sgibbs# 2265942Sgibbs# INFODIR Base path for GNU's hypertext system 2365942Sgibbs# called Info (see info(1)). [${SHAREDIR}/info] 2465942Sgibbs# 2565942Sgibbs# INFODIRFILE Top level node/index for info files. [dir] 2665942Sgibbs# 2765942Sgibbs# INFOGRP Info group. [${SHAREGRP}] 2865942Sgibbs# 2965942Sgibbs# INFOMODE Info mode. [${NOBINMODE}] 3065942Sgibbs# 3165942Sgibbs# INFOOWN Info owner. [${SHAREOWN}] 3265942Sgibbs# 3365942Sgibbs# INFOSECTION ??? [Miscellaneous] 3465942Sgibbs# 3565942Sgibbs# INFOTMPL ??? [${INFODIR}/dir-tmpl] 3665942Sgibbs# 3765942Sgibbs# INSTALLINFO ??? [install-info] 3865942Sgibbs# 3965942Sgibbs# INSTALLINFODIRS ??? 4065942Sgibbs# 4165942Sgibbs# MAKEINFO A program for converting GNU Texinfo files into Info 4265942Sgibbs# file. [makeinfo] 4365942Sgibbs# 4465942Sgibbs# MAKEINFOFLAGS Options for ${MAKEINFO} command. [--no-split] 4565942Sgibbs# 4665942Sgibbs# NOINFO Do not make or install info files. [not set] 4765942Sgibbs# 4865942Sgibbs# NOINFOCOMPRESS If you do not want info files be 4965942Sgibbs# compressed when they are installed. [not set] 5065942Sgibbs# 5165942Sgibbs# 5265942Sgibbs# +++ targets +++ 5365942Sgibbs# 5465942Sgibbs# clean: 5565942Sgibbs# remove *.info* Errs errs mklog ${CLEANFILES} 5665942Sgibbs# 5765942Sgibbs# depend: 5865942Sgibbs# Dummy target, do nothing. 5965942Sgibbs# 6065942Sgibbs# distribute: 6165942Sgibbs# This is a variant of install, which will 6265942Sgibbs# put the stuff into the right "distribution". 6365942Sgibbs# 6465942Sgibbs# install: 6565942Sgibbs# Install the info files. 6665942Sgibbs# 6765942Sgibbs# maninstall: 6865942Sgibbs# Dummy target, do nothing. 6965942Sgibbs# 7065942Sgibbs# 7166269Sgibbs# bsd.obj.mk: cleandir and obj 7265942Sgibbs 7365942Sgibbs.if exists(${.CURDIR}/../Makefile.inc) 7465942Sgibbs.include "${.CURDIR}/../Makefile.inc" 7565942Sgibbs.endif 7665942Sgibbs 7766269SgibbsMAKEINFO?= makeinfo 7866269SgibbsMAKEINFOFLAGS+= --no-split # simplify some things, e.g., compression 7965942SgibbsSRCDIR?= ${.CURDIR} 8065942SgibbsINFODIRFILE?= dir 8165942SgibbsINFOTMPL?= ${INFODIR}/dir-tmpl 8266269SgibbsINSTALLINFO?= install-info 8365942SgibbsINFOSECTION?= Miscellaneous 8465942SgibbsICOMPRESS_CMD?= ${COMPRESS_CMD} 8565942SgibbsICOMPRESS_EXT?= ${COMPRESS_EXT} 8665942Sgibbs 8765942Sgibbs.MAIN: all 8866269Sgibbs 8965942Sgibbs.SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo 9065942Sgibbs 9165942Sgibbs.texi.info: 9265942Sgibbs ${MAKEINFO} ${MAKEINFOFLAGS} -I ${.CURDIR} -I ${SRCDIR} ${.IMPSRC} \ 9365942Sgibbs -o ${.TARGET}.new 9465942Sgibbs mv -f ${.TARGET}.new ${.TARGET} 9565942Sgibbs 9665942Sgibbs.texinfo.info: 9765942Sgibbs ${MAKEINFO} ${MAKEINFOFLAGS} -I ${.CURDIR} -I ${SRCDIR} ${.IMPSRC} \ 9865942Sgibbs -o ${.TARGET}.new 9965942Sgibbs mv -f ${.TARGET}.new ${.TARGET} 10065942Sgibbs 10165942Sgibbs.PATH: ${.CURDIR} ${SRCDIR} 10265942Sgibbs 10365942SgibbsIFILENS= ${INFO:S/$/.info/g} 10465942Sgibbs 10565942Sgibbs.if !defined(NOINFO) 10665942Sgibbs.if !defined(NOINFOCOMPRESS) 10765942SgibbsIFILES= ${INFO:S/$/.info${ICOMPRESS_EXT}/g} 10865942Sgibbsall: ${IFILES} _SUBDIR 10965942Sgibbs.else 11065942SgibbsIFILES= ${IFILENS} 11165942Sgibbsall: ${IFILES} _SUBDIR 11265942Sgibbs.endif 11365942Sgibbs.else 11465942Sgibbsall: 11565942Sgibbs.endif 11665942Sgibbs 11765942Sgibbs.for x in ${INFO:S/$/.info/g} 11865942Sgibbs${x:S/$/${ICOMPRESS_EXT}/}: ${x} 11965942Sgibbs ${ICOMPRESS_CMD} ${.ALLSRC} > ${.TARGET} 12065942Sgibbs.endfor 12165942Sgibbs 12265942Sgibbs# What to do if there's no dir file there. This is really gross!!! 12365942Sgibbs${DESTDIR}${INFODIR}/${INFODIRFILE}: 12465942Sgibbs cd /usr/src/share/info; ${MAKE} install 12565942Sgibbs 12665942Sgibbs# What to do if there's no dir file there. This is really gross!!! 12765942Sgibbs${DESTDIR}${INFODIR}/${INFODIRFILE}: 12865942Sgibbs @(cd /usr/src/share/info; make install) 12965942Sgibbs 13065942Sgibbs.for x in ${INFO} 13165942SgibbsINSTALLINFODIRS+= ${x:S/$/-install/} 13265942Sgibbs${x:S/$/-install/}: ${DESTDIR}${INFODIR}/${INFODIRFILE} 13365942Sgibbs ${INSTALLINFO} --defsection=${INFOSECTION} \ 13465942Sgibbs --defentry=${INFOENTRY_${x}} \ 13565942Sgibbs ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE} 13665942Sgibbs.endfor 13765942Sgibbs 13865942Sgibbs.PHONY: ${INSTALLINFODIRS} 13965942Sgibbs 14065942Sgibbs# The default is "info" and it can never be "bin" 14165942SgibbsDISTRIBUTION?= info 14265942Sgibbs.if ${DISTRIBUTION} == "bin" 14365942SgibbsDISTRIBUTION= info 14465942Sgibbs.endif 14565942Sgibbs 14665942Sgibbs.if !target(distribute) 14765942Sgibbsdistribute: _SUBDIR 14866104Sgibbs cd ${.CURDIR} ; \ 14966104Sgibbs $(MAKE) install DESTDIR=${DISTDIR}/${DISTRIBUTION} SHARED=copies 15065942Sgibbs.endif 15165942Sgibbs 15265942Sgibbs.if defined(SRCS) 15365942Sgibbs${INFO}.info: ${SRCS} 15465942Sgibbs ${MAKEINFO} ${MAKEINFOFLAGS} -I ${.CURDIR} -I ${SRCDIR} \ 15565942Sgibbs ${SRCS:S/^/${SRCDIR}\//g} -o ${INFO}.info.new 15665942Sgibbs mv -f ${INFO}.info.new ${INFO}.info 15765942Sgibbs.endif 15865942Sgibbs 15965942Sgibbsdepend: _SUBDIR 16065942Sgibbs @echo -n 16165942Sgibbs 16265942Sgibbsclean: _SUBDIR 16365942Sgibbs rm -f ${INFO:S/$/.info*/g} Errs errs mklog ${CLEANFILES} 16465942Sgibbs 16565942Sgibbs.if !defined(NOINFO) && defined(INFO) 16665942Sgibbsinstall: ${INSTALLINFODIRS} _SUBDIR 16765942Sgibbs ${INSTALL} ${COPY} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \ 16865942Sgibbs ${IFILES} ${DESTDIR}${INFODIR} 16965942Sgibbs.else 17065942Sgibbsinstall: 17165942Sgibbs.endif 17265942Sgibbs 17365942Sgibbs.if !target(maninstall) 17465942Sgibbsmaninstall: _SUBDIR 17565942Sgibbs.endif 17665942Sgibbs 17765942Sgibbs.include <bsd.dep.mk> 17865942Sgibbs.include <bsd.obj.mk> 17965942Sgibbs