73 Commits

Author SHA1 Message Date
Bryan Drewery
c22afe52f4 Fix installation of manpages with WITHOUT_COMPRESS broken since r284685.
This partially reverts r284685.  An attempt was made in r285295 to fix this
but was not enough.  There were still $${} vars in the code that should have
been using the ${_page} and ${_sect} vars, but the bigger problem was that
.for cannot be used on .ALLSRC as it is not defined when the .for is evaluated.

Using ${MAN} here in a .for loop doesn't work either as the paths are not
expanded right for lib/libc/ subdirs despite having a .PATH set for all
of them.

Add some comments around long .else and .endif as well.

Sponsored by:	EMC / Isilon Storage Division
2015-10-22 22:29:25 +00:00
Bryan Drewery
61c20fc782 Make installing to a non-existent directory an error.
Before this, if a file was installed to DESTDIR/some/dir and that directory
was missing due to not having ran 'make distrib-dirs' yet, the file would
be installed as 'some/dir'.  For something like bsd.incs.mk with INCLUDEDIR
being a sub-directory of /usr/include, this could result in all of the headers
being installed to a file rather than getting a directory of them.

Now it will error that the file/directory does not exist rather than hide
the issue.

Another option being discussed is to implement GNU's install -D flag which
would auto create any missing directories.

This is a mitigation of the problem.  The proper order to the build is to
run 'make distrib-dirs' first, but that can be forgotten if building from
a sub-directory after updating the source code to the latest revision.

MFC after:	2 weeks
Sponsored by:	EMC / Isilon Storage Division
2015-10-15 22:49:56 +00:00
Simon J. Gerraty
eef72759b5 In jobs mode we can use .ORDER to force stage_links to run after other
stage_* targets.
In non-jobs mode we can achieve the same result by simply introducing
the targets in the correct order.
Thus in bsd*.mk we simply add targets to STAGE_TARGETS which we
realize in meta.stage.mk

Reviewed by: bdrewery
2015-10-07 00:24:27 +00:00
Baptiste Daroussin
f9b9c07087 Fix typo which breaks build of manpages when WITHOUT_MANCOMPRESS is set
PR:		201153
Reported by:	Andriy Voskoboinyk <s3erios@gmail.com>
2015-07-08 22:24:55 +00:00
Baptiste Daroussin
a82117a6af Simplify code to install manpages and it symlinks
Use the bmake's .for multi variable loops to simplify and make the code more
readable
2015-06-21 22:42:55 +00:00
Simon J. Gerraty
924b88f687 Watchout for bogus MAN 2015-06-08 23:32:27 +00:00
Simon J. Gerraty
1e34437637 Add dependent option STAGING_MAN/STAGING
Use a single mlinks set, since some libs (eg. libc) do cross section
links.
2015-06-04 19:11:56 +00:00
Simon J. Gerraty
8bf4a1b89c Handle multiple sections in MLINKS 2015-05-31 07:16:31 +00:00
Simon J. Gerraty
09cdd180a2 Stage man pages. 2015-05-31 03:13:24 +00:00
Baptiste Daroussin
0df7827e83 Use mandoc to generate cat pages 2015-01-02 14:05:30 +00:00
Baptiste Daroussin
2f335df9c2 Use mandoc -Tlint instead of groff for manlint target 2015-01-02 13:54:03 +00:00
Warner Losh
0abe2561f6 Convert NO_MANCOMPRESSED to MK_MANCOMPRESSED. 2014-04-18 17:03:49 +00:00
Warner Losh
a0f4cb1e7b r264402 builds fine, but turns out there are problems with
install. Back it out until they can be tracked down.
2014-04-13 21:52:27 +00:00
Warner Losh
5bce97114a Convert NO_MANCOMPRESS to normal convention. 2014-04-13 05:22:26 +00:00
Brooks Davis
12dd8cb14c Replace all known uses of ln in the build process with appropriate
install -l invocations via new INSTALL_LINK and INSTALL_SYMLINK
variables.

Sponsored by:	DARPA, AFRL
Reviewed by:	ian, ray, rpaulo
2013-01-21 22:40:39 +00:00
Brooks Davis
8b4f1f9104 Remove support for installing 1aout section manpages. 2013-01-16 23:21:04 +00:00
Ruslan Ermilov
5b83a06c72 Stop clobberring the application namespace with local
variables such as "sect", "page", and "target"; use
underscored versions instead.

Discussed with:	kan
MFC after:	3 days
2007-03-12 13:54:52 +00:00
Kirill Ponomarev
d966048e7e Remove trailing spaces. 2005-01-06 11:12:43 +00:00
Ruslan Ermilov
9a9bc31fbb NOMLINKS -> NO_MLINKS 2004-12-21 09:44:43 +00:00
Ruslan Ermilov
e653b48c80 Start the dreaded NOFOO -> NO_FOO conversion.
OK'ed by:	core
2004-12-21 08:47:35 +00:00
Ruslan Ermilov
68de25ddb4 Implement sed(1) commands using the make(1)'s RE variable modifier.
(This almost eliminates the need of a sed(1) during installworld.)
2003-09-07 12:59:22 +00:00
Ruslan Ermilov
b17996a47e Revert last delta. SGR support in grotty(1) is disabled system-wide
in /usr/share/tmac/troffrc pending the issue resolution on -arch.
2002-10-18 09:14:17 +00:00
Ruslan Ermilov
65b1f0f74e Groff 1.18.1 comes in with ANSI color support, enabled by default.
In "nroff" mode, italic font renders as an underlined text, which
makes it indistinguishable from the bold text on color monitors
(cons25 terminal type), yet it requires the less(1)'s -R option.
(Refer to the new grotty(1) manpage for details.)

So turn off the color support for now (when generating catpages),
until we figure out what do we do with this new feature.  I have
a patch for grotty(1) that tells it to use the "reverse video"
attribute to render the italic font.  Once this is accepted, we
can turn color support back on (if there won't be any objections
from the community).
2002-10-11 09:16:24 +00:00
Ruslan Ermilov
81c0610313 Allow one to override ${MINSTALL} in /etc/make.conf.
Prompted by:	Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
2002-08-20 11:11:37 +00:00
Ruslan Ermilov
d2893b161b Drop support for COPY, -c has been the default mode of install(1)
for a long time now.

Approved by:	bde
2002-07-29 09:40:17 +00:00
Ruslan Ermilov
8f08b6b2ee Ensure manpages are built with the all-man in the
NOMANCOMPRESS && !MANFILTER && !MANBUILDCAT case.

PR:		bin/37360
Prodded by:	cjc
2002-05-13 13:04:46 +00:00
Ruslan Ermilov
afeaaa846c Added internal, non-recursive (SUBDIR) versions of the `all-man'
and `maninstall' targets.  This fixes the issue where each subdir
was descended into twice during "make all", and also resurrects
the standardization of `maninstall'.

Urged by:	bde
2002-05-07 15:42:56 +00:00
Ruslan Ermilov
b25a566d47 Merge bsd.obj.mk's version of the _SUBDIR target with bsd.subdir.mk.
Ensure all standard targets honor SUBDIR.  Now `make obj' descends into
SUBDIRs even if NOOBJ is set (some descendants may still need an object
directory, but we do not have such precedents).  Now `make install' in
non-bsd.subdir.mk makefiles runs `afterinstall' target _after_ `install'
in SUBDIRs, like we do in bsd.subdir.mk.  Nothing depended on the wrong
order anyway.

Fixed `distribute' targets (except for the bsd.subdir.mk version) so that
they do not depend on _SUBDIR; `distribute' calls `install' which already
depends on _SUBDIR.

De-standardize `maninstall', otherwise manpages would be installed twice.
(To be revised later.)
2002-04-23 09:03:56 +00:00
Ruslan Ermilov
2bdaf7e81c Don't include bsd.own.mk from sys.mk, this makes it impossible
to use ``.if defined()'' inside bsd.own.mk to test for defines
in individual makefiles.  For example, setting DEBUG_FLAGS in
Makefile didn't take the desired effect on the STRIP assignment.

Added bsd.init.mk (like in NetBSD) that handles the inclusion
of ../Makefile.inc and bsd.own.mk from all bsd.*.mk files that
"build something".

Back out bsd.own.mk,v 1.15: moved OBJFORMAT initialization back
to sys.mk (several source tree makefiles want to check it early)
and removed MACHINE_ARCH initialization (it's hard to see from
looking at the commitlogs what the problem was at the time, but
now it serves no purpose).

Prohibit the direct inclusion of bsd.man.mk and bsd.libnames.mk.

Protect bsd.obj.mk from repetitive inclusion.  Prohibiting the
direct inclusion of bsd.obj.mk might be a good idea too.
2002-04-17 13:49:29 +00:00
Ruslan Ermilov
d0a19329c7 Revert to the ordinary :' dependency operator for mainstall'.
Revision 1.7 had "maninstall::" inside a loop.  Revision 1.36
unrolled the loop.

Reviewed by:	bde
2002-04-17 05:53:57 +00:00
Ruslan Ermilov
a5772968f0 Fix all-man to look into the SUBDIR subdirs as well. 2002-04-15 10:17:35 +00:00
Ruslan Ermilov
805030358f There is a better way to suppress groff(1) output.
Submitted by:	okazaki
2001-09-05 14:29:28 +00:00
Ruslan Ermilov
59e44d720d Implement the `manlint' target, for minimal validity checking of
the manual pages.  Mostly useful with mdoc(7) formatted manuals.

Requested by:	murray
2001-09-05 11:24:34 +00:00
Ruslan Ermilov
b19ea0bb44 Always preprocess manpages with tbl(1). 2001-07-12 07:47:39 +00:00
Ruslan Ermilov
9b03144328 Do not clobber COPY, it may be set differently in /etc/make.conf.
This is not the problem for NOMANCOMPRESS, as install(1) does not
delete the originals anymore (-c is the default now).
2001-05-30 07:02:57 +00:00
Ruslan Ermilov
d1a0f91d09 Add missing -mtty-char for MANBUILDCAT. 2001-04-18 12:13:08 +00:00
Ruslan Ermilov
09fa52f83f - Removed `n' from the list of manpage sections.
- Only support the old syntax for manpage declarations
  (MAN1...MAN9) if no MAN is defined.
2001-03-28 14:58:08 +00:00
Ruslan Ermilov
862d3deac6 Removed _MANPAGES, MANDEPEND and MANSRC.
Added MAN which will eventually replace MAN[0-9] and MAN1aout.
For now, the old syntax is still supported.

Reviewed by:	bde
2001-03-26 08:04:11 +00:00
Ruslan Ermilov
0a3a912634 Make ``groff -man'' work again for both man(7) and mdoc(7) manpages.
The new Groff release will support this feature.

Requested by:	peter
2001-02-23 09:35:33 +00:00
Ruslan Ermilov
4c5804ea54 Install the stock (as supplied by groff(1) distribution) tmac.an
and tmac.andoc files.  The man(1), catman(1) and bsd.man.mk have
been modified to call groff(1) with -mandoc argument.
2000-12-06 17:02:33 +00:00
Ruslan Ermilov
fe409e49d0 groff does not use MANDEPEND anymore. 2000-12-05 19:56:50 +00:00
Tim Vanderhoek
1663ea5841 Typo in comments explaining what MAN_FILTER is. 2000-05-21 03:14:38 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Bruce Evans
def151a8fc Backed out rev.1.28. It was bogus because bsd.man.mk is only used
(and only usable) by other .mk files that have their own multiple
inclusion protection.
1998-09-09 10:12:07 +00:00
John Birrell
c908270ee3 Add a man section 1aout for the legacy man files to avoid them being
installed over the ones from binutils.
1998-09-07 05:55:02 +00:00
Peter Wemm
e0301e5d4b Make ../Makefile.inc handling more consistant to prevent multiple includes
when certain .mk files include other .mk files.  This will remove the
need for multiple include protection in some other makefiles around the
tree (and helps some elf conditionals).
1998-08-08 07:02:08 +00:00
Bruce Evans
55137cdb87 Don't include ../Makefile.inc here. bsd.man.mk is always included
in another .mk file which has already included ../Makefile.inc, so
including ../Makefike.inc again mainly messed up `+=' definitions.
1998-04-27 15:08:07 +00:00
Wolfram Schneider
70e244f8f6 Remove the comments hat just list the nested includes.
The lists don't provide significantly more information than
grep '\.include', and grep gives lists that are actually correct.
Submitted by: Bruce
1997-11-09 15:03:15 +00:00
Bruce Evans
5d08f31126 Don't use !empty() on the potentially unset variable MANBUILDCAT. Using
it broke "everything" unless MANBUILDCAT was set.
1997-07-25 11:17:12 +00:00
Bruce Evans
87d75709bb Removed a stray `.if' that broke everything. 1997-07-25 10:43:55 +00:00