[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: New feature: Post-requisites
From: |
Edward Welbourne |
Subject: |
Re: New feature: Post-requisites |
Date: |
Fri, 22 Jul 2022 13:48:37 +0000 |
thutt@vmware.com (22 July 2022 15:28) wrote:
> In your example, wouldn't the following accomplish the same thing?
>
> update-mandb: $(DESTDIR)$(man3dir)/foo.3 $(DESTDIR)$(man3dir)/bar.3
I presume that'd have a rule that runs mandb. And it works as long as
you're happy to update all man pages whenever you want to update any man
page.
However, if I only want to update perlsyntax.1 and not the rest of the
perl man pages, and I'm doing it this way, I end up with a mess whose
simplified form, for your two pages, looks like:
install: install-other-stuff update-mandb
install-mandb: $(DESTDIR)$(man3dir)/foo.3 $(DESTDIR)$(man3dir)/bar.3
mandb
install-man-foo: $(DESTDIR)$(man3dir)/foo.3
mandb
install-man-bar: $(DESTDIR)$(man3dir)/bar.3
mandb
with rules to build $(DESTDIR) things taking care of actual installing.
and, in the case of a big library of man pages, I'm probably going to
want a separate rule for each of various subsets of the pages, that
installs the subset and runs mandb, because if I try to
$ make install-man-perl-toc install-man-perl-unicode install-man-perlvar
I'm going to run mandb three times, when I'd rather have run it only
once; and my only alternative will be to make install-mandb and install
*all* of my library of man pages, which "may take some time".
So the traditional approach you're proposing does not scale well,
Eddy.