Bruno Haible wrote:
> Reuben Thomas wrote:
>> It didn't occur to me to read the manual, as I hadn't figured out
>> how to build it. I looked in Makefile, but that didn't seem to do much.
>
> This can be improved:
>
> 2009-04-01 Bruno Haible <[email protected]>
>
> * Makefile (info, html, dvi, pdf): New targets.
> Reported by Reuben Thomas <[email protected]>.
>
> --- Makefile.orig 2009-04-02 03:09:05.000000000 +0200
> +++ Makefile 2009-04-02 03:08:58.000000000 +0200
> @@ -1,19 +1,31 @@
> # Makefile for gnulib central.
> -# Copyright (C) 2006 Free Software Foundation, Inc.
> +# Copyright (C) 2006, 2009 Free Software Foundation, Inc.
> #
> # Copying and distribution of this file, with or without modification,
> # in any medium, are permitted without royalty provided the copyright
> # notice and this notice are preserved.
>
> -# Produce some files that are not stored in CVS.
> +# Produce some files that are not stored in the repository.
> all:
>
> +# Produce the documentation in readable form.
> +info:
> + cd doc && $(MAKE) info
> +html:
> + cd doc && $(MAKE) html
> +dvi:
> + cd doc && $(MAKE) dvi && $(MAKE) mostlyclean
> +pdf:
> + cd doc && $(MAKE) pdf && $(MAKE) mostlyclean
Hi Bruno,
Do you mind if I factor that?
html info:
cd doc && $(MAKE) $@
dvi pdf:
cd doc && $(MAKE) $@ && $(MAKE) mostlyclean
or even (with or without the mostlyclean):
dvi html info pdf:
cd doc && $(MAKE) $@
But I'd leave out the mostlyclean or rename it to something
less suspicious sounding. In automake-generated Makefiles,
mostlyclean removes far more than the hand-coded rule in
gnulib's doc/Makefile does.
A doc-*creation* rule like "make info" that automatically runs any
"clean"-like rule would seem to violate the principle of least surprise.