Improve separation of generic non-generic parts and dependencies.
[platform/upstream/glib.git] / docs / reference / glib / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 # The name of the module.
4 DOC_MODULE=glib
5
6 # The top-level SGML file.
7 DOC_MAIN_SGML_FILE=glib-docs.sgml
8
9 # The directory containing the source code
10 DOC_SOURCE_DIR=$(top_srcdir)
11
12 # Headers to ignore
13 IGNORE_HFILES=                  \
14         gobject                 \
15         config.h                \
16         gmoduleconf.h           \
17         gunidecomp.h            \
18         gunichartables.h        \
19         glibconfig-sysdefs.h
20
21 tmpl_sources =                          \
22         tmpl/allocators.sgml            \
23         tmpl/arrays.sgml                \
24         tmpl/arrays_byte.sgml           \
25         tmpl/arrays_pointer.sgml        \
26         tmpl/async_queues.sgml          \
27         tmpl/byte_order.sgml            \
28         tmpl/caches.sgml                \
29         tmpl/completion.sgml            \
30         tmpl/datalist.sgml              \
31         tmpl/datasets.sgml              \
32         tmpl/date.sgml                  \
33         tmpl/error_reporting.sgml       \
34         tmpl/glib-unused.sgml           \
35         tmpl/hash_tables.sgml           \
36         tmpl/hooks.sgml                 \
37         tmpl/iochannels.sgml            \
38         tmpl/limits.sgml                \
39         tmpl/linked_lists_double.sgml   \
40         tmpl/linked_lists_single.sgml   \
41         tmpl/macros.sgml                \
42         tmpl/macros_misc.sgml           \
43         tmpl/main.sgml                  \
44         tmpl/memory.sgml                \
45         tmpl/memory_chunks.sgml         \
46         tmpl/messages.sgml              \
47         tmpl/misc_utils.sgml            \
48         tmpl/modules.sgml               \
49         tmpl/numerical.sgml             \
50         tmpl/quarks.sgml                \
51         tmpl/queue.sgml                 \
52         tmpl/random_numbers.sgml        \
53         tmpl/relations.sgml             \
54         tmpl/scanner.sgml               \
55         tmpl/string_chunks.sgml         \
56         tmpl/string_utils.sgml          \
57         tmpl/strings.sgml               \
58         tmpl/thread_pools.sgml          \
59         tmpl/threads.sgml               \
60         tmpl/timers.sgml                \
61         tmpl/trash_stack.sgml           \
62         tmpl/trees-binary.sgml          \
63         tmpl/trees-nary.sgml            \
64         tmpl/type_conversion.sgml       \
65         tmpl/types.sgml                 \
66         tmpl/unicode.sgml               \
67         tmpl/warnings.sgml              \
68         tmpl/windows.sgml
69
70
71 ####################################
72 # Everything below here is generic #
73 ####################################
74
75 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
76
77 EXTRA_DIST =                            \
78         $(DOC_MAIN_SGML_FILE)           \
79         $(DOC_MODULE)-sections.txt      \
80         $(DOC_MODULE)-overrides.txt
81
82 if ENABLE_GTK_DOC
83 all-local: html/index.html
84
85 $(DOC_MODULE)-decl.txt: 
86         $(MAKE) scan
87
88 $(tmpl_sources): $(DOC_MODULE)-decl.txt $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
89         $(MAKE) templates
90
91 sgml/$(DOC_MODULE)-doc.bottom: $(tmpl_sources) $(DOC_MODULE)-decl.txt
92         $(MAKE) sgml
93
94 html/index.html: sgml/$(DOC_MODULE)-doc.bottom $(DOC_MAIN_SGML_FILE)
95         $(MAKE) html
96 endif
97
98 scan:
99         -(cd $(srcdir) \
100         && gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" )
101
102 templates: 
103         cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
104
105 sgml:
106         cd $(srcdir) \
107         && gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR)
108
109 html:
110         test -d $(srcdir)/html || mkdir $(srcdir)/html
111         -cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
112         @echo '-- Fixing Crossreferences' 
113         gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR)
114
115 clean-local:
116         rm -f *~ *.bak *.signals *-unused.txt
117
118 maintainer-clean-local: clean
119         cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
120
121 install-data-local:
122         $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
123         (installfiles=`echo $(srcdir)/html/*.html`; \
124         if test "$$installfiles" = '$(srcdir)/html/*.html'; \
125         then echo '-- Nothing to install' ; \
126         else \
127           for i in $$installfiles; do \
128             echo '-- Installing '$$i ; \
129             $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
130           done; \
131           echo '-- Installing $(srcdir)/html/index.sgml' ; \
132           $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
133         fi)
134
135 #
136 # Require gtk-doc when making dist
137 #
138 if ENABLE_GTK_DOC
139 dist-check-gtkdoc:
140 else
141 dist-check-gtkdoc:
142         @echo "*** gtk-doc must be installed and enabled in order to make dist
143         @false
144 endif
145
146 dist-hook: dist-check-gtkdoc
147         mkdir $(distdir)/html
148         mkdir $(distdir)/sgml
149         mkdir $(distdir)/tmpl
150         -cp $(srcdir)/html/*.html $(srcdir)/html/*.css $(distdir)/html
151         -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
152         -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
153         -cp $(srcdir)/sgml/*.bottom $(srcdir)/sgml/*.top $(distdir)/sgml
154
155 .PHONY : html sgml templates scan