Commit Graph

122 Commits

Author SHA1 Message Date
kamil 994be4e978 Reintroduce the support of MKCATPAGES
Requested by <mrg>
2020-11-10 21:47:40 +00:00
kamil 4045d62396 Remove the support for MKCATPAGES
It was optional since 1999 and disabled by default since 2012.

Proposed on tech-userlevel@.
2020-11-08 14:52:35 +00:00
christos 0a4f449bbb Most of the mv operations are to move temporary files to their final place.
Some use -f, others don't. This can lead to spurious build failures when
the user performing the build changes. Centralize, and always use -f.
2019-01-21 21:11:54 +00:00
jmcneill 2be84737fc Latest mandoc no longer supports multiple -O options. Instead it expects
option values to be separated by commas. PR toolchain/52402
2017-07-14 17:30:31 +00:00
dholland 3adc6f5a85 because I'm feeling tetchy, implement "make describe" for everything that
has man pages.
2015-10-19 17:08:11 +00:00
christos abe684efd6 protect the variable name, and explain why setting it does not work. 2014-12-19 22:25:39 +00:00
christos 4a9ac4bbf0 Explain why used to fold case when deciding if we are going to install manual
page links, and change the behavior not to do this anymore.
2014-12-19 21:43:11 +00:00
apb 71da667fc9 Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly
use ${TOOL_GZIP_N} -9 instead of ${TOOL_GZIP} -9n, etc.

This will pass -nT instead of just -n if the gzip program is
actually pigz.
2014-08-05 15:40:58 +00:00
apb e0db893163 Rename _MNUMBERS to _MSECTIONS. The manual section identifiers
are not just numbers any more.

Also introduce a new variable, _MSECTIONREGEX, as a regular expression
to match any of the elements of ${_MSECTIONS}.  Use this instead of
\.[1-9][a-z]*.
2013-10-25 22:16:29 +00:00
apb f0bdf85100 Recognise .3lua and .9lua as man page extensions. Source
files like foo.3lua will result in installed files like
/usr/share/man/man3lua/foo.3lua, /usr/share/man/cat3lua/foo.0,
and /usr/share/man/html3lua/foo.html.
2013-10-25 10:45:01 +00:00
christos fc08ea7529 fix groff html generation 2013-03-21 02:04:17 +00:00
christos 131c9e0b6e handle NOMANDOC in the html case too 2013-03-21 01:48:14 +00:00
joerg 5adc71af23 CATDEPS is bogus for mandoc, so disable it in that case. 2012-11-30 17:52:13 +00:00
apb 386a389aab Move all "clean" and "cleandir" processing to a new bsd.clean.mk
file, as proposed in tech-toolchain.
2011-09-10 16:57:35 +00:00
matt dd0507a9a5 Replace gzip with ${TOOL_GZIP} in manual compression.
Modify the description of USE_PIGZGZIP.
2011-06-30 18:13:51 +00:00
njoly 2198134aa6 Adjust html link template and css location for man pages in arch
subdirs.
2011-03-08 12:20:17 +00:00
joerg 6518b0c675 mandoc now supports tbl(1) formatting, so adjust rules.
Use -Wstop in lintmanpages.
2011-01-12 23:03:24 +00:00
wiz 36c0ebae6f Remove HTMLDEPS; was only used by nroff.
Ok joerg@
2010-12-02 23:08:04 +00:00
joerg e4c9126b4d Install mdocml's default CSS as /usr/share/man/style.css. Switch HTML
man pages to use mandoc unconditional as it gives reasonable output for
all man pages, not only a subset of mdoc(7).  Use the newly installed
style.css for formatting and produce hyperlinks for .Xr.
2010-06-01 23:29:09 +00:00
joerg fa1daced3e Make lintmanpages not depend on MKMANDOC, it is built by default now.
Use -Wall to increase usefulness.
2010-03-01 22:00:07 +00:00
joerg cf15d921b1 Do not run mandoc for lintmanpages if MANPAGES is empty.
Add it to the list of targets to recurse for.
2009-10-23 23:12:10 +00:00
joerg 3b68c94681 Add MKMANDOC option to trigger building cat pages and HTML pages with
mdocml.  Add a lintmanpages target for developers to check man pages
with the strictest settings of mandoc.
2009-10-23 22:14:37 +00:00
apb 91fe922f05 Add LINKSOWN, LINKSGRP, and LINKSMODE variables for use by bsd.links.mk
when installing hard links.  They have no effect except when using a
metalog, in which case the information is added to the metalog.  In
the future, these variables may be replaced by a method for explicitly
recording hard links in a metadata log.

Also change a few things that called ${INSTALL_LINK} without going
through bsd.links.mk.

Reviewed by perry and joerg.  This should fix PR 24457 and PR 41155.
2009-04-10 16:16:12 +00:00
perry 0ef5ffa1dd add -n to gzip invocation 2009-03-31 21:00:34 +00:00
lukem 3c0dc4341a Use ${MANDIR} instead of /usr/share/man as part of the default ${HTMLDIR} 2008-08-29 04:52:44 +00:00
lukem 4f84d43824 Rework MKHTML (HTML manual pages) implementation to behave like
the manpages and catpages builds, with similar target names (etc).
2008-08-27 02:28:34 +00:00
dbj b41feff50f fixes for installing into a case insensitive $DESTDIR
when files may have hard links to a a name that only differs by case
  - change install to unconditionally remove its temporary file
    when installing hard links with -r.  This avoids problems when
    built with posix rename(2) semantics and reinstalling an existing
    hard link.
  - rework hard link targets in bsd.man.mk and bsd.links.mk
    to use makefile constructs instead of shell constructs
  - always reinstall hard links that may have case conflicts, even
    when MKUPDATE=yes, this ensures that they get added to METALOG
  - remove man pages which were hard linked to themselves in libform
  - remove improper hard link command for existing man page in libkrb5
  - fix libl's makefile to include bsd.lib.mk at end
  - remove shell quoting in link target for test's [.1 man page
2006-09-11 22:24:09 +00:00
jwise 8bc0f5da0f Now that we have real build system support for syspkgs, remove someone's
half-implemented idea of building `syspkgs' (really a few giant blobs of the
same granularity of the old sets) using install(1).
2006-03-16 18:43:34 +00:00
tron fce29e26d8 Honor contents of "CLEANFILES" in "cleandir" target. 2005-04-19 08:41:37 +00:00
jmc 567190270a If USETOOLS != yes then depend on the system tmac directory, not DESTDIR since
USETOOLS=no/never means the system groff is being used so depending on
anything except it's tmac files makes no sense (and prevents builds with
USETOOLS=no/never from working as PR#23067 points out)
2004-06-23 15:28:19 +00:00
lukem 7f363470cf oops in previous; can't call cleanhtml in cleandir at this time 2004-01-29 05:25:51 +00:00
lukem 84a4748659 Cosmetically tweak how .PHONY is used by (generally) providing it as a source,
instead of using it as a target with all the rules as its sources.
2004-01-29 01:48:45 +00:00
lukem 4c858a92f3 Support MAKEVERBOSE more effectively. 2003-11-07 00:05:24 +00:00
lukem f8780e2dfa Support MAKEVERBOSE when installing man symlinks.
Note; this makes symlink installation more "chatty" in the MAKEVERBOSE=2
case, but results in more consistent operation for that level.
2003-11-06 22:59:03 +00:00
lukem 130ab7336b Rework how MAKEVERBOSE operates:
*	Don't bother prefixing commands with a line of  ${_MKCMD}\
	and instead rely upon "make -s".  This is less intrusive on
	all the Makefiles than the former.  Idea from David Laight.

    *	Rename the variables use to print messages.  The scheme now is:
	    _MKMSG_FOO		Run  _MKMSG 'foo'
	    _MKTARGET_FOO	Run  _MKMSG_FOO ${.TARGET}
	From discussion with Alistair Crooks.
2003-10-21 10:01:19 +00:00
lukem 4ccb31e74a Provide _MKMSG{BUILD,CREATE,COMPILE,FORMAT,INSTALL,LINK,LEX,YACC} to display
${_MKMSG} "  ...  {$.TARGET}"  and use appropriately.

Provide _MKMSGLINK.m to provide "link" message by itself (without ${.TARGET})

Replace _MKSHCMD with _MKSHECHO
2003-10-19 03:00:55 +00:00
lukem f1e290c260 implement MAKEVERBOSE for rules which are of the form:
@cmp -s ${.ALLSRC} ${.TARGET} || ( echo cmd && cmd )
2003-10-18 16:41:19 +00:00
lukem 03b6213598 Implement MAKEVERBOSE to control how "verbose" the standard make(1) rules are.
Supported values:
    0	Minimal output ("quiet")
    1	Describe what is occurring
    2	Describe what is occurring and echo the actual command ("verbose")
	This is the default, and is equivalent to the previous behaviour.
2003-10-18 15:33:59 +00:00
lukem 518360ab1a pull in <bsd.files.mk> incase LNFILES is used by <bsd.man.mk> user. 2003-09-03 05:40:12 +00:00
lukem f134f3dc38 Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
2003-07-18 08:26:01 +00:00
lukem 4d63406463 Add MKMANZ; if not set to "no", compress the manual pages at installation time.
This replaces the previous  .if defined (MANZ) behaviour, although the latter
will set MKMANZ=yes for compatibility purposes.

Don't bother with -P-bou in TOOL_ROFF_HTML; it doesn't appear to be
necessary with groff 1.19.

Fix NOHTML implementation to be consistent with other NOxxx / MKxxx
variables, and expose the user-tweakable MKHTML.
2003-07-18 02:52:51 +00:00
lukem 001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
wiz 61ddcbc141 Adapt CATDEPS/HTMLDEPS for groff-1.19. 2003-06-30 18:49:05 +00:00
perry 8885724457 Pass 1 of SYSPKG changes to automatically add tags=pkgname_pkg to METALOG.
Not quite ready for prime time yet.
2002-10-22 18:48:27 +00:00
mycroft 09819b05ef Don't use .PHONY for targets that are actually installed. Instead use force
dependencies.  (Among other things, `make -t install' does something vaguely
sensible now.)
2002-02-11 21:14:58 +00:00
ross a3f340931b Honor MANSUBDIR when installing md html pages. 2002-02-07 01:56:02 +00:00
ross 57170e8ef5 fix html sources, they were depending on -mdoc, not -mdoc2html 2002-02-07 00:52:23 +00:00
christos e7f0a97835 s/.NOSUFF/.MADE/ 2002-02-04 17:25:44 +00:00
christos 944602ca01 Apply a .NOSUFF: directive to targets we don't want to have processed by
the suffix rules engine.
2002-02-03 21:40:14 +00:00
mrg e5a41e331a generate man pages into a temporary file and rename it if groff succeeds.
this avoids a problem where groff was dumping core and leaving empty
manpage.catN files, that would later not be rebuilt.
2002-01-06 01:27:25 +00:00