From c2f24a98ce703b3dba475989f152ada24b68bc0f Mon Sep 17 00:00:00 2001
From: Peter Williams <peterw@ximian.com>
Date: Thu, 21 Jun 2001 19:19:42 +0000
Subject: calendar/cal-client/Makefile.am: calendar/cal-util/Makefile.am:

2001-06-21  Peter Williams  <peterw@ximian.com>

	* Makefile.am:
	calendar/cal-client/Makefile.am:
	calendar/cal-util/Makefile.am:
	importer/Makefile.am:
	executive-summary/Makefile.am: Changed to used gtk-doc's
	canonical Makefile.am (plus some tweaks because not every
	dir builds html).

svn path=/trunk/; revision=10375
---
 doc/devel/calendar/cal-util/Makefile.am | 280 +++++++++++++++++++-------------
 1 file changed, 169 insertions(+), 111 deletions(-)

(limited to 'doc/devel/calendar/cal-util')

diff --git a/doc/devel/calendar/cal-util/Makefile.am b/doc/devel/calendar/cal-util/Makefile.am
index 291cb46f2d..fd697713ce 100644
--- a/doc/devel/calendar/cal-util/Makefile.am
+++ b/doc/devel/calendar/cal-util/Makefile.am
@@ -1,142 +1,200 @@
-# The name of the module.
+## Process this file with automake to produce Makefile.in
+
+# The name of the module, e.g. 'glib'.
 DOC_MODULE=evolution-cal-util
 
-# The directory containing the source code (if it contains documentation).
+# The top-level SGML file. Change it if you want.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code. Relative to $(srcdir).
+# gtk-doc will search all .c & .h files beneath here for inline comments
+# documenting functions and macros.
 DOC_SOURCE_DIR=$(EVOLUTION_DIR)/calendar/cal-util
 
-CFLAGS ="						\
+# 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)/calendar/cal-util/cal-component.h		\
+	$(top_srcdir)/calendar/cal-util/cal-recur.h		\
+	$(top_srcdir)/calendar/cal-util/cal-util.h		\
+	$(top_srcdir)/calendar/cal-util/timeutil.h
+
+CFILE_GLOB=							\
+	$(top_srcdir)/calendar/cal-util/cal-component.c		\
+	$(top_srcdir)/calendar/cal-util/cal-recur.c		\
+	$(top_srcdir)/calendar/cal-util/cal-util.c		\
+	$(top_srcdir)/calendar/cal-util/timeutil.c
+
+
+# Header files to ignore when scanning.
+IGNORE_HFILES=		\
+	calobj.h
+
+# 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 your app/lib
+# contains GtkObjects/GObjects and you want to document signals and properties.
+GTKDOC_CFLAGS = 					\
 	-I$(top_srcdir)/calendar			\
 	-I$(top_srcdir)					\
 	-I$(top_builddir)				\
 	-I$(top_builddir)/libical/src/libical		\
 	-I$(top_srcdir)/libical/src/libical		\
-	$(BONOBO_VFS_GNOME_CFLAGS)			\
-	"
+	$(BONOBO_VFS_GNOME_CFLAGS)
 
-LDFLAGS="								\
+GTKDOC_LIBS = 								\
 	$(BONOBO_VFS_GNOME_LIBS)					\
-	$(top_builddir)/calendar/cal-util/.libs/libcal-util.a		\
-	$(top_builddir)/libical/src/libical/.libs/libical.a		\
-	$(top_builddir)/libversit/.libs/libversit.al			\
-	"
-
-DOC_DIR=$(datadir)/gnome/html
-
-DOC_DIR_INSTALL_FILES =				\
-	 evolution-cal-util.args		\
-	 evolution-cal-util.hierarchy		\
-	 evolution-cal-util.signals		\
-	 evolution-cal-util.types		\
-	 evolution-cal-util-decl.txt		\
-	 evolution-cal-util-sections.txt
-
-SOURCE_FILES =							\
-	$(top_srcdir)/calendar/cal-util/cal-component.c		\
-	$(top_srcdir)/calendar/cal-util/cal-component.h		\
-	$(top_srcdir)/calendar/cal-util/cal-recur.c		\
-	$(top_srcdir)/calendar/cal-util/cal-recur.h		\
-	$(top_srcdir)/calendar/cal-util/cal-util.c		\
-	$(top_srcdir)/calendar/cal-util/cal-util.h		\
-	$(top_srcdir)/calendar/cal-util/timeutil.c		\
-	$(top_srcdir)/calendar/cal-util/timeutil.h
+	$(top_builddir)/calendar/cal-util/.libs/libcal-util-static.al	\
+	$(top_builddir)/libical/src/libical/.libs/libical-static.al	\
+	$(top_builddir)/libversit/.libs/libversit.al
 
-IGNORED_HEADER_FILES =	\
-	calobj.h
+GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
+GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
+
+# If you need to override some of the declarations, place them in this file
+# and uncomment this line.
+#DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
+DOC_OVERRIDES = 
 
-scan_generated =				\
-	evolution-cal-util-decl.txt		\
-	evolution-cal-util.args			\
-	evolution-cal-util.hierarchy		\
-	evolution-cal-util.signals		\
-	evolution-cal-util.types
-
-tmpl_dependencies =				\
-	evolution-cal-util-decl.txt		\
-	evolution-cal-util-sections.txt		\
-	evolution-cal-util.args			\
-	evolution-cal-util.hierarchy		\
-	evolution-cal-util.signals
-
-tmpl_sources =					\
-	tmpl/cal-component.sgml			\
-	tmpl/cal-recur.sgml			\
-	tmpl/cal-util.sgml			\
-	tmpl/evolution-cal-util-unused.sgml	\
-	tmpl/timeutil.sgml
-
-tmpl_generated =				\
-	evolution-cal-util-unused.txt
-
-sgml_dependencies =				\
-	evolution-cal-util-decl.txt		\
-	evolution-cal-util-sections.txt		\
-	evolution-cal-util.args			\
-	evolution-cal-util.hierarchy		\
-	evolution-cal-util.signals		\
-	tmpl/cal-component.sgml			\
-	tmpl/cal-recur.sgml			\
-	tmpl/cal-util.sgml			\
-	tmpl/timeutil.sgml
-
-sgml_generated = 				\
-	sgml/cal-component.sgml			\
-	sgml/cal-recur.sgml			\
-	sgml/cal-util.sgml			\
-	sgml/evolution-cal-util-doc.bottom	\
-	sgml/evolution-cal-util-doc.top		\
-	sgml/object_index.sgml			\
-	sgml/timeutil.sgml			\
-	sgml/tree_index.sgml
-
-EXTRA_DIST = 					\
-	 evolution-cal-util.args		\
-	 evolution-cal-util.hierarchy		\
-	 evolution-cal-util.signals		\
-	 evolution-cal-util.types		\
-	 evolution-cal-util-decl.txt		\
-	 evolution-cal-util-sections.txt
-
-all: $(sgml_generated)
+###########################################################################
+# Everything below here is generic and you shouldn't need to change it.
+###########################################################################
+
+TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
+
+EXTRA_DIST =				\
+	$(content_files)		\
+	$(extra_files)			\
+	$(HTML_IMAGES)			\
+	$(DOC_MAIN_SGML_FILE)		\
+	$(DOC_MODULE).types		\
+	$(DOC_MODULE)-sections.txt	\
+	$(DOC_OVERRIDES)
+
+DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
+	   $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
+
+SCANOBJ_FILES =			\
+	$(DOC_MODULE).args      \
+	$(DOC_MODULE).hierarchy \
+	$(DOC_MODULE).signals
 
 if ENABLE_GTK_DOC
-scan $(scan_generated): $(SOURCE_FILES)
-	-(ln -sf $(srcdir)/$(DOC_MODULE).types .					\
-	  && env CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS)					\
-		 gtkdoc-scanobj --module=$(DOC_MODULE)					\
-	  && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)		\
-			 --ignore-headers="$(IGNORED_HEADER_FILES)" )
-
-templates $(tmpl_sources) $(tmpl_generated): $(tmpl_dependencies)
+all-local: sgml-build.stamp
+#all-local: html-build.stamp
+
+#### scan ####
+
+scan-build.stamp: $(HFILE_GLOB)
+	@echo '*** Scanning header files ***'
+	if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
+	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scanobj --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
+	else \
+	    cd $(srcdir) ; \
+	    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
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
+	@true
+
+#### templates ####
+
+tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_OVERRIDES)
+	@echo '*** Rebuilding template files ***'
 	cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
+	touch tmpl-build.stamp
 
-sgml $(sgml_generated): $(sgml_dependencies)
-	cd $(srcdir) \
-	&& gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
-else
-scan $(scan_generated): $(SOURCE_FILES)
+tmpl.stamp: tmpl-build.stamp
+	@true
+
+#### sgml ####
 
-templates $(tmpl_sources) $(tmpl_generated): $(tmpl_dependencies)
+sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
+	@echo '*** Building SGML ***'
+	cd $(srcdir) && \
+	gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --main-sgml-file=$(DOC_MAIN_SGML_FILE) $(MKDB_OPTIONS)
+	touch sgml-build.stamp
 
-sgml $(sgml_generated): $(sgml_dependencies)
+sgml.stamp: sgml-build.stamp
+	@true
+
+#### html ####
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
+	@echo '*** Building HTML ***'
+	test -d $(srcdir)/html || mkdir $(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)
 
 maintainer-clean-local: clean
-	cd $(srcdir) && rm -rf sgml $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+	cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
 
 install-data-local:
-	$(mkinstalldirs) $(DOC_DIR)
-	for i in $(DOC_DIR_INSTALL_FILES); do		\
-		$(INSTALL_DATA) $(srcdir)/$$i $(DOC_DIR);		\
-	done
+	$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
+	(installfiles=`echo $(srcdir)/html/*.html`; \
+	if test "$$installfiles" = '$(srcdir)/html/*.html'; \
+	then echo '-- Nothing to install' ; \
+	else \
+	  for i in $$installfiles; do \
+	    echo '-- Installing '$$i ; \
+	    $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
+	  done; \
+	  echo '-- Installing $(srcdir)/html/index.sgml' ; \
+	  $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
+	fi)
+
+#
+# Require gtk-doc when making dist
+#
+if ENABLE_GTK_DOC
+dist-check-gtkdoc:
+else
+dist-check-gtkdoc:
+	@echo "*** gtk-doc must be installed and enabled in order to make dist"
+	@false
+endif
 
-dist-hook:
-	mkdir $(distdir)/sgml
+dist-hook: dist-check-gtkdoc dist-hook-local
 	mkdir $(distdir)/tmpl
+	mkdir $(distdir)/sgml
+	mkdir $(distdir)/html
 	-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
 	-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 $(distdir)/html
+
+	images=$(HTML_IMAGES) ;		\
+	for i in $$images ; do		 \
+	  cp $(srcdir)/$$i $(distdir)/html ;  \
+	done
 
-.PHONY: scan templates sgml
+.PHONY : dist-hook-local
\ No newline at end of file
-- 
cgit v1.2.3