1 ## Process this file with automake to produce Makefile.in
3 # The name of the module.
5 # The top-level SGML file.
6 DOC_MAIN_SGML_FILE=gobject-docs.sgml
7 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
9 # The directory containing the source code. Relative to $(srcdir)
10 DOC_SOURCE_DIR=../../../gobject
11 # Extra options to supply to gtkdoc-scan
13 # Extra options to supply to gtkdoc-mkdb
15 # Extra options to supply to gtkdoc-fixref
16 FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
17 # Images to copy into HTML directory
20 # Used for dependencies
21 HFILE_GLOB=$(top_srcdir)/gobject/*.h
22 CFILE_GLOB=$(top_srcdir)/gobject/*.c
28 # Extra files to add when scanning
31 # CFLAGS and LDFLAGS for compiling scan program. Only needed
32 # if $(DOC_MODULE).types is non-empty.
35 # Commands for compiling and linking
36 GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
37 GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
40 ####################################
41 # Everything below here is generic #
42 ####################################
44 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
46 DOC_STAMPS = $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp \
47 build-scan.stamp build-tmpl.stamp build-sgml.stamp build-html.stamp
48 # gtkdoc-mktmpl: creates, and on changes touches: tmpl.stamp
49 # gtkdoc-mkdb: creates, and on changes touches: sgml.stamp
50 # gtkdoc-mkhtml: creates, and on changes touches: html.stamp
53 .PHONY: gtkdoc-build-all
58 $(DOC_MODULE).hierarchy \
61 all-local: gtkdoc-build-all
63 gtkdoc-build-all: build-sgml.stamp build-html.stamp
65 build-scan.stamp: $(HFILE_GLOB)
66 @echo '*** Scanning header files ***'
68 if grep -l '^.+$$' $(DOC_MODULE).types > /dev/null 2>/dev/null ; then \
69 CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj --module=$(DOC_MODULE) ; \
71 for i in $(SCANOBJ_FILES) ; do \
72 test -f $$i || touch $$i ; \
76 gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
77 touch build-scan.stamp
78 build-tmpl.stamp: build-scan.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(srcdir)/tmpl/*.sgml
79 @echo '*** Rebuilding template files ***'
80 cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
81 touch build-tmpl.stamp
82 tmpl.stamp: build-tmpl.stamp
84 build-sgml.stamp: tmpl.stamp $(CFILE_GLOB)
85 @echo '*** Building SGML ***'
87 gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
88 touch build-sgml.stamp
89 sgml.stamp: build-sgml.stamp
91 build-html.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE)
92 @echo '*** Building HTML ***'
93 test -d $(srcdir)/html || mkdir $(srcdir)/html
94 cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
95 test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
96 @echo '-- Fixing Crossreferences'
97 cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
98 touch build-html.stamp
102 rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS)
104 maintainer-clean-local: clean
105 cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
108 $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
109 (installfiles=`echo $(srcdir)/html/*.html`; \
110 if test "$$installfiles" = '$(srcdir)/html/*.html'; \
111 then echo '-- Nothing to install' ; \
113 for i in $$installfiles; do \
114 echo '-- Installing '$$i ; \
115 $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
117 echo '-- Installing $(srcdir)/html/index.sgml' ; \
118 $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
122 # Require gtk-doc when making dist
128 @echo "*** gtk-doc must be installed and enabled in order to make dist"
132 dist-hook: dist-check-gtkdoc dist-hook-local
133 mkdir $(distdir)/tmpl
134 mkdir $(distdir)/sgml
135 mkdir $(distdir)/html
136 -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
137 -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
138 -cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
139 -cp $(srcdir)/html/index.sgml $(distdir)/html
140 -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
141 for i in $(HTML_IMAGES) ; do \
142 cp $(srcdir)/$$i $(distdir)/html ; \
145 .PHONY: dist-hook-local
150 $(DOC_MAIN_SGML_FILE) \
151 $(DOC_MODULE).types \
152 $(DOC_MODULE)-sections.txt \
153 $(DOC_MODULE)-overrides.txt