1 1.25 mycroft # $NetBSD: bsd.info.mk,v 1.25 2002/02/11 21:14:59 mycroft Exp $ 2 1.1 tv 3 1.23 tv .include <bsd.init.mk> 4 1.23 tv 5 1.23 tv ##### Basic targets 6 1.23 tv .PHONY: infoinstall cleaninfo 7 1.23 tv cleandir: cleaninfo 8 1.23 tv realinstall: infoinstall 9 1.1 tv 10 1.23 tv ##### Default values 11 1.1 tv MAKEINFO?= makeinfo 12 1.23 tv INFOFLAGS?= 13 1.1 tv INSTALL_INFO?= install-info 14 1.1 tv 15 1.23 tv INFOFILES?= 16 1.23 tv 17 1.23 tv ##### Build rules 18 1.23 tv .if ${MKINFO} != "no" 19 1.23 tv 20 1.23 tv INFOFILES= ${TEXINFO:C/\.te?xi(nfo)?$/.info/} 21 1.23 tv 22 1.23 tv realall: ${INFOFILES} 23 1.23 tv .NOPATH: ${INFOFILES} 24 1.15 mycroft 25 1.5 tv .SUFFIXES: .txi .texi .texinfo .info 26 1.1 tv 27 1.5 tv .txi.info .texi.info .texinfo.info: 28 1.21 enami ${MAKEINFO} ${INFOFLAGS} --no-split -o $@ $< 29 1.1 tv 30 1.23 tv .endif # ${MKINFO} != "no" 31 1.1 tv 32 1.23 tv ##### Install rules 33 1.23 tv infoinstall:: # ensure existence 34 1.15 mycroft .if ${MKINFO} != "no" 35 1.1 tv 36 1.15 mycroft __infoinstall: .USE 37 1.23 tv ${INSTALL_FILE} \ 38 1.18 mycroft -o ${INFOOWN_${.ALLSRC:T}:U${INFOOWN}} \ 39 1.18 mycroft -g ${INFOGRP_${.ALLSRC:T}:U${INFOGRP}} \ 40 1.18 mycroft -m ${INFOMODE_${.ALLSRC:T}:U${INFOMODE}} \ 41 1.15 mycroft ${.ALLSRC} ${.TARGET} 42 1.23 tv @${INSTALL_INFO} --remove --info-dir=${DESTDIR}${INFODIR} ${.TARGET} 2>/dev/null 43 1.18 mycroft ${INSTALL_INFO} --info-dir=${DESTDIR}${INFODIR} ${.TARGET} 44 1.1 tv 45 1.19 sommerfe .for F in ${INFOFILES:O:u} 46 1.23 tv _FDIR:= ${INFODIR_${F}:U${INFODIR}} # dir overrides 47 1.23 tv _FNAME:= ${INFONAME_${F}:U${INFONAME:U${F:T}}} # name overrides 48 1.23 tv _F:= ${DESTDIR}${_FDIR}/${_FNAME} # installed path 49 1.23 tv 50 1.25 mycroft .if !defined(UPDATE) 51 1.25 mycroft ${_F}! ${F} __infoinstall # install rule 52 1.25 mycroft .if !defined(BUILD) && !make(all) && !make(${F}) 53 1.25 mycroft ${_F}! .MADE # no build at install 54 1.25 mycroft .endif 55 1.25 mycroft .else 56 1.23 tv ${_F}: ${F} __infoinstall # install rule 57 1.15 mycroft .if !defined(BUILD) && !make(all) && !make(${F}) 58 1.23 tv ${_F}: .MADE # no build at install 59 1.15 mycroft .endif 60 1.25 mycroft .endif 61 1.25 mycroft 62 1.25 mycroft infoinstall:: ${_F} 63 1.25 mycroft .PRECIOUS: ${_F} # keep if install fails 64 1.15 mycroft .endfor 65 1.23 tv 66 1.23 tv .undef _FDIR 67 1.23 tv .undef _FNAME 68 1.23 tv .undef _F 69 1.23 tv .endif # ${MKINFO} != "no" 70 1.23 tv 71 1.23 tv ##### Clean rules 72 1.15 mycroft cleaninfo: 73 1.23 tv .if !empty(INFOFILES) 74 1.23 tv rm -f ${INFOFILES} 75 1.15 mycroft .endif 76 1.1 tv 77 1.23 tv ##### Pull in related .mk logic 78 1.23 tv .include <bsd.obj.mk> 79 1.23 tv 80 1.23 tv ${TARGETS}: # ensure existence 81