The ultimate gtk-doc makefile.
authorOwen Taylor <otaylor@redhat.com>
Mon, 12 Feb 2001 17:43:44 +0000 (17:43 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Mon, 12 Feb 2001 17:43:44 +0000 (17:43 +0000)
Mon Feb 12 12:42:45 2001  Owen Taylor  <otaylor@redhat.com>

* {glib,gobject}/Makefile.am: The ultimate gtk-doc makefile.

docs/reference/ChangeLog
docs/reference/glib/Makefile.am
docs/reference/glib/tmpl/glib-unused.sgml
docs/reference/gobject/Makefile.am
docs/reference/gobject/tmpl/gobject-unused.sgml

index 57f908d..1720ba2 100644 (file)
@@ -1,3 +1,7 @@
+Mon Feb 12 12:42:45 2001  Owen Taylor  <otaylor@redhat.com>
+
+       * {glib,gobject}/Makefile.am: The ultimate gtk-doc makefile.
+
 2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
 
        * glib/tmpl/threads.sgml, glib/glib-sections.txt: Added
index 72d66c5..b0ec50a 100644 (file)
@@ -6,12 +6,22 @@ DOC_MODULE=glib
 # The top-level SGML file.
 DOC_MAIN_SGML_FILE=glib-docs.sgml
 
-# The directory containing the source code
+# The directory containing the source code. Relative to $(srcdir)
 DOC_SOURCE_DIR=../../..
 
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS=
+
 # Extra options to supply to gtkdoc-fixref
 FIXXREF_OPTIONS=
 
+# Used for dependencies
+HFILE_GLOB=$(top_srcdir)/*.h $(top_srcdir)/gmodule/*.h
+CFILE_GLOB=$(top_srcdir)/*.c $(top_srcdir)/gmodule/*.c
+
 # Headers to ignore
 IGNORE_HFILES=                 \
        gobject                 \
@@ -22,64 +32,30 @@ IGNORE_HFILES=                      \
        gunichartables.h        \
        glibconfig-sysdefs.h
 
-tmpl_sources =                         \
-       tmpl/allocators.sgml            \
-       tmpl/arrays.sgml                \
-       tmpl/arrays_byte.sgml           \
-       tmpl/arrays_pointer.sgml        \
-       tmpl/async_queues.sgml          \
-       tmpl/byte_order.sgml            \
-       tmpl/caches.sgml                \
-       tmpl/completion.sgml            \
-       tmpl/datalist.sgml              \
-       tmpl/datasets.sgml              \
-       tmpl/date.sgml                  \
-       tmpl/error_reporting.sgml       \
-       tmpl/fileutils.sgml             \
-       tmpl/glib-unused.sgml           \
-       tmpl/hash_tables.sgml           \
-       tmpl/hooks.sgml                 \
-       tmpl/iochannels.sgml            \
-       tmpl/limits.sgml                \
-       tmpl/linked_lists_double.sgml   \
-       tmpl/linked_lists_single.sgml   \
-       tmpl/macros.sgml                \
-       tmpl/macros_misc.sgml           \
-       tmpl/main.sgml                  \
-       tmpl/markup.sgml                \
-       tmpl/memory.sgml                \
-       tmpl/memory_chunks.sgml         \
-       tmpl/messages.sgml              \
-       tmpl/misc_utils.sgml            \
-       tmpl/modules.sgml               \
-       tmpl/numerical.sgml             \
-       tmpl/quarks.sgml                \
-       tmpl/queue.sgml                 \
-       tmpl/random_numbers.sgml        \
-       tmpl/relations.sgml             \
-       tmpl/scanner.sgml               \
-       tmpl/shell.sgml                 \
-       tmpl/spawn.sgml                 \
-       tmpl/string_chunks.sgml         \
-       tmpl/string_utils.sgml          \
-       tmpl/strings.sgml               \
-       tmpl/thread_pools.sgml          \
-       tmpl/threads.sgml               \
-       tmpl/timers.sgml                \
-       tmpl/trash_stack.sgml           \
-       tmpl/trees-binary.sgml          \
-       tmpl/trees-nary.sgml            \
-       tmpl/type_conversion.sgml       \
-       tmpl/types.sgml                 \
-       tmpl/unicode.sgml               \
-       tmpl/warnings.sgml              \
-       tmpl/windows.sgml
+# Extra files to add when scanning
+EXTRA_HFILES=
+
+# Images to copy into HTML directory
+HTML_IMAGES =                                  \
+       mainloop-states.gif
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
+content_files =
 
+# Other files to distribute
 extra_files =                          \
        mainloop-states.fig             \
        mainloop-states.png             \
-       mainloop-states.eps             \
-       mainloop-states.gif
+       mainloop-states.eps
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+
+# Commands for compiling and linking 
+GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
+GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
 
 
 ####################################
@@ -89,60 +65,79 @@ extra_files =                               \
 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
 
 EXTRA_DIST =                           \
+       $(content_files)                \
        $(extra_files)                  \
+       $(HTML_IMAGES)                  \
        $(DOC_MAIN_SGML_FILE)           \
-       $(DOC_MODULE)-decl.txt          \
+       $(DOC_MODULE).types             \
        $(DOC_MODULE)-sections.txt      \
        $(DOC_MODULE)-overrides.txt
 
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp
+
 if ENABLE_GTK_DOC
-all-local:
-       $(MAKE) scan
-       $(MAKE) templates
-       $(MAKE) sgml
-       $(MAKE) html.stamp
-html.stamp: sgml.stamp $(EXTRA_SGML_FILES)
-       $(MAKE) html
-DOC_STAMPS= html.stamp sgml.stamp
-
-#all-local: html/index.html
-#
-#$(DOC_MODULE)-decl.txt: 
-#      $(MAKE) scan
-#
-#$(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-#      $(MAKE) templates
-#
-#sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
-#      $(MAKE) sgml
-#
-#html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE)
-#      $(MAKE) html
-endif
+all-local: html-build.stamp
+
+SCANOBJ_FILES =                \
+       $(DOC_MODULE).args      \
+       $(DOC_MODULE).hierarchy \
+       $(DOC_MODULE).signal
+
+scan-build.stamp: $(HFILE_GLOB)
+       @echo '*** Scanning header files ***'
+       cd $(srcdir) && ( \
+       if grep -l '^.+$$' $(DOC_MODULE).types > /dev/null ; then \
+           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) ; \
+       else \
+           for i in $(SCANOBJ_FILES) ; do \
+               test -f $$i || touch $$i ; \
+           done \
+       fi )
+       cd $(srcdir) && \
+         gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+       touch scan-build.stamp
+
+check_scan:
+       $(MAKE) scan-build.stamp
 
-scan:
-       -(cd $(srcdir) \
-       && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" )
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): check_scan
 
-templates: 
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+       @echo '*** Rebuilding template files ***'
        cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+       touch tmpl-build.stamp
 
-sgml:
-       cd $(srcdir) \
-       && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+check_templates: 
+       $(MAKE) tmpl-build.stamp
 
-html:
+tmpl.stamp: check_templates
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB)
+       @echo '*** Building SGML ***'
+       cd $(srcdir) && \
+       gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
+       touch sgml-build.stamp
+
+check_sgml:
+       $(MAKE) sgml-build.stamp
+
+sgml.stamp: check_sgml
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE)
+       @echo '*** Building HTML ***'
        test -d $(srcdir)/html || mkdir $(srcdir)/html
-       -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
-       cp $(srcdir)/*.gif $(srcdir)/html
+       cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+       test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
        @echo '-- Fixing Crossreferences' 
        cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       touch html-build.stamp
+endif
 
 clean-local:
-       rm -f *~ *.bak *.signals *-unused.txt
+       rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) $(srcdir)/sgml.stamp 
 
 maintainer-clean-local: clean
-       cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt $(DOC_STAMPS)
+       cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
 
 install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
@@ -169,7 +164,7 @@ dist-check-gtkdoc:
        @false
 endif
 
-dist-hook: dist-check-gtkdoc
+dist-hook: dist-check-gtkdoc dist-hook-local
        mkdir $(distdir)/tmpl
        mkdir $(distdir)/sgml
        mkdir $(distdir)/html
@@ -177,6 +172,9 @@ dist-hook: dist-check-gtkdoc
        -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
        -cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
        -cp $(srcdir)/html/index.sgml $(distdir)/html
-       -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(srcdir)/html/*.gif $(distdir)/html
+       -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+       for i in $(HTML_IMAGES) ; do          \
+         cp $(srcdir)/$$i $(distdir)/html ;  \
+        done
 
-.PHONY : html sgml templates scan
+.PHONY : check_sgml check_templates check_scan dist-hook-local
index 687d7fe..1a46e2f 100644 (file)
@@ -1,33 +1,36 @@
-<!-- ##### FUNCTION g_source_connect_indirect ##### -->
+<!-- ##### USER_FUNCTION GCompletionStrcmpFunc ##### -->
 <para>
 
 </para>
 
-@source
-@callback_data
-@callback_funcs: 
+@s1
+@s2
+@Returns: 
 
-<!-- ##### MACRO popen ##### -->
+<!-- ##### MACRO access ##### -->
 <para>
 
 </para>
 
 
-<!-- ##### FUNCTION g_mem_check ##### -->
+<!-- ##### MACRO close ##### -->
 <para>
-Checks if the given memory has already been freed. If it has it outputs
-a warning message.
-To use this function you must configure glib with the flag
-'--enable-mem-check=yes' before compiling.
+
 </para>
 
-@mem: the memory to check.
 
-<!-- ##### MACRO pclose ##### -->
+<!-- ##### MACRO fdopen ##### -->
+<para>
+
+</para>
+
+
+<!-- ##### FUNCTION g_convert_error_quark ##### -->
 <para>
 
 </para>
 
+@Returns: 
 
 <!-- ##### FUNCTION g_main_add_poll ##### -->
 <para>
@@ -45,36 +48,36 @@ the results may be needed.
 See #G_PRIORITY_DEFAULT, #G_PRIORITY_DEFAULT_IDLE, #G_PRIORITY_HIGH,
 #G_PRIORITY_HIGH_IDLE, and #G_PRIORITY_LOW.
 
-<!-- ##### MACRO lseek ##### -->
+<!-- ##### FUNCTION g_main_loop_destroy ##### -->
 <para>
 
 </para>
 
+@loop: 
 
-<!-- ##### MACRO getpid ##### -->
+<!-- ##### FUNCTION g_main_remove_poll ##### -->
 <para>
-
+Removes a file descriptor from the list being polled.
 </para>
 
+@fd: the #GPollFD to remove.
 
-<!-- ##### FUNCTION g_source_remove_by_source_data ##### -->
-<para>
-Removes the first event source found with the given source data.
-</para>
+<!-- ##### FUNCTION g_main_win32_get_poll_func ##### -->
 <para>
-Event sources are sorted with the highest priority first. Sources with equal
-priority are stored in the order in which they were added.
+
 </para>
 
-@source_data: the source data, which contains information specific to the
-type of source.
-@Returns: TRUE if an event source was found and removed.
+@Returns: 
 
-<!-- ##### MACRO close ##### -->
+<!-- ##### FUNCTION g_mem_check ##### -->
 <para>
-
+Checks if the given memory has already been freed. If it has it outputs
+a warning message.
+To use this function you must configure glib with the flag
+'--enable-mem-check=yes' before compiling.
 </para>
 
+@mem: the memory to check.
 
 <!-- ##### FUNCTION g_source_add ##### -->
 <para>
@@ -90,21 +93,6 @@ type of source.
 @source: 
 @context: 
 
-<!-- ##### MACRO fdopen ##### -->
-<para>
-
-</para>
-
-
-<!-- ##### USER_FUNCTION GCompletionStrcmpFunc ##### -->
-<para>
-
-</para>
-
-@s1: 
-@s2: 
-@Returns: 
-
 <!-- ##### FUNCTION g_source_connect ##### -->
 <para>
 
@@ -115,66 +103,78 @@ type of source.
 @data: 
 @notify: 
 
-<!-- ##### MACRO getcwd ##### -->
+<!-- ##### FUNCTION g_source_connect_indirect ##### -->
 <para>
 
 </para>
 
+@source: 
+@callback_data: 
+@callback_funcs: 
 
-<!-- ##### MACRO write ##### -->
+<!-- ##### FUNCTION g_source_remove_by_source_data ##### -->
+<para>
+Removes the first event source found with the given source data.
+</para>
 <para>
+Event sources are sorted with the highest priority first. Sources with equal
+priority are stored in the order in which they were added.
+</para>
+
+@source_data: the source data, which contains information specific to the
+type of source.
+@Returns: TRUE if an event source was found and removed.
 
+<!-- ##### MACRO g_string ##### -->
+<para>
+Turns the argument into a string literal by using the '#' stringizing operator.
 </para>
 
+@x: text to convert to a literal string.
 
-<!-- ##### FUNCTION g_main_remove_poll ##### -->
+<!-- ##### MACRO getcwd ##### -->
 <para>
-Removes a file descriptor from the list being polled.
+
 </para>
 
-@fd: the #GPollFD to remove.
 
-<!-- ##### MACRO access ##### -->
+<!-- ##### MACRO getpid ##### -->
 <para>
 
 </para>
 
 
-<!-- ##### MACRO g_string ##### -->
+<!-- ##### MACRO lseek ##### -->
 <para>
-Turns the argument into a string literal by using the '#' stringizing operator.
+
 </para>
 
-@x: text to convert to a literal string.
 
-<!-- ##### FUNCTION g_main_win32_get_poll_func ##### -->
+<!-- ##### MACRO open ##### -->
 <para>
 
 </para>
 
-@Returns: 
 
-<!-- ##### MACRO read ##### -->
+<!-- ##### MACRO pclose ##### -->
 <para>
 
 </para>
 
 
-<!-- ##### FUNCTION g_main_loop_destroy ##### -->
+<!-- ##### MACRO popen ##### -->
 <para>
 
 </para>
 
-@loop: 
 
-<!-- ##### FUNCTION g_convert_error_quark ##### -->
+<!-- ##### MACRO read ##### -->
 <para>
 
 </para>
 
-@Returns: 
 
-<!-- ##### MACRO open ##### -->
+<!-- ##### MACRO write ##### -->
 <para>
 
 </para>
index d256997..82772f7 100644 (file)
@@ -6,31 +6,47 @@ DOC_MODULE=gobject
 # The top-level SGML file.
 DOC_MAIN_SGML_FILE=gobject-docs.sgml
 
-# The directory containing the source code (if it contains documentation).
+# The directory containing the source code. Relative to $(srcdir)
 DOC_SOURCE_DIR=../../../gobject
 
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS=
+
 # Extra options to supply to gtkdoc-fixref
 FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
 
+# Used for dependencies
+HFILE_GLOB=$(top_srcdir)/gobject/*.h
+CFILE_GLOB=$(top_srcdir)/gobject/*.c
+
 # Headers to ignore
 IGNORE_HFILES=                         \
        gbsearcharray.h
 
-tmpl_sources =                         \
-       tmpl/closures.sgml              \
-       tmpl/enumerations_flags.sgml    \
-       tmpl/gboxed.sgml                \
-       tmpl/generic_values.sgml        \
-       tmpl/gobject-unused.sgml        \
-       tmpl/gtypemodule.sgml           \
-       tmpl/gtypeplugin.sgml           \
-       tmpl/objects.sgml               \
-       tmpl/param_specs.sgml           \
-       tmpl/signals.sgml               \
-       tmpl/standard_params.sgml       \
-       tmpl/types.sgml                 \
-       tmpl/value_collection.sgml      \
-       tmpl/value_types.sgml
+# Extra files to add when scanning
+EXTRA_HFILES=
+
+# Images to copy into HTML directory
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
+content_files =
+
+# Other files to distribute
+extra_files =
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+
+# Commands for compiling and linking 
+GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
+GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
+
 
 ####################################
 # Everything below here is generic #
@@ -39,58 +55,79 @@ tmpl_sources =                              \
 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
 
 EXTRA_DIST =                           \
+       $(content_files)                \
+       $(extra_files)                  \
+       $(HTML_IMAGES)                  \
        $(DOC_MAIN_SGML_FILE)           \
-       $(DOC_MODULE)-decl.txt          \
+       $(DOC_MODULE).types             \
        $(DOC_MODULE)-sections.txt      \
        $(DOC_MODULE)-overrides.txt
 
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp
+
 if ENABLE_GTK_DOC
-all-local:
-       $(MAKE) scan
-       $(MAKE) templates
-       $(MAKE) sgml
-       $(MAKE) html.stamp
-html.stamp: sgml.stamp $(EXTRA_SGML_FILES)
-       $(MAKE) html
-DOC_STAMPS= html.stamp sgml.stamp
-
-#all-local: html/index.html
-#
-#$(DOC_MODULE)-decl.txt: 
-#      $(MAKE) scan
-#
-#$(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
-#      $(MAKE) templates
-#
-#sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
-#      $(MAKE) sgml
-#
-#html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE)
-#      $(MAKE) html
-endif
+all-local: html-build.stamp
+
+SCANOBJ_FILES =                \
+       $(DOC_MODULE).args      \
+       $(DOC_MODULE).hierarchy \
+       $(DOC_MODULE).signal
+
+scan-build.stamp: $(HFILE_GLOB)
+       @echo '*** Scanning header files ***'
+       cd $(srcdir) && ( \
+       if grep -l '^.+$$' $(DOC_MODULE).types > /dev/null ; then \
+           CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) ; \
+       else \
+           for i in $(SCANOBJ_FILES) ; do \
+               test -f $$i || touch $$i ; \
+           done \
+       fi )
+       cd $(srcdir) && \
+         gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
+       touch scan-build.stamp
+
+check_scan:
+       $(MAKE) scan-build.stamp
 
-scan:
-       -(cd $(srcdir) \
-       && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)")
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): check_scan
 
-templates: 
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
+       @echo '*** Rebuilding template files ***'
        cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+       touch tmpl-build.stamp
 
-sgml:
-       cd $(srcdir) \
-       && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
+check_templates: 
+       $(MAKE) tmpl-build.stamp
 
-html:
+tmpl.stamp: check_templates
+
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB)
+       @echo '*** Building SGML ***'
+       cd $(srcdir) && \
+       gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
+       touch sgml-build.stamp
+
+check_sgml:
+       $(MAKE) sgml-build.stamp
+
+sgml.stamp: check_sgml
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE)
+       @echo '*** Building HTML ***'
        test -d $(srcdir)/html || mkdir $(srcdir)/html
-       -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+       cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+       test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
        @echo '-- Fixing Crossreferences' 
-       gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+       touch html-build.stamp
+endif
 
 clean-local:
-       rm -f *~ *.bak *.signals *-unused.txt
+       rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) $(srcdir)/sgml.stamp 
 
 maintainer-clean-local: clean
-       cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt $(DOC_STAMPS)
+       cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
 
 install-data-local:
        $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
@@ -117,7 +154,7 @@ dist-check-gtkdoc:
        @false
 endif
 
-dist-hook: dist-check-gtkdoc
+dist-hook: dist-check-gtkdoc dist-hook-local
        mkdir $(distdir)/tmpl
        mkdir $(distdir)/sgml
        mkdir $(distdir)/html
@@ -126,5 +163,8 @@ dist-hook: dist-check-gtkdoc
        -cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
        -cp $(srcdir)/html/index.sgml $(distdir)/html
        -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
+       for i in $(HTML_IMAGES) ; do          \
+         cp $(srcdir)/$$i $(distdir)/html ;  \
+        done
 
-.PHONY : html sgml templates scan
+.PHONY : check_sgml check_templates check_scan dist-hook-local
index 4a51ebe..246632b 100644 (file)
@@ -1,61 +1,76 @@
-<!-- ##### FUNCTION g_type_conforms_to ##### -->
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Long_Description ##### -->
 <para>
 
 </para>
 
-@type: 
-@iface_type: 
-@Returns: 
 
-<!-- ##### FUNCTION g_object_class_install_param ##### -->
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:See_Also ##### -->
 <para>
 
 </para>
 
-@oclass: 
-@param_id: 
-@pspec: 
 
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:See_Also ##### -->
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Short_Description ##### -->
+
+
+
+<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Title ##### -->
+gtypemodule.sgml
+
+
+<!-- ##### USER_FUNCTION GObjectGetParamFunc ##### -->
 <para>
 
 </para>
 
+@object: 
+@param_id: 
+@value: 
+@pspec: 
+@trailer: 
 
-<!-- ##### FUNCTION g_param_spec_hash_table_insert ##### -->
+<!-- ##### USER_FUNCTION GObjectSetParamFunc ##### -->
 <para>
 
 </para>
 
-@hash_table: 
+@object: 
+@param_id: 
+@value: 
 @pspec: 
-@owner_type
+@trailer
 
-<!-- ##### MACRO G_IS_PARAM_VALUE ##### -->
+<!-- ##### ENUM GSignalType ##### -->
 <para>
 
 </para>
 
-@pspec: 
-@value: 
+@G_SIGNAL_RUN_FIRST: 
+@G_SIGNAL_RUN_LAST: 
+@G_SIGNAL_RUN_CLEANUP: 
+@G_SIGNAL_NO_RECURSE: 
+@G_SIGNAL_ACTION: 
+@G_SIGNAL_NO_HOOKS: 
 
-<!-- ##### FUNCTION g_type_instance_conforms_to ##### -->
+<!-- ##### USER_FUNCTION GTypePluginFillInterfaceInfo ##### -->
 <para>
 
 </para>
 
-@instance: 
-@iface_type: 
-@Returns: 
+@plugin: 
+@interface_type: 
+@instance_type: 
+@info: 
 
-<!-- ##### FUNCTION g_object_get_param ##### -->
+<!-- ##### USER_FUNCTION GTypePluginFillTypeInfo ##### -->
 <para>
 
 </para>
 
-@object: 
-@param_name: 
-@value: 
+@plugin: 
+@g_type: 
+@info: 
+@value_table: 
 
 <!-- ##### USER_FUNCTION GTypePluginRef ##### -->
 <para>
 
 @plugin: 
 
-<!-- ##### FUNCTION g_object_set_param ##### -->
+<!-- ##### USER_FUNCTION GTypePluginUnRef ##### -->
 <para>
 
 </para>
 
-@object: 
-@param_name: 
-@value: 
+@plugin: 
 
-<!-- ##### USER_FUNCTION GObjectGetParamFunc ##### -->
+<!-- ##### STRUCT GTypePluginVTable ##### -->
 <para>
 
 </para>
 
-@object: 
-@param_id: 
-@value: 
-@pspec: 
-@trailer: 
+@plugin_ref: 
+@plugin_unref: 
+@complete_type_info: 
+@complete_interface_info: 
 
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Long_Description ##### -->
+<!-- ##### MACRO G_IS_PARAM_VALUE ##### -->
 <para>
 
 </para>
 
+@pspec: 
+@value: 
 
-<!-- ##### ENUM GSignalType ##### -->
+<!-- ##### MACRO G_NOTIFY_PRIORITY ##### -->
 <para>
 
 </para>
 
-@G_SIGNAL_RUN_FIRST: 
-@G_SIGNAL_RUN_LAST: 
-@G_SIGNAL_RUN_CLEANUP: 
-@G_SIGNAL_NO_RECURSE: 
-@G_SIGNAL_ACTION: 
-@G_SIGNAL_NO_HOOKS: 
 
-<!-- ##### FUNCTION g_signal_type_closure_new ##### -->
+<!-- ##### MACRO G_WARN_INVALID_PARAM_ID ##### -->
 <para>
 
 </para>
 
-@itype
-@struct_offset
-@Returns
+@object
+@param_id
+@pspec
 
 <!-- ##### FUNCTION g_object_class_find_param_spec ##### -->
 <para>
 @param_name: 
 @Returns: 
 
-<!-- ##### FUNCTION g_object_queue_param_changed ##### -->
+<!-- ##### FUNCTION g_object_class_install_param ##### -->
 <para>
 
 </para>
 
-@object: 
-@param_name: 
-
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Title ##### -->
-gtypemodule.sgml
-
+@oclass: 
+@param_id: 
+@pspec: 
 
-<!-- ##### USER_FUNCTION GTypePluginUnRef ##### -->
+<!-- ##### FUNCTION g_object_get_param ##### -->
 <para>
 
 </para>
 
-@plugin: 
+@object: 
+@param_name: 
+@value: 
 
-<!-- ##### FUNCTION g_param_spec_hash_table_lookup ##### -->
+<!-- ##### FUNCTION g_object_queue_param_changed ##### -->
 <para>
 
 </para>
 
-@hash_table
+@object
 @param_name: 
-@owner_type: 
-@try_ancestors: 
-@trailer: 
-@Returns: 
 
-<!-- ##### USER_FUNCTION GObjectSetParamFunc ##### -->
+<!-- ##### FUNCTION g_object_set_param ##### -->
 <para>
 
 </para>
 
 @object: 
-@param_id
+@param_name
 @value: 
-@pspec: 
-@trailer: 
 
-<!-- ##### FUNCTION g_type_value_conforms_to ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_insert ##### -->
 <para>
 
 </para>
 
-@value: 
-@type
-@Returns
+@hash_table: 
+@pspec
+@owner_type
 
-<!-- ##### FUNCTION g_type_is_dynamic ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_lookup ##### -->
 <para>
 
 </para>
 
-@type: 
-@flags: 
+@hash_table: 
+@param_name: 
+@owner_type: 
+@try_ancestors: 
+@trailer: 
 @Returns: 
 
-<!-- ##### USER_FUNCTION GTypePluginFillTypeInfo ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_new ##### -->
 <para>
 
 </para>
 
-@plugin: 
-@g_type: 
-@info: 
-@value_table: 
+@Returns: 
 
-<!-- ##### FUNCTION g_signals_destroy ##### -->
+<!-- ##### FUNCTION g_param_spec_hash_table_remove ##### -->
 <para>
 
 </para>
 
-@itype: 
+@hash_table: 
+@pspec: 
 
-<!-- ##### STRUCT GTypePluginVTable ##### -->
+<!-- ##### FUNCTION g_signal_type_closure_new ##### -->
 <para>
 
 </para>
 
-@plugin_ref: 
-@plugin_unref: 
-@complete_type_info: 
-@complete_interface_info: 
+@itype: 
+@struct_offset: 
+@Returns: 
 
-<!-- ##### USER_FUNCTION GTypePluginFillInterfaceInfo ##### -->
+<!-- ##### FUNCTION g_signals_destroy ##### -->
 <para>
 
 </para>
 
-@plugin: 
-@interface_type: 
-@instance_type: 
-@info: 
+@itype: 
 
-<!-- ##### MACRO G_NOTIFY_PRIORITY ##### -->
+<!-- ##### FUNCTION g_type_conforms_to ##### -->
 <para>
 
 </para>
 
+@type: 
+@iface_type: 
+@Returns: 
 
-<!-- ##### MACRO G_WARN_INVALID_PARAM_ID ##### -->
+<!-- ##### FUNCTION g_type_instance_conforms_to ##### -->
 <para>
 
 </para>
 
-@object: 
-@param_id: 
-@pspec: 
-
-<!-- ##### SECTION ./tmpl/gtypemodule.sgml.sgml:Short_Description ##### -->
-
-
+@instance: 
+@iface_type: 
+@Returns: 
 
-<!-- ##### FUNCTION g_param_spec_hash_table_new ##### -->
+<!-- ##### FUNCTION g_type_is_dynamic ##### -->
 <para>
 
 </para>
 
+@type: 
+@flags: 
 @Returns: 
 
-<!-- ##### FUNCTION g_param_spec_hash_table_remove ##### -->
+<!-- ##### FUNCTION g_type_value_conforms_to ##### -->
 <para>
 
 </para>
 
-@hash_table: 
-@pspec: 
+@value: 
+@type: 
+@Returns: