Bill Moseley <[EMAIL PROTECTED]> writes:

> I generate HTML docs from other source files.  I have a single program
> "build" that knows how to generate the docs.  So all I need to do is
> detect that any one HTML file is out of date and run "build"
>
> This is suppose to build the HTML docs when out of date, and install the
> HTML docs.
>
> Here's the Makefile.am:
>
> html_DATA = \
>         CHANGES.html \
>         INSTALL.html \
>         README.html \
>         [...]
>
> image_DATA = \
>         images/dotrule1.png \
>         images/logo.png
>
> depends = \
>         $(pod_dir)/CHANGES.pod \
>         $(pod_dir)/INSTALL.pod \
>         $(pod_dir)/README.pod \
>         [...]
>
> all: .html-stamp

Remove this.  You may need:

  all-local: $(html_DATA)

to get these built during 'make all' rather than during 'make
install'.

> .html-stamp: $(version_file) $(depends)
>         cd $(srcdir)/../doc && bin/build
>         @touch $(srcdir)/.html-stamp
>
> EXTRA_DIST = $(html_DATA) $(image_DATA) .html-stamp
>
> This works fine, but if the HTML docs do not exist (such as from a CVS
> checkout) then Make dies because there's no target for .html.
>
>   make: Fatal error: Don't know how to make target `CHANGES.html'
>
> I tried something like:
>
> $(html_DATA): .html-stamp

Keep this.  Also, if you only support using GNU make when developing
this package, you may want to use the following more useful (but
untested) rule:

  $(html_DATA): .html-stamp
        if test -f $@; then :; else rm -f $<; done

This'll allow you to 

  rm CHANGES.html
  make

and have CHANGES.html recreated.

- Hari
-- 
Raja R Harinath ------------------------------ [EMAIL PROTECTED]


Reply via email to