]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/Makefile.am
6eccf150dc2432eb2211b6a9d733b420da58cc74
[~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
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.png                     \
57         $(top_srcdir)/gtk/stock-icons/stock_button_apply.png            \
58         $(top_srcdir)/gtk/stock-icons/stock_text_bold.png               \
59         $(top_srcdir)/gtk/stock-icons/stock_button_cancel.png           \
60         $(top_srcdir)/gtk/stock-icons/stock_cdrom.png                   \
61         $(top_srcdir)/gtk/stock-icons/stock_clear.png                   \
62         $(top_srcdir)/gtk/stock-icons/stock_close.png                   \
63         $(top_srcdir)/gtk/stock-icons/stock_convert.png                 \
64         $(top_srcdir)/gtk/stock-icons/stock_menu_copy.png               \
65         $(top_srcdir)/gtk/stock-icons/stock_menu_cut.png                \
66         $(top_srcdir)/gtk/stock-icons/stock_menu_trash.png              \
67         $(top_srcdir)/gtk/stock-icons/dialog_error.png                  \
68         $(top_srcdir)/gtk/stock-icons/dialog_info.png                   \
69         $(top_srcdir)/gtk/stock-icons/dialog_question.png               \
70         $(top_srcdir)/gtk/stock-icons/dialog_warning.png                \
71         $(top_srcdir)/gtk/stock-icons/stock_dnd.png                     \
72         $(top_srcdir)/gtk/stock-icons/stock_dnd_multiple.png            \
73         $(top_srcdir)/gtk/stock-icons/stock_exec.png                    \
74         $(top_srcdir)/gtk/stock-icons/stock_search.png                  \
75         $(top_srcdir)/gtk/stock-icons/stock_search_replace.png          \
76         $(top_srcdir)/gtk/stock-icons/stock_save.png                    \
77         $(top_srcdir)/gtk/stock-icons/stock_bottom.png                  \
78         $(top_srcdir)/gtk/stock-icons/stock_first.png                   \
79         $(top_srcdir)/gtk/stock-icons/stock_last.png                    \
80         $(top_srcdir)/gtk/stock-icons/stock_top.png                     \
81         $(top_srcdir)/gtk/stock-icons/stock_left_arrow.png              \
82         $(top_srcdir)/gtk/stock-icons/stock_down_arrow.png              \
83         $(top_srcdir)/gtk/stock-icons/stock_right_arrow.png             \
84         $(top_srcdir)/gtk/stock-icons/stock_up_arrow.png                \
85         $(top_srcdir)/gtk/stock-icons/stock_help.png                    \
86         $(top_srcdir)/gtk/stock-icons/stock_home.png                    \
87         $(top_srcdir)/gtk/stock-icons/stock_index.png                   \
88         $(top_srcdir)/gtk/stock-icons/stock_text_italic.png             \
89         $(top_srcdir)/gtk/stock-icons/stock_jump_to.png                 \
90         $(top_srcdir)/gtk/stock-icons/stock_align_center.png            \
91         $(top_srcdir)/gtk/stock-icons/stock_align_justify.png           \
92         $(top_srcdir)/gtk/stock-icons/stock_align_left.png              \
93         $(top_srcdir)/gtk/stock-icons/stock_align_right.png             \
94         $(top_srcdir)/gtk/stock-icons/dialog_error.png                  \
95         $(top_srcdir)/gtk/stock-icons/stock_new.png                     \
96         $(top_srcdir)/gtk/stock-icons/stock_button_no.png               \
97         $(top_srcdir)/gtk/stock-icons/stock_button_ok.png               \
98         $(top_srcdir)/gtk/stock-icons/stock_open.png                    \
99         $(top_srcdir)/gtk/stock-icons/stock_paste.png                   \
100         $(top_srcdir)/gtk/stock-icons/stock_preferences.png             \
101         $(top_srcdir)/gtk/stock-icons/stock_print.png                   \
102         $(top_srcdir)/gtk/stock-icons/stock_print_preview.png           \
103         $(top_srcdir)/gtk/stock-icons/stock_properties.png              \
104         $(top_srcdir)/gtk/stock-icons/stock_exit.png                    \
105         $(top_srcdir)/gtk/stock-icons/stock_redo.png                    \
106         $(top_srcdir)/gtk/stock-icons/stock_refresh.png                 \
107         $(top_srcdir)/gtk/stock-icons/stock_remove.png                  \
108         $(top_srcdir)/gtk/stock-icons/stock_revert.png                  \
109         $(top_srcdir)/gtk/stock-icons/stock_save.png                    \
110         $(top_srcdir)/gtk/stock-icons/stock_save_as.png                 \
111         $(top_srcdir)/gtk/stock-icons/stock_colorselector.png           \
112         $(top_srcdir)/gtk/stock-icons/stock_font.png                    \
113         $(top_srcdir)/gtk/stock-icons/stock_sort_ascending.png          \
114         $(top_srcdir)/gtk/stock-icons/stock_sort_descending.png         \
115         $(top_srcdir)/gtk/stock-icons/stock_spellcheck.png              \
116         $(top_srcdir)/gtk/stock-icons/stock_stop.png                    \
117         $(top_srcdir)/gtk/stock-icons/stock_text_strikeout.png          \
118         $(top_srcdir)/gtk/stock-icons/stock_undelete.png                \
119         $(top_srcdir)/gtk/stock-icons/stock_text_underline.png          \
120         $(top_srcdir)/gtk/stock-icons/stock_undo.png                    \
121         $(top_srcdir)/gtk/stock-icons/stock_button_yes.png              \
122         $(top_srcdir)/gtk/stock-icons/stock_zoom_1.png                  \
123         $(top_srcdir)/gtk/stock-icons/stock_zoom_fit.png                \
124         $(top_srcdir)/gtk/stock-icons/stock_zoom_in.png                 \
125         $(top_srcdir)/gtk/stock-icons/stock_zoom_out.png
126
127 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
128 content_files =                 \
129         running.sgml            \
130         building.sgml           \
131         changes-1.2.sgml        \
132         changes-2.0.sgml        \
133         compiling.sgml          \
134         framebuffer.sgml        \
135         objects_grouped.sgml    \
136         question_index.sgml     \
137         resources.sgml          \
138         text_widget.sgml        \
139         tree_widget.sgml        \
140         windows.sgml            \
141         x11.sgml
142
143 # Other files to distribute
144 extra_files =
145
146 # CFLAGS and LDFLAGS for compiling scan program. Only needed
147 # if $(DOC_MODULE).types is non-empty.
148 GTKDOC_CFLAGS = @STRIP_BEGIN@                           \
149         @CFLAGS@                                        \
150         -I$(top_srcdir)                                 \
151         -I$(top_builddir)                               \
152         -I$(top_builddir)/gdk                           \
153         -DGTK_ENABLE_BROKEN                             \
154         @GTK_DEBUG_FLAGS@                               \
155         @GTK_DEP_CFLAGS@                                \
156 @STRIP_END@
157
158 GTKDOC_LIBS = @STRIP_BEGIN@                             \
159         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
160         $(top_builddir)/gdk/@gdktargetlib@              \
161         $(top_builddir)/gtk/@gtktargetlib@              \
162 @STRIP_END@
163
164 GTKDOC_CC=$(LIBTOOL) --mode=compile $(CC)
165 GTKDOC_LD=$(LIBTOOL) --mode=link $(CC)
166
167
168 ####################################
169 # Everything below here is generic #
170 ####################################
171
172 # We set GPATH here; this gives us semantics for GNU make
173 # which are more like other make's VPATH, when it comes to
174 # whether a source that is a target of one rule is then
175 # searched for in VPATH/GPATH.
176 #
177 GPATH = $(srcdir)
178
179 TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE)
180
181 EXTRA_DIST =                            \
182         $(content_files)                \
183         $(extra_files)                  \
184         $(HTML_IMAGES)                  \
185         $(DOC_MAIN_SGML_FILE)           \
186         $(DOC_MODULE).types             \
187         $(DOC_MODULE)-sections.txt      \
188         $(DOC_MODULE)-overrides.txt
189
190 DOC_STAMPS=scan-build.stamp tmpl-build.stamp sgml-build.stamp html-build.stamp \
191            $(srcdir)/tmpl.stamp $(srcdir)/sgml.stamp $(srcdir)/html.stamp
192
193 SCANOBJ_FILES =                 \
194         $(DOC_MODULE).args      \
195         $(DOC_MODULE).hierarchy \
196         $(DOC_MODULE).signals
197
198 if ENABLE_GTK_DOC
199 all-local: html-build.stamp
200
201 #### scan ####
202
203 scan-build.stamp: $(HFILE_GLOB)
204         @echo '*** Scanning header files ***'
205         if grep -l '^..*$$' $(srcdir)/$(DOC_MODULE).types > /dev/null ; then \
206             CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" CFLAGS="$(GTKDOC_CFLAGS)" LDFLAGS="$(GTKDOC_LIBS)" gtkdoc-scangobj $(SCANGOBJ_OPTIONS) --module=$(DOC_MODULE) --output-dir=$(srcdir) ; \
207         else \
208             cd $(srcdir) ; \
209             for i in $(SCANOBJ_FILES) ; do \
210                test -f $$i || touch $$i ; \
211             done \
212         fi
213         cd $(srcdir) && \
214           gtkdoc-scan --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --ignore-headers="$(IGNORE_HFILES)" $(SCAN_OPTIONS) $(EXTRA_HFILES)
215         touch scan-build.stamp
216
217 $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES): scan-build.stamp
218         @true
219
220 #### templates ####
221
222 tmpl-build.stamp: $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt
223         @echo '*** Rebuilding template files ***'
224         cd $(srcdir) && gtkdoc-mktmpl --module=$(DOC_MODULE)
225         touch tmpl-build.stamp
226
227 tmpl.stamp: tmpl-build.stamp
228         @true
229
230 #### sgml ####
231
232 sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
233         @echo '*** Building SGML ***'
234         cd $(srcdir) && \
235         gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) $(MKDB_OPTIONS)
236         touch sgml-build.stamp
237
238 sgml.stamp: sgml-build.stamp
239         @true
240
241 #### html ####
242
243 html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files)
244         @echo '*** Building HTML ***'
245         rm -rf $(srcdir)/html 
246         mkdir $(srcdir)/html
247         cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
248         test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html )
249         @echo '-- Fixing Crossreferences' 
250         cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
251         touch html-build.stamp
252 endif
253
254 ##############
255
256 clean-local:
257         rm -f *~ *.bak $(SCANOBJ_FILES) *-unused.txt $(DOC_STAMPS)
258
259 maintainer-clean-local: clean
260         cd $(srcdir) && rm -rf sgml html $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
261
262 install-data-local:
263         $(mkinstalldirs) $(DESTDIR)$(TARGET_DIR)
264         (installfiles=`echo $(srcdir)/html/*`; \
265         if test "$$installfiles" = '$(srcdir)/html/*'; \
266         then echo '-- Nothing to install' ; \
267         else \
268           for i in $$installfiles; do \
269             echo '-- Installing '$$i ; \
270             $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \
271           done; \
272           echo '-- Installing $(srcdir)/html/index.sgml' ; \
273           $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \
274         fi)
275
276 #
277 # Require gtk-doc when making dist
278 #
279 if ENABLE_GTK_DOC
280 dist-check-gtkdoc:
281 else
282 dist-check-gtkdoc:
283         @echo "*** gtk-doc must be installed and enabled in order to make dist"
284         @false
285 endif
286
287 dist-hook: dist-check-gtkdoc dist-hook-local
288         mkdir $(distdir)/tmpl
289         mkdir $(distdir)/sgml
290         mkdir $(distdir)/html
291         -cp $(srcdir)/tmpl/*.sgml $(distdir)/tmpl
292         -cp $(srcdir)/sgml/*.sgml $(distdir)/sgml
293         -cp $(srcdir)/html/* $(distdir)/html
294
295 .PHONY : dist-hook-local