bsd.info.mk revision 30105
11817Sdg# $Id: bsd.info.mk,v 1.1 1997/10/02 21:17:10 wosch Exp wosch $ 21817Sdg# 31817Sdg# The include file <bsd.info.mk> handles installing GNU (tech)info files. 41817Sdg# Texinfo is a documentation system that uses a single source 51817Sdg# file to produce both on-line information and printed output. 61817Sdg# <bsd.info.mk> includes the files <bsd.dep.mk> and <bsd.obj.mk>. 71817Sdg# 81817Sdg# 91817Sdg# +++ variables +++ 101817Sdg# 111817Sdg# CLEANFILES Additional files to remove for the clean and cleandir targets. 121817Sdg# 131817Sdg# DESTDIR Change the tree where the info files gets installed. [not set] 141817Sdg# 151817Sdg# DISTRIBUTION Name of distribution. [info] 161817Sdg# 171817Sdg# FORMATS Indicates which output formats will be generated 181817Sdg# (info, dvi, latin1, ps). [info] 191817Sdg# 201817Sdg# ICOMPRESS_CMD Program to compress info files. Output is to 211817Sdg# stdout. [${COMPRESS_CMD}] 221817Sdg# 231817Sdg# INFO ??? 241817Sdg# 251817Sdg# INFODIR Base path for GNU's hypertext system 261817Sdg# called Info (see info(1)). [${SHAREDIR}/info] 271817Sdg# 281817Sdg# INFODIRFILE Top level node/index for info files. [dir] 2950477Speter# 301817Sdg# INFOGRP Info group. [${SHAREGRP}] 311817Sdg# 322579Sbde# INFOMODE Info mode. [${NOBINMODE}] 332579Sbde# 342123Sjkh# INFOOWN Info owner. [${SHAREOWN}] 3516029Speter# 362579Sbde# INFOSECTION ??? [Miscellaneous] 3718961Sbde# 3813107Sbde# INFOTMPL ??? [${INFODIR}/dir-tmpl] 3925083Sjdp# 40163726Sbde# INSTALLINFO ??? [install-info] 4125083Sjdp# 4225083Sjdp# INSTALLINFODIRS ??? 43163726Sbde# 4425083Sjdp# MAKEINFO A program for converting GNU Texinfo files into Info 4525083Sjdp# file. [makeinfo] 4625083Sjdp# 47114349Speter# MAKEINFOFLAGS Options for ${MAKEINFO} command. [--no-split] 4822636Sbde# 4925083Sjdp# NOINFO Do not make or install info files. [not set] 5022636Sbde# 51114349Speter# NOINFOCOMPRESS If you do not want info files be 5222636Sbde# compressed when they are installed. [not set] 5325083Sjdp# 54757Sdg# 5525083Sjdp# +++ targets +++ 5646548Sbde# 5713107Sbde# depend: 5818961Sbde# Dummy target, do nothing. 59757Sdg# 60171914Sjkoshy# distribute: 61171914Sjkoshy# This is a variant of install, which will 62757Sdg# put the stuff into the right "distribution". 63757Sdg# 6446548Sbde# install: 6513107Sbde# Install the info files. 6613107Sbde# 6713107Sbde# maninstall: 6813107Sbde# Dummy target, do nothing. 6913107Sbde# 7013107Sbde# 7113107Sbde# bsd.obj.mk: cleandir and obj 7213107Sbde 7346548Sbde.if exists(${.CURDIR}/../Makefile.inc) 7418961Sbde.include "${.CURDIR}/../Makefile.inc" 7518961Sbde.endif 7646548Sbde 7718961SbdeMAKEINFO?= makeinfo 7818961SbdeMAKEINFOFLAGS+= --no-split # simplify some things, e.g., compression 7913107SbdeSRCDIR?= ${.CURDIR} 8046548SbdeINFODIRFILE?= dir 8146548SbdeINFOTMPL?= ${INFODIR}/dir-tmpl 8213107SbdeINSTALLINFO?= install-info 8318961SbdeINFOSECTION?= Miscellaneous 8446548SbdeICOMPRESS_CMD?= ${COMPRESS_CMD} 8546548SbdeICOMPRESS_EXT?= ${COMPRESS_EXT} 8618961SbdeFORMATS?= info 8718961Sbde 8813107Sbde.MAIN: all 8913107Sbde 9013107Sbde.SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 9113107Sbde 9213107Sbde# What to do if there's no dir file there. This is really gross!!! 9313107Sbde${DESTDIR}${INFODIR}/${INFODIRFILE}: 9413107Sbde @(cd /usr/src/share/info; make install) 9513107Sbde 9613107Sbde.texi.info .texinfo.info: 9718961Sbde ${MAKEINFO} ${MAKEINFOFLAGS} -I ${.CURDIR} -I ${SRCDIR} ${.IMPSRC} \ 9818961Sbde -o ${.TARGET}.new 9918961Sbde mv -f ${.TARGET}.new ${.TARGET} 10018961Sbde 101757Sdg.texi.dvi .texinfo.dvi: 10213107Sbde env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \ 10318961Sbde tex ${.IMPSRC} </dev/null 10418961Sbde env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \ 10518961Sbde tex ${.IMPSRC} </dev/null 10618961Sbde 10713107Sbde.texinfo.latin1 .texi.latin1: 108122940Speter perl -npe 's/(^\s*\\input\s+texinfo\s+)/$$1\n@tex\n\\global\\hsize=120mm\n@end tex\n\n/' ${.IMPSRC} >> ${.IMPSRC:T:R}-la.texi 10913107Sbde env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \ 11013107Sbde tex ${.IMPSRC:T:R}-la.texi </dev/null 111163722Sbde env TEXINPUTS=${.CURDIR}:${SRCDIR}:$$TEXINPUTS \ 112163726Sbde tex ${.IMPSRC:T:R}-la.texi </dev/null 11318961Sbde dvips -o /dev/stdout ${.IMPSRC:T:R}-la.dvi | \ 114163722Sbde dvips2ascii > ${.TARGET}.new 115163722Sbde mv -f ${.TARGET}.new ${.TARGET} 116163722Sbde 11718961Sbde.dvi.ps: 11818961Sbde dvips -o ${.TARGET} ${.IMPSRC} 119757Sdg 120757Sdg.PATH: ${.CURDIR} ${SRCDIR} 121757Sdg 12213107Sbde.for _f in ${FORMATS} 12313107SbdeIFILENS+= ${INFO:S/$/.${_f}/g} 124757Sdg.endfor 12513107Sbde 12618961Sbde.if !defined(NOINFO) 12718961Sbde.if !defined(NOINFOCOMPRESS) 12813107Sbde.for _f in ${FORMATS} 12913107SbdeIFILES+= ${INFO:S/$/.${_f}${ICOMPRESS_EXT}/g} 1301321Sdg.endfor 13113107Sbdeall: ${IFILES} _SUBDIR 13213107Sbde.else 13313107SbdeIFILES= ${IFILENS} 134757Sdgall: ${IFILES} _SUBDIR 135122849Speter.endif 136122849Speter.else 137156699Speterall: 138122849Speter.endif 139122849Speter 140122849Speter.for _f in ${FORMATS} 141122849Speter.for x in ${INFO:S/$/.${_f}/g} 142153241Sjhb${x:S/$/${ICOMPRESS_EXT}/}: ${x} 143153241Sjhb ${ICOMPRESS_CMD} ${.ALLSRC} > ${.TARGET} 144153241Sjhb.endfor 145153241Sjhb.endfor 146153241Sjhb 147153241Sjhb.for x in ${INFO} 148153241SjhbINSTALLINFODIRS+= ${x:S/$/-install/} 149153241Sjhb${x:S/$/-install/}: ${DESTDIR}${INFODIR}/${INFODIRFILE} 150153241Sjhb ${INSTALLINFO} --defsection=${INFOSECTION} \ 151153241Sjhb --defentry=${INFOENTRY_${x}} \ 152153241Sjhb ${x}.info ${DESTDIR}${INFODIR}/${INFODIRFILE} 153153241Sjhb.endfor 154153241Sjhb 155153241Sjhb.PHONY: ${INSTALLINFODIRS} 156153241Sjhb 157153241Sjhb# The default is "info" and it can never be "bin" 158153241SjhbDISTRIBUTION?= info 159153241Sjhb.if ${DISTRIBUTION} == "bin" 160153241SjhbDISTRIBUTION= info 161153241Sjhb.endif 162153241Sjhb 163153241Sjhb.if !target(distribute) 164153241Sjhbdistribute: _SUBDIR 165153241Sjhb.for dist in ${DISTRIBUTION} 166153241Sjhb cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies 167153241Sjhb.endfor 168153241Sjhb.endif 169153241Sjhb 170153241Sjhb.if defined(SRCS) 171153241SjhbCLEANFILES+= ${INFO}.texi 172153241Sjhb${INFO}.texi: ${SRCS} 173153241Sjhb echo "\\input ${SRCS}" > ${.TARGET} 174153241Sjhb.endif 175153241Sjhb 176153241Sjhbdepend: _SUBDIR 177153241Sjhb @echo -n 178153241Sjhb 179153241Sjhb.for _f in ${FORMATS} 180153241SjhbCLEANFILES+=${INFO:S/$/.${_f}*/g} ${INFO:S/$/-la.${_f}*/g} 181153241Sjhb.endfor 182153241SjhbCLEANFILES+= ${INFO:S/$/-la.texi/g} 183153241Sjhb 184153241Sjhb# tex garbage 185153241Sjhb.for _f in aux cp fn ky log out pg toc tp vr dvi 186153241SjhbCLEANFILES+= ${INFO:S/$/.${_f}/g} ${INFO:S/$/-la.${_f}/g} 187153241Sjhb.endfor 188153241Sjhb 189153241Sjhb 190153241Sjhb.if !defined(NOINFO) && defined(INFO) 191153241Sjhbinstall: ${INSTALLINFODIRS} _SUBDIR 192153241Sjhb ${INSTALL} ${COPY} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \ 193153241Sjhb ${IFILES} ${DESTDIR}${INFODIR} 194153241Sjhb.else 195153241Sjhbinstall: 196122849Speter.endif 197122849Speter 1982579Sbde.if !target(maninstall) 199maninstall: _SUBDIR 200.endif 201 202.include <bsd.dep.mk> 203.include <bsd.obj.mk> 204