xref: /illumos-gate/usr/src/man/Makefile.man (revision 7a34c45a19b262a37c336e71aeff5ccd8d28cf9d)
1#
2# This file and its contents are supplied under the terms of the
3# Common Development and Distribution License ("CDDL"), version 1.0.
4# You may only use this file in accordance with the terms of version
5# 1.0 of the CDDL.
6#
7# A full copy of the text of the CDDL should have accompanied this
8# source.  A copy of the CDDL is also available via the Internet
9# at http://www.illumos.org/license/CDDL.
10#
11
12#
13# Copyright 2011, Richard Lowe
14# Copyright 2017 Nexenta Systems, Inc.
15#
16
17MANDOC=		$(ONBLD_TOOLS)/bin/${MACH}/mandoc
18ROOTMAN=	$(ROOT)/usr/share/man
19ROOTHASMAN=	$(ROOT)/usr/has/man
20FILEMODE=	0444
21
22# The manual section being built, client Makefiles must set this to, for e.g.
23# "3perl", with case matching that of the section name as installed.
24#
25# MANSECT=
26
27MANCHECKS=	$(MANFILES:%=%.check)
28ROOTMANFILES= 	$(MANFILES:%=$(ROOTMAN)/man$(MANSECT)/%)
29ROOTMANLINKS=	$(MANLINKS:%=$(ROOTMAN)/man$(MANSECT)/%)
30
31$(ROOTMAN)/man$(MANSECT) $(ROOTHASMAN)/man$(MANSECT):
32		$(INS.dir)
33
34$(ROOTHASMAN)/man$(MANSECT)/%: % $(ROOTHASMAN)/man$(MANSECT)
35		$(INS.file)
36
37$(ROOTMAN)/man$(MANSECT)/% : % $(ROOTMAN)/man$(MANSECT)
38		$(INS.file)
39
40#
41# Note that new mandoc adds some checks for lots of extra whitespace.
42# We don't want to check our legacy pages for that.  There are thousands
43# and thousands of them in our man pages.  Please still check them
44# manually when editing (git pbchk will do so for you.)
45#
46$(MANCHECKS):
47		@$(EGREP) -q "^.TH" $(@:%.check=%) || \
48		( $(ECHO) "checking $(@:%.check=%)"; \
49		$(MANDOC) -Tlint -Wwarning $(@:%.check=%) )
50
51$(MANLINKS):
52		$(RM) $@; $(SYMLINK) $(LINKSRC) $@
53
54$(ROOTMANLINKS): $(MANLINKS) $(ROOTMAN)/man$(MANSECT)
55		$(RM) $@; $(CP) -RP $(@F) $(@D)
56
57all:
58
59check:		$(MANCHECKS)
60
61clean:
62
63clobber:
64		$(RM) $(MANLINKS)
65
66.PARALLEL:
67
68FRC:
69