Makefile.am revision d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddc
160d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor## Process this file with automake to produce Makefile.in
260d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
360d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor# The name of the module.
460d032a6222740e85873eb8d3c0469d206b13a1aOwen TaylorDOC_MODULE=gobject
560d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
660d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor# The top-level SGML file.
760d032a6222740e85873eb8d3c0469d206b13a1aOwen TaylorDOC_MAIN_SGML_FILE=gobject-docs.sgml
860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
9d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# The directory containing the source code. Relative to $(srcdir)
10c13ffbcd9eb629f60e6cdc5dd9109225f2f4c2f7Raja R HarinathDOC_SOURCE_DIR=../../../gobject
1160d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
12d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Extra options to supply to gtkdoc-scan
13d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorSCAN_OPTIONS=
14d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
15d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Extra options to supply to gtkdoc-mkdb
16d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorMKDB_OPTIONS=
17d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
18a5c0df554e7fb0d05c98bd2ddac893f84b35febaOwen Taylor# Extra options to supply to gtkdoc-fixref
19a5c0df554e7fb0d05c98bd2ddac893f84b35febaOwen TaylorFIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
20a5c0df554e7fb0d05c98bd2ddac893f84b35febaOwen Taylor
21d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Used for dependencies
22d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorHFILE_GLOB=$(top_srcdir)/gobject/*.h
23d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorCFILE_GLOB=$(top_srcdir)/gobject/*.c
24d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
2598dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor# Headers to ignore
26975d1e3e4db39bbf3ad4451754aa5a83921179afOwen TaylorIGNORE_HFILES=				\
27975d1e3e4db39bbf3ad4451754aa5a83921179afOwen Taylor	gbsearcharray.h
2860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
29d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Extra files to add when scanning
30d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorEXTRA_HFILES=
31d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
32d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Images to copy into HTML directory
33d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorHTML_IMAGES =
34d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
35d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
36d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorcontent_files =
37d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
38d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Other files to distribute
39d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorextra_files =
40d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
41d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# CFLAGS and LDFLAGS for compiling scan program. Only needed
42d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# if $(DOC_MODULE).types is non-empty.
43d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorGTKDOC_CFLAGS =
44d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorGTKDOC_LIBS =
45d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
46d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor# Commands for compiling and linking 
47d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorGTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
48d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorGTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
49d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
5060d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
5198dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor####################################
5298dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor# Everything below here is generic #
5398dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor####################################
5460d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
5598dbc6a7108fffb40c077e4727bec3123c132af5Owen TaylorTARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
5660d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
5760d032a6222740e85873eb8d3c0469d206b13a1aOwen TaylorEXTRA_DIST = 				\
58d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(content_files)		\
59d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(extra_files)			\
60d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(HTML_IMAGES)			\
6198dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor	$(DOC_MAIN_SGML_FILE)		\
62d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(DOC_MODULE).types		\
6398dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor	$(DOC_MODULE)-sections.txt	\
6498dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor	$(DOC_MODULE)-overrides.txt
6560d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
66d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorDOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp
67d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
6860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylorif ENABLE_GTK_DOC
69d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorall-local: html-build.stamp
70d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
71d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen TaylorSCANOBJ_FILES = 		\
72d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(DOC_MODULE).args 	\
73d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(DOC_MODULE).hierarchy \
74d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(DOC_MODULE).signal
75d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
76d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorscan-build.stamp: $(HFILE_GLOB)
77d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	@echo '*** Scanning header files ***'
78d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	cd $(srcdir) && ( \
79d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	if grep -l '^.+$$' $(DOC_MODULE).types > /dev/null ; then \
80d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	    CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) ; \
81d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	else \
82d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	    for i in $(SCANOBJ_FILES) ; do \
83d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor               test -f $$i || touch $$i ; \
84d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	    done \
85d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	fi )
86d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	cd $(srcdir) && \
87d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	  gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
88d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	touch scan-build.stamp
89d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
90d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorcheck_scan:
91d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(MAKE) scan-build.stamp
9260d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
93d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): check_scan
9460d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
95d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylortmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
96d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	@echo '*** Rebuilding template files ***'
9760d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
98d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	touch tmpl-build.stamp
9960d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
100d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorcheck_templates: 
101d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(MAKE) tmpl-build.stamp
10260d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
103d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylortmpl.stamp: check_templates
104d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
105d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorsgml-build.stamp: tmpl.stamp $(CFILE_GLOB)
106d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	@echo '*** Building SGML ***'
107d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	cd $(srcdir) && \
108d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
109d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	touch sgml-build.stamp
110d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
111d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorcheck_sgml:
112d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	$(MAKE) sgml-build.stamp
113d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
114d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorsgml.stamp: check_sgml
115d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor
116d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorhtml-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE)
117d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	@echo '*** Building HTML ***'
11860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	test -d $(srcdir)/html || mkdir $(srcdir)/html
119d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
120d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
12198dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor	@echo '-- Fixing Crossreferences' 
122d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
123d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	touch html-build.stamp
124d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylorendif
12560d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
12660d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylorclean-local:
127d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS) $(srcdir)/sgml.stamp 
12860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
12960d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylormaintainer-clean-local: clean
130d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
13160d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
13260d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylorinstall-data-local:
13360d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	$(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
13460d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	(installfiles=`echo $(srcdir)/html/*.html`; \
13560d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	if test "$$installfiles" = '$(srcdir)/html/*.html'; \
13660d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	then echo '-- Nothing to install' ; \
13760d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	else \
13860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	  for i in $$installfiles; do \
13960d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	    echo '-- Installing '$$i ; \
14060d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	    $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
14160d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	  done; \
14260d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	  echo '-- Installing $(srcdir)/html/index.sgml' ; \
14360d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	  $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
14460d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	fi)
14560d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
14698dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor#
14798dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor# Require gtk-doc when making dist
14898dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor#
14998dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylorif ENABLE_GTK_DOC
15098dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylordist-check-gtkdoc:
15198dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylorelse
15298dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylordist-check-gtkdoc:
153a626a650e533eba3ee76f4c8375cf41bc964f6cfRaja R Harinath	@echo "*** gtk-doc must be installed and enabled in order to make dist"
15498dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor	@false
15598dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylorendif
15698dbc6a7108fffb40c077e4727bec3123c132af5Owen Taylor
157d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylordist-hook: dist-check-gtkdoc dist-hook-local
15860d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	mkdir $(distdir)/tmpl
159a626a650e533eba3ee76f4c8375cf41bc964f6cfRaja R Harinath	mkdir $(distdir)/sgml
160a626a650e533eba3ee76f4c8375cf41bc964f6cfRaja R Harinath	mkdir $(distdir)/html
16160d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	-cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
16260d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	-cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
16360d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor	-cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
164a626a650e533eba3ee76f4c8375cf41bc964f6cfRaja R Harinath	-cp $(srcdir)/html/index.sgml $(distdir)/html
165a626a650e533eba3ee76f4c8375cf41bc964f6cfRaja R Harinath	-cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
166d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	for i in $(HTML_IMAGES) ; do          \
167d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor	  cp $(srcdir)/$$i $(distdir)/html ;  \
168d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor        done
16960d032a6222740e85873eb8d3c0469d206b13a1aOwen Taylor
170d6fe9f43b3e3fee7f440c7f451bcbfb56a4ffddcOwen Taylor.PHONY : check_sgml check_templates check_scan dist-hook-local
171