Commit Graph

21 Commits

Author SHA1 Message Date
Alejandro Colomar 881f51062f Makefile: Fix bug when running in parallel
Prerequisites can run in parallel.  This wouldn't make any sense
when uninstalling and installing again.

For that, use consecutive commands, which run one after the other
even with multiple cores.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-05-10 13:05:42 +12:00
Alejandro Colomar e4b890cdb8 Makefile: Use standard features (IMPORTANT: default prefix changed)
IMPORTANT for distributions:
This changes prefix to be '/usr/local' as is expected by default,
instead of the old '/usr' value.

- Use standard variables:
    - prefix should be '/usr/local'
    - mandir (instead of MANDIR)
    - htmldir (instead of HTDIR)
    - ...
    see <https://www.gnu.org/software/make/manual/html_node/Directory-Variables.html>

- Use standard targets:
    - html (build html files; don't install them)
    - install-html (instead of html)
    - installdirs (instead of 'mkdir -p'/'install -d' inside other targets)
    - ...
    see <https://www.gnu.org/software/make/manual/html_node/Standard-Targets.html#Standard-Targets>

- Use .PHONY

- ?= is not needed.  User input overrides any assignment.  Use =

- Use standard command variables, instead of directly calling commands.
    - $(INSTALL_DATA) (instead of install -m 644)
    - $(INSTALL_DIR) (instead of install -d -m 755 or mkdir -p)
    see <https://www.gnu.org/software/make/manual/html_node/Command-Variables.html#Command-Variables>

- Specify SHELL = /bin/bash

- Specify shebang

- Allow variable html extension (or no extension at all)

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-05-10 13:05:36 +12:00
Alejandro Colomar 5f9596780c Makefile: html: Simplify target
mkdir -p doesn't fail if the directory already exists.
Remove redundant checks.

Use .html as default HTDIR.
Remove checks for undefined HTDIR.

Show what the target does, as with other targets (remove '@').

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-05-10 11:35:11 +12:00
Michael Kerrisk 86e7d29168 Makefile: Fix html target bug
Switching into the man? subdirectories when running man2html(1)
caused a bug where ".so dir/page.n" links were misinterpreted
(because the directory prefix was interpreted with respect to
the current directory)i, and consequently, the link files
were not correctly rendered. There's no need to switch into the
subdirectories.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2021-02-16 11:07:36 +01:00
Michael Kerrisk b32a693559 Makefile: Fix lintian.debian.org URL in comment
From the email conversation:

    From: Jakub Wilk <jwilk@jwilk.net>
    Subject: Re: [bug] Makefile: Broken link

    * Alejandro Colomar <colomar.6.4.3@gmail.com>, 2020-08-25, 12:51:
    >Line 32 on the Makefile has a broken link in a comment:
    >
    >https://lintian.debian.org/tags/manpage-has-errors-from-man.html

    This Lintian tag was renamed recently:
    https://salsa.debian.org/lintian/lintian/commit/844278682aafa1da

    The current URL is:
    https://lintian.debian.org/tags/groff-message.html

Reported-by: Alejandro Colomar <colomar.6.4.3@gmail.com>
Reported-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2020-08-25 13:55:07 +02:00
Michael Kerrisk bcfa608f87 Makefile: Remove a redundant comment
Reported-by: Дилян Палаузов <dilyan.palauzov@aegee.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2017-11-20 10:38:10 +01:00
Alexander Miller c1a2e851a1 Makefile: Drop compression support and 'screen' target
Compression is already handled properly by distros and
explicit support from the package is not desired nowadays.
The 'screen' target doesn't handle compressed files.
Removal suggested by Mike Frysinger.

Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-20 14:06:00 +02:00
Alexander Miller 4221001c82 Makefile: Remove line continuation at end of "install" recipe
Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-18 13:49:54 +01:00
Alexander Miller 6c60c0965f Makefile: tfix
Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-18 13:49:32 +01:00
Alexander Miller 851124df28 Makefile: Improve recipe for "check-groff-warnings" target
* Fix race condition (don't remove and re-create $GROFF_LOG repeatedly),
* check for failure to create $GROFF_LOG,
* use $TMPDIR if set instead of hardcoded "/tmp",
* quote variables,
* use clobbering redirection (just in case),
* don't create unnecessary subshells,
* add a semicolon for consistency.

Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-18 13:46:42 +01:00
Alexander Miller 23509e5201 Makefile: Don't leave $(GROFF_LOG) files behind
Convert "GROFF_LOG" into a shell variable local to the
recipe for "check-groff-warnings" target such that the
temporary file is only created when needed.

Acked-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Alexander Miller <alex.miller@gmx.de>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2016-04-18 13:45:58 +01:00
Jakub Wilk cee6023d64 Makefile: tfix
Signed-off-by: Jakub Wilk <jwilk@jwilk.net>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-12-07 08:08:56 +01:00
Christoph Thompson 7e8f0b728c Makefile: Add support for compressing manual pages with 'xz'
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2015-05-11 12:23:56 +02:00
Simon Paillard 251da60bbb Makefile: Add 'check-groff-warnings' target
Add a 'check-groff-warnings' target to check if groff
reports warnings (the underlying problem may be causing
words or sentences not to be displayed) from
http://lintian.debian.org/tags/manpage-has-errors-from-man.html
Some edits by mtk.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-10-24 14:53:48 +02:00
Michael Kerrisk 6f92d1d707 Makefile: use "mkdir -p" instead of "-make"
For some casual readers of the Makefile, "mkdir -p" is
probably a little easier to read than the equivalent "-make".

Reported-by: Reuben Thomas <rrt@sc3d.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-04-17 23:09:08 +12:00
Reuben Thomas 5ee63e782f Makefile: Add "uninstall" as a synonym for "remove" target
"uninstall" is the GNU standard name for the target,
so it'll be the one most users are used to.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
2012-04-17 23:09:04 +12:00
Michael Kerrisk 980d08c0d9 POSIX man pages are now in a separate package.
Other minor updates.
2008-06-05 09:52:50 +00:00
Michael Kerrisk 8960f1e41c Remove code relating to man1/README, which no longer exists. 2008-02-22 07:40:09 +00:00
Michael Kerrisk 8636e34a66 Make the install target of man-pages respect the standard
"DESTDIR" variable as well as check the exit status of the
install command so errors aren't ignored.
2007-07-12 16:47:37 +00:00
Michael Kerrisk c7b4971bab Fix setting of 'prefix' macro. 2007-06-10 18:28:39 +00:00
Michael Kerrisk fea681dafb Import of man-pages 1.70 2004-11-03 13:51:07 +00:00