Russ Allbery wrote:
Russ Allbery <[EMAIL PROTECTED]> writes:
Well, if we're going to go to the trouble of running a script anyway,
why not just do all the work in the script and save the complexity? The
only advantage to make at that point is to only rebuild the man pages
that have changed, but rebuilding all of them doesn't take very long.
Hm, actually, I take that back -- it looks like, depending on the tools
one has installed, it can take a little while to rebuild man pages. So
maybe this is worthwhile doing.
[Omitting my own similar reply to the prior message]
It would be so nice to use GNU make features for this sort of thing.
$(notdir $(wildmat pod1/*.pod)) is *exactly* what one wants and is much
more readable than the shell equivalent. Oh well.
Well, the find is portable, and substantially more versatile. Why
restrict your .pod files to all being exactly one level down in a large
project when you can litter the raw source directory with them so the
developers might remember to update the per-sourcefile function docs?
(Okay, so that doesn't work either - we had to embed the docs in the
code to get developers to keep them current)
Anyway, put in the main Makefile a target that uses shell (or
shell/perl) to generate a Makefile-pod with the right targets, then
automatically calls make -f Makefile-pod to finish up. This way you
don't have to have a wart in your user-visible build process, and you
don't have to mess with whether the system's variety of make can deal
with run-time determined inclusions or something.
I also like to have an INSTALLS variable with a list of all the
installed locations for the files (like /usr/man/man1/fluffy.1 or
whatever), then a rule for copying from the source to the target
locations, yielding:
install : $(INSTALLS)
And rules like (although these were from GNU make):
$(DESTDOC)/%: %
$(insure_directory_exists_and_clear_target)
$(INSTALL_DATA) $< $@
$(DESTLIB)/%: %
$(insure_directory_exists_and_clear_target)
$(INSTALL_DATA) $< $@
@case $< in lib*.a) $(RANLIB) $@ ;; esac
So the delightful efficiency of make even works on the last step :-)
--
C. Alex. North-Keys
Catalis, Inc.
[EMAIL PROTECTED]
512.874.7666
_______________________________________________
OpenAFS-devel mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-devel