1# $OpenBSD: bsd.man.mk,v 1.42 2017/07/21 15:18:35 espie Exp $ 2# $NetBSD: bsd.man.mk,v 1.23 1996/02/10 07:49:33 jtc Exp $ 3# @(#)bsd.man.mk 5.2 (Berkeley) 5/11/90 4 5.if !target(.MAIN) 6. if exists(${.CURDIR}/../Makefile.inc) 7. include "${.CURDIR}/../Makefile.inc" 8. endif 9 10.MAIN: all 11.endif 12 13BEFOREMAN?= 14 15# Add / so that we don't have to specify it. 16.if defined(MANSUBDIR) && !empty(MANSUBDIR) 17MANSUBDIR:=${MANSUBDIR:S,^,/,:S,$,/,} 18.else 19MANSUBDIR=/ 20.endif 21 22# Files contained in ${BEFOREMAN} must be built before generating any 23# manual page source code. 24.for page in ${MAN} 25. if target(${page}) 26${page}: ${BEFOREMAN} 27. endif 28.endfor 29 30# Install the real manuals. 31.for page in ${MAN} 32. for sub in ${MANSUBDIR} 33_MAN_INST=${DESTDIR}${MANDIR}${page:E}${sub}${page:T} 34${_MAN_INST}: ${page} 35 ${INSTALL} ${INSTALL_COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \ 36 ${.ALLSRC} ${.TARGET} 37 38maninstall: ${_MAN_INST} 39 40# XXX not really a phony target, but force installation each time 41# maninstall is run. 42.PHONY: ${_MAN_INST} 43. endfor 44.endfor 45 46# Install the manual hardlinks, if any. 47maninstall: 48.if defined(MLINKS) && !empty(MLINKS) 49. for sub in ${MANSUBDIR} 50. for lnk file in ${MLINKS} 51 @l=${DESTDIR}${MANDIR}${lnk:E}${sub}${lnk}; \ 52 t=${DESTDIR}${MANDIR}${file:E}${sub}${file}; \ 53 echo $$t -\> $$l; \ 54 rm -f $$t; ln $$l $$t; 55. endfor 56. endfor 57.endif 58 59# Explicitly list ${BEFOREMAN} to get it done even if ${MAN} is empty. 60all: ${BEFOREMAN} ${MAN} 61 62manlint: ${MAN} 63.if defined(MAN) && !empty(MAN) 64 mandoc -Tlint ${.ALLSRC} 65.endif 66 67.PHONY: manlint 68