Apr 17, 2009, 6:46:43 PM (12 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/doc/doxygen.config.in

    r1814 r1905  
    348 # The INPUT tag can be used to specify the files and/or directories that contain
    349 # documented source files. You may enter file names like "myfile.cpp" or
    350 # directories like "/usr/src/myproject". Separate the files or directories
    351 # with spaces.
    353 INPUT                  = @srcdir@/build_tool.doxygen @builddir@/first_page.doxygen @srcdir@/namespaces.doxygen @srcdir@/concepts.doxygen @srcdir@/Statistics.doxygen @top_srcdir@/yat @top_builddir@/yat
    355 # If the value of the INPUT tag contains directories, you can use the
    356 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
    357 # and *.h) to filter out the source-files in the directories. If left
    358 # blank the following patterns are tested:
    359 # *.c *.cc *.cxx *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
    360 # *.h++ *.idl
    362 FILE_PATTERNS          = *.h
    364348# The RECURSIVE tag can be used to turn specify whether or not subdirectories
    365349# should be searched for input files as well. Possible values are YES and NO.
Note: See TracChangeset for help on using the changeset viewer.