Commit Graph

112 Commits

Author SHA1 Message Date
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
tv
35bea081fe Always depend on ${MANPAGES}, so deliberately pre-generated files are
built automatically (even without a ${MANSUFFIX}).
2001-12-17 21:27:45 +00:00
jmc
9083f42414 There's no need for TMACDIR here after all. Anything using it is using it for
FILES installs so it can't have DESTDIR in front of it (and those Makefiles
all explicitly set it).
2001-11-28 23:32:16 +00:00
tv
8f2c8e583f Fix the :U's used with ${UPDATE} so that stray values don't get put into
the .PHONY: target.
2001-11-28 20:19:08 +00:00
jmc
20bb75f3c3 Separate out TMACDIR's use for install's from it's dependency function.
The dependency should be against the TOOLDIR files (is USETOOLS=yes) but
installs will always use ${DESTDIR}/usr/share/tmac.

Without this if people do not have /usr/share/tmac/tmac.andoc on their
systems while building the build will break in the groff areas due to
the dependency rules.
2001-11-28 05:01:28 +00:00
perry
550b1df8d6 replace instances of ln with ${INSTALL_LINK} and ${INSTALL_SYMLINK} 2001-11-19 04:46:07 +00:00
thorpej
c08a9b5abe Need bsd.sys.mk for the GROFF definition in the non-USETOOLS case. 2001-11-17 20:38:45 +00:00
tv
b5cd2489b2 Major overhaul of src/tools and host toolchain. Summary of changes:
* Rewrite src/tools Make logic to work like the rest of the tree wrt
  "dependall" and "install".  The old "make build" hack is gone.

* Remove the MKTOOLS logic.  This was linked to the "make build" hack,
  and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
  BSD make wrapper.  Use new ${.ALLTARGETS} variable to scan for
  targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
  src/usr.* and src/gnu/usr.* that would do target filename rewriting
  (improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
  MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
2001-11-12 23:16:17 +00:00
enami
97ab45c39d Don't try to build nonexistent compressed man page. 2001-11-04 00:30:52 +00:00
tv
1129ed4afe Improve readability and reduce redundant redundancy in share/mk; add some
descriptive comments.  The guts of hostprog, lib, and prog are mostly
unchanged; this will be done in another pass.

Make several things work properly with UNPRIVILEGED set, and make the
install-time "cmp" logic work for MANZ.  Also reimplement INCS{DIR,NAME}_foo
(requested by wiz) in a backwards compatible way.

Reviewed by christos.
2001-11-02 05:21:47 +00:00
tv
d0f9e45413 Rather than explicitly saying "clean cleandir:" all the time, make clean
a dependency of cleandir (so that "make cleandir" implies "make clean").
2001-08-14 07:02:13 +00:00