]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/Makefile.am
=== Released GTK+-2.1.3 ===
[~andy/gtk] / docs / reference / gtk / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 # The name of the module.
4 DOC_MODULE=gtk
5
6 # The top-level SGML file.
7 DOC_MAIN_SGML_FILE=gtk-docs.sgml
8
9 # The directory containing the source code. Relative to $(srcdir)
10 DOC_SOURCE_DIR=../../../gtk
11
12 # Extra options to pass to gtkdoc-scangobj
13 SCANGOBJ_OPTIONS=--type-init-func="gtk_type_init(0)" 
14
15 # Extra options to supply to gtkdoc-scan
16 SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED" 
17
18 # Extra options to supply to gtkdoc-mkdb
19 MKDB_OPTIONS=--sgml-mode --output-format=xml
20
21 # Extra options to supply to gtkdoc-fixref
22 FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
23
24 # Used for dependencies
25 HFILE_GLOB=$(top_srcdir)/gtk/*.h
26 CFILE_GLOB=$(top_srcdir)/gtk/*.c
27
28 # Header files to ignore when scanning
29 IGNORE_HFILES=                  \
30         fnmatch.h               \
31         gdk-pixbuf-loader.h     \
32         gtkdebug.h              \
33         gtkhsv.h                \
34         gtkimmodule.h           \
35         gtkintl.h               \
36         gtkkeyhash.h            \
37         gtkmarshal.h            \
38         gtkprivate.h            \
39         gtktreeprivate.h        \
40         gtkrbtree.h             \
41         gtktreedatalist.h       \
42         gtktextbtree.h          \
43         gtktextdisplay.h        \
44         gtktextiterprivate.h    \
45         gtktextlayout.h         \
46         gtktextmarkprivate.h    \
47         gtktextsegment.h        \
48         gtktexttagprivate.h     \
49         gtktexttypes.h          \
50         gtktextutil.h           \
51         gtktypebuiltins.h       \
52         xembed.h
53
54 # Images to copy into HTML directory
55 HTML_IMAGES = \
56         $(top_srcdir)/gtk/stock-icons/stock_add_24.png                  \
57         $(top_srcdir)/gtk/stock-icons/stock_apply_20.png                \
58         $(top_srcdir)/gtk/stock-icons/stock_text_bold_24.png            \
59         $(top_srcdir)/gtk/stock-icons/stock_cancel_20.png               \
60         $(top_srcdir)/gtk/stock-icons/stock_cdrom_24.png                \
61         $(top_srcdir)/gtk/stock-icons/stock_clear_24.png                \
62         $(top_srcdir)/gtk/stock-icons/stock_close_24.png                \
63         $(top_srcdir)/gtk/stock-icons/stock_convert_24.png              \
64         $(top_srcdir)/gtk/stock-icons/stock_copy_24.png                 \
65         $(top_srcdir)/gtk/stock-icons/stock_cut_24.png                  \
66         $(top_srcdir)/gtk/stock-icons/stock_trash_24.png                \
67         $(top_srcdir)/gtk/stock-icons/stock_dialog_error_48.png         \
68         $(top_srcdir)/gtk/stock-icons/stock_dialog_info_48.png          \
69         $(top_srcdir)/gtk/stock-icons/stock_dialog_question_48.png      \
70         $(top_srcdir)/gtk/stock-icons/stock_dialog_warning_48.png       \
71         $(top_srcdir)/gtk/stock-icons/stock_dnd_32.png                  \
72         $(top_srcdir)/gtk/stock-icons/stock_dnd_multiple_32.png         \
73         $(top_srcdir)/gtk/stock-icons/stock_exec_24.png                 \
74         $(top_srcdir)/gtk/stock-icons/stock_search_24.png               \
75         $(top_srcdir)/gtk/stock-icons/stock_search_replace_24.png       \
76         $(top_srcdir)/gtk/stock-icons/stock_save_24.png                 \
77         $(top_srcdir)/gtk/stock-icons/stock_bottom_24.png               \
78         $(top_srcdir)/gtk/stock-icons/stock_first_24.png                \
79         $(top_srcdir)/gtk/stock-icons/stock_last_24.png                 \
80         $(top_srcdir)/gtk/stock-icons/stock_top_24.png                  \
81         $(top_srcdir)/gtk/stock-icons/stock_left_arrow_24.png           \
82         $(top_srcdir)/gtk/stock-icons/stock_down_arrow_24.png           \
83         $(top_srcdir)/gtk/stock-icons/stock_right_arrow_24.png          \
84         $(top_srcdir)/gtk/stock-icons/stock_up_arrow_24.png             \
85         $(top_srcdir)/gtk/stock-icons/stock_help_24.png                 \
86         $(top_srcdir)/gtk/stock-icons/stock_home_24.png                 \
87         $(top_srcdir)/gtk/stock-icons/stock_index_24.png                \
88         $(top_srcdir)/gtk/stock-icons/stock_text_italic_24.png          \
89         $(top_srcdir)/gtk/stock-icons/stock_jump_to_24.png              \
90         $(top_srcdir)/gtk/stock-icons/stock_align_center_24.png         \
91         $(top_srcdir)/gtk/stock-icons/stock_align_justify_24.png        \
92         $(top_srcdir)/gtk/stock-icons/stock_align_left_24.png           \
93         $(top_srcdir)/gtk/stock-icons/stock_align_right_24.png          \
94         $(top_srcdir)/gtk/stock-icons/stock_broken_image_24.png         \
95         $(top_srcdir)/gtk/stock-icons/stock_new_24.png                  \
96         $(top_srcdir)/gtk/stock-icons/stock_no_20.png                   \
97         $(top_srcdir)/gtk/stock-icons/stock_ok_20.png                   \
98         $(top_srcdir)/gtk/stock-icons/stock_open_24.png                 \
99         $(top_srcdir)/gtk/stock-icons/stock_paste_24.png                \
100         $(top_srcdir)/gtk/stock-icons/stock_preferences_24.png          \
101         $(top_srcdir)/gtk/stock-icons/stock_print_24.png                \
102         $(top_srcdir)/gtk/stock-icons/stock_print_preview_24.png        \
103         $(top_srcdir)/gtk/stock-icons/stock_properties_24.png           \
104         $(top_srcdir)/gtk/stock-icons/stock_exit_24.png                 \
105         $(top_srcdir)/gtk/stock-icons/stock_redo_24.png                 \
106         $(top_srcdir)/gtk/stock-icons/stock_refresh_24.png              \
107         $(top_srcdir)/gtk/stock-icons/stock_remove_24.png               \
108         $(top_srcdir)/gtk/stock-icons/stock_revert_24.png               \
109         $(top_srcdir)/gtk/stock-icons/stock_save_24.png                 \
110         $(top_srcdir)/gtk/stock-icons/stock_save_as_24.png              \
111         $(top_srcdir)/gtk/stock-icons/stock_colorselector_24.png        \
112         $(top_srcdir)/gtk/stock-icons/stock_font_24.png                 \
113         $(top_srcdir)/gtk/stock-icons/stock_sort_ascending_24.png       \
114         $(top_srcdir)/gtk/stock-icons/stock_sort_descending_24.png      \
115         $(top_srcdir)/gtk/stock-icons/stock_spellcheck_24.png           \
116         $(top_srcdir)/gtk/stock-icons/stock_stop_24.png                 \
117         $(top_srcdir)/gtk/stock-icons/stock_text_strikethrough_24.png   \
118         $(top_srcdir)/gtk/stock-icons/stock_undelete_24.png             \
119         $(top_srcdir)/gtk/stock-icons/stock_text_underline_24.png       \
120         $(top_srcdir)/gtk/stock-icons/stock_undo_24.png                 \
121         $(top_srcdir)/gtk/stock-icons/stock_yes_20.png                  \
122         $(top_srcdir)/gtk/stock-icons/stock_zoom_1_24.png               \
123         $(top_srcdir)/gtk/stock-icons/stock_zoom_fit_24.png             \
124         $(top_srcdir)/gtk/stock-icons/stock_zoom_in_24.png              \
125         $(top_srcdir)/gtk/stock-icons/stock_zoom_out_24.png
126
127 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
128 content_files =                 \
129         version.xml             \
130         running.sgml            \
131         building.sgml           \
132         changes-1.2.sgml        \
133         changes-2.0.sgml        \
134         compiling.sgml          \
135         framebuffer.sgml        \
136         objects_grouped.sgml    \
137         question_index.sgml     \
138         resources.sgml          \
139         text_widget.sgml        \
140         tree_widget.sgml        \
141         windows.sgml            \
142         x11.sgml
143
144 # Other files to distribute
145 extra_files = version.xml.in
146
147 # CFLAGS and LDFLAGS for compiling scan program. Only needed
148 # if $(DOC_MODULE).types is non-empty.
149 GTKDOC_CFLAGS = @STRIP_BEGIN@                           \
150         @CFLAGS@                                        \
151         -I$(top_srcdir)                                 \
152         -I$(top_builddir)                               \
153         -I$(top_builddir)/gdk                           \
154         -DGTK_ENABLE_BROKEN                             \
155         @GTK_DEBUG_FLAGS@                               \
156         @GTK_DEP_CFLAGS@                                \
157 @STRIP_END@
158
159 GTKDOC_LIBS = @STRIP_BEGIN@                                             \
160         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
161         $(top_builddir)/gdk/@gdktargetlib@                              \
162         $(top_builddir)/gtk/@gtktargetlib@                              \
163 @STRIP_END@
164
165 GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
166 GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
167
168
169 ####################################
170 # Everything below here is generic #
171 ####################################
172
173 # We set GPATH here; this gives us semantics for GNU make
174 # which are more like other make's VPATH, when it comes to
175 # whether a source that is a target of one rule is then
176 # searched for in VPATH/GPATH.
177 #
178 GPATH = $(srcdir)
179
180 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
181
182 EXTRA_DIST =                            \
183         $(content_files)                \
184         $(extra_files)                  \
185         $(HTML_IMAGES)                  \
186         $(DOC_MAIN_SGML_FILE)           \
187         $(DOC_MODULE).types             \
188         $(DOC_MODULE)-sections.txt      \
189         $(DOC_MODULE)-overrides.txt
190
191 DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
192            $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
193
194 SCANOBJ_FILES =                  \
195         $(DOC_MODULE).args       \
196         $(DOC_MODULE).hierarchy  \
197         $(DOC_MODULE).interfaces \
198         $(DOC_MODULE).prerequisites \
199         $(DOC_MODULE).signals
200
201 if ENABLE_GTK_DOC
202 all-local: html-build.stamp
203
204 #### scan ####
205
206 scan-build.stamp: $(HFILE_GLOB)
207         @echo '*** Scanning header files ***'
208         if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
209             CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
210         else \
211             cd $(srcdir) ; \
212             for i in $(SCANOBJ_FILES) ; do \
213                test -f $$i || touch $$i ; \
214             done \
215         fi
216         cd $(srcdir) && \
217           gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
218         touch scan-build.stamp
219
220 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
221         @true
222
223 #### templates ####
224
225 tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
226         @echo '*** Rebuilding template files ***'
227         cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
228         touch tmpl-build.stamp
229
230 tmpl.stamp: tmpl-build.stamp
231         @true
232
233 #### sgml ####
234
235 sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
236         @echo '*** Building SGML ***'
237         cd $(srcdir) && \
238         gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
239         touch sgml-build.stamp
240
241 sgml.stamp: sgml-build.stamp
242         @true
243
244 #### html ####
245
246 html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
247         @echo '*** Building HTML ***'
248         rm -rf $(srcdir)/html 
249         mkdir $(srcdir)/html
250         cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
251         test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
252         @echo '-- Fixing Crossreferences' 
253         cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
254         touch html-build.stamp
255 endif
256
257 ##############
258
259 clean-local:
260         rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS)
261
262 maintainer-clean-local: clean
263         cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
264
265 install-data-local:
266         $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
267         (installfiles=`echo $(srcdir)/html/*`; \
268         if test "$$installfiles" = '$(srcdir)/html/*'; \
269         then echo '-- Nothing to install' ; \
270         else \
271           for i in $$installfiles; do \
272             echo '-- Installing '$$i ; \
273             $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
274           done; \
275           echo '-- Installing $(srcdir)/html/index.sgml' ; \
276           $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
277         fi)
278
279 #
280 # Require gtk-doc when making dist
281 #
282 if ENABLE_GTK_DOC
283 dist-check-gtkdoc:
284 else
285 dist-check-gtkdoc:
286         @echo "*** gtk-doc must be installed and enabled in order to make dist"
287         @false
288 endif
289
290 dist-hook: dist-check-gtkdoc dist-hook-local
291         mkdir $(distdir)/tmpl
292         mkdir $(distdir)/xml
293         mkdir $(distdir)/html
294         -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
295         -cp $(srcdir)/xml/*.xml $(distdir)/xml
296         -cp $(srcdir)/html/* $(distdir)/html
297
298 .PHONY : dist-hook-local
299
300
301
302
303
304
305
306
307