xref: /illumos-gate/usr/src/man/Makefile.man (revision e6645893)
1c10c16deSRichard Lowe#
2c10c16deSRichard Lowe# This file and its contents are supplied under the terms of the
3c10c16deSRichard Lowe# Common Development and Distribution License ("CDDL"), version 1.0.
4c10c16deSRichard Lowe# You may only use this file in accordance with the terms of version
5c10c16deSRichard Lowe# 1.0 of the CDDL.
6c10c16deSRichard Lowe#
7c10c16deSRichard Lowe# A full copy of the text of the CDDL should have accompanied this
8c10c16deSRichard Lowe# source.  A copy of the CDDL is also available via the Internet
9c10c16deSRichard Lowe# at http://www.illumos.org/license/CDDL.
10c10c16deSRichard Lowe#
11c10c16deSRichard Lowe
12a9478106SYuri Pankov#
13c10c16deSRichard Lowe# Copyright 2011, Richard Lowe
14c66b8046SYuri Pankov# Copyright 2017 Nexenta Systems, Inc.
15a9478106SYuri Pankov#
16c10c16deSRichard Lowe
1795c635efSGarrett D'AmoreMANDOC=		$(ONBLD_TOOLS)/bin/${MACH}/mandoc
18a9478106SYuri PankovROOTMAN=	$(ROOT)/usr/share/man
19a9478106SYuri PankovROOTHASMAN=	$(ROOT)/usr/has/man
20a9478106SYuri PankovFILEMODE=	0444
21c10c16deSRichard Lowe
22c10c16deSRichard Lowe# The manual section being built, client Makefiles must set this to, for e.g.
23c10c16deSRichard Lowe# "3perl", with case matching that of the section name as installed.
24c10c16deSRichard Lowe#
25c10c16deSRichard Lowe# MANSECT=
26c10c16deSRichard Lowe
2795c635efSGarrett D'AmoreMANCHECKS=	$(MANFILES:%=%.check)
28*e6645893SMichal NowakROOTMANFILES=	$(MANFILES:%=$(ROOTMAN)/man$(MANSECT)/%)
29a9478106SYuri PankovROOTMANLINKS=	$(MANLINKS:%=$(ROOTMAN)/man$(MANSECT)/%)
30c10c16deSRichard Lowe
3125b86e8fSRobert Mustacchi$(ROOTMAN)/man$(MANSECT) $(ROOTHASMAN)/man$(MANSECT):
3225b86e8fSRobert Mustacchi		$(INS.dir)
3325b86e8fSRobert Mustacchi
3425b86e8fSRobert Mustacchi$(ROOTHASMAN)/man$(MANSECT)/%: % $(ROOTHASMAN)/man$(MANSECT)
3525b86e8fSRobert Mustacchi		$(INS.file)
3625b86e8fSRobert Mustacchi
3725b86e8fSRobert Mustacchi$(ROOTMAN)/man$(MANSECT)/% : % $(ROOTMAN)/man$(MANSECT)
38a9478106SYuri Pankov		$(INS.file)
39c10c16deSRichard Lowe
40698f87a4SGarrett D'Amore#
41698f87a4SGarrett D'Amore# Note that new mandoc adds some checks for lots of extra whitespace.
42698f87a4SGarrett D'Amore# We don't want to check our legacy pages for that.  There are thousands
43698f87a4SGarrett D'Amore# and thousands of them in our man pages.  Please still check them
44698f87a4SGarrett D'Amore# manually when editing (git pbchk will do so for you.)
45698f87a4SGarrett D'Amore#
4695c635efSGarrett D'Amore$(MANCHECKS):
47*e6645893SMichal Nowak		@$(ECHO) "checking $(@:%.check=%)"; \
48*e6645893SMichal Nowak		if $(EGREP) -q "^.TH" $(@:%.check=%); then \
49*e6645893SMichal Nowak		$(MANDOC) -Tlint -Werror $(@:%.check=%); \
50*e6645893SMichal Nowak		else; \
51*e6645893SMichal Nowak		$(MANDOC) -Tlint -Wwarning $(@:%.check=%); \
52*e6645893SMichal Nowak		fi
5395c635efSGarrett D'Amore
54a9478106SYuri Pankov$(MANLINKS):
55a9478106SYuri Pankov		$(RM) $@; $(SYMLINK) $(LINKSRC) $@
56a9478106SYuri Pankov
5725b86e8fSRobert Mustacchi$(ROOTMANLINKS): $(MANLINKS) $(ROOTMAN)/man$(MANSECT)
58a9478106SYuri Pankov		$(RM) $@; $(CP) -RP $(@F) $(@D)
59c10c16deSRichard Lowe
60c10c16deSRichard Loweall:
61c10c16deSRichard Lowe
6295c635efSGarrett D'Amorecheck:		$(MANCHECKS)
6395c635efSGarrett D'Amore
64c10c16deSRichard Loweclean:
65c10c16deSRichard Lowe
66c10c16deSRichard Loweclobber:
67a9478106SYuri Pankov		$(RM) $(MANLINKS)
68c10c16deSRichard Lowe
69c10c16deSRichard Lowe.PARALLEL:
70c10c16deSRichard Lowe
71c10c16deSRichard LoweFRC:
72