Apr 17, 2009, 6:46:43 PM (13 years ago)

Revised make dependencies for generating doxygen docs (fixes #438 and #501).

In doxygen.config removed variables INPUT and FILE_PATTERN to avoid us
from editing these values. The variables ignored in the new setup.

doc/Makefile includes a 'doxygen.mk' located in each of the
directories with header files. This is similar to how Maefiles include
files from '.deps/' to get dependencies for source and header
files. The inclusion relies on an undocumented feature in Automake,
but it should likely not be a problem with future versions of Automake
as it has been frequently been mentioned as a solution on the automake
mailing list.

These 'doxygen.mk' are generated during 'make all' in each of these
directories; they are also updated during 'make {doc|html|dvi|ps|pdf}'
in topdir and topdir/yat. This latter is to avoid situations in which
doc/Makefile is corrupted because of missing include.

This implies that obscure things like
make clean && cd doc && make doc
will fail noisily.

One could let doc/Makefile go into yat/subdirs and create the
doxygen.mk files but I don't like that kind of setup.

Another thought might be to have doxygen.mk removed during 'make
distclean' rather than 'make clean'. Thoughts are welcome.

1 edited


  • trunk/yat/statistics/Makefile.am

    r1797 r1905  
    4141  SAMScore.h Score.h Smoother.h SNRScore.h tScore.h tTest.h \
    4242  utility.h VectorFunction.h WilcoxonFoldChange.h
     43CLEANFILES = doxygen.mk
     45all-local: doxygen.mk
     47doxygen.mk: Makefile.am
     48  @echo "# generated by make" > $@ && \
     49  echo $(ECHO_N) "statistics_doxygen_input=" >> $@
     50  for f in $(include_statistics_HEADERS); do \
     51    echo $(ECHO_N) "\$$(top_srcdir)/$(subdir)/$$f " >> $@; \
     52  done && \
     53  echo >> $@
Note: See TracChangeset for help on using the changeset viewer.