]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
Remove GLIB_DIVERT_BEFORE_HELP() on initialization of gdktarget, that was
[~andy/gtk] / gtk / Makefile.am
1 # Makefile.am for gtk+/gtk
2
3 SUBDIRS=stock-icons theme-bits
4
5 if OS_UNIX
6 SUBDIRS += xdgmime
7 endif
8
9 DIST_SUBDIRS=stock-icons theme-bits xdgmime
10
11 INCLUDES =                                              \
12         -DG_LOG_DOMAIN=\"Gtk\"                          \
13         -DGTK_LIBDIR=\"$(libdir)\"                      \
14         -DGTK_DATADIR=\"$(datadir)\"                    \
15         -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
16         -DGTK_SYSCONFDIR=\"$(sysconfdir)\"              \
17         -DGTK_VERSION=\"$(GTK_VERSION)\"                \
18         -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\"  \
19         -DGTK_HOST=\"$(host)\"                          \
20         -DGTK_COMPILATION                               \
21         -I$(top_builddir)/gtk                           \
22         -I$(top_srcdir) -I../gdk                        \
23         -I$(top_srcdir)/gdk                             \
24         -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf      \
25         -DG_DISABLE_DEPRECATED                          \
26         -DGDK_PIXBUF_DISABLE_DEPRECATED                 \
27         -DGDK_DISABLE_DEPRECATED                        \
28         -DGTK_DISABLE_DEPRECATED                        \
29         -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED            \
30         $(GTK_DEBUG_FLAGS)                              \
31         $(GTK_DEP_CFLAGS)
32
33 gtarget=$(gdktarget)
34
35 if PLATFORM_WIN32
36 no_undefined = -no-undefined
37 endif
38
39 if OS_WIN32
40 gtk_def = gtk.def
41 gtk_win32_symbols = -export-symbols $(gtk_def)
42
43 gtk_win32res_lo = gtk-win32res.lo
44
45 gtk-win32res.lo : gtk-win32.rc
46         $(top_srcdir)/build/win32/lt-compile-resource gtk-win32.rc gtk-win32res.lo
47
48 install-libtool-import-lib:
49         for entry in `grep PRIVATE gtk.def | sed -e 's/PRIVATE//'`; do \
50           file=`nm -A .libs/libgtk-win32-$(GTK_API_VERSION).dll.a | tr -d '\r' | grep -E $$entry'$$' | head -n 1 | cut -d: -f2`; \
51           ar d .libs/libgtk-win32-$(GTK_API_VERSION).dll.a $$file; \
52         done
53         $(INSTALL) .libs/libgtk-win32-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
54 uninstall-libtool-import-lib:
55         -rm $(DESTDIR)$(libdir)/libtk-win32-$(GTK_API_VERSION).dll.a
56 else
57 install-libtool-import-lib:
58 uninstall-libtool-import-lib:
59 endif
60
61 if MS_LIB_AVAILABLE
62 noinst_DATA = gtk-win32-$(GTK_API_VERSION).lib
63
64 gtk-win32-$(GTK_API_VERSION).lib: libgtk-win32-$(GTK_API_VERSION).la gtk.def
65         lib -name:libgtk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gtk.def -out:$@
66
67 install-ms-lib:
68         $(INSTALL) gtk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
69
70 uninstall-ms-lib:
71         -rm $(DESTDIR)$(libdir)/gtk-win32-$(GTK_API_VERSION).lib
72 else
73 install-ms-lib:
74 uninstall-ms-lib:
75 endif
76
77 gtk.def: gtk.symbols
78         (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | sed -e '/^$$/d' -e 's/^/        /' -e 's/G_GNUC_[^ ]*//g') > gtk.def
79
80 gtkalias.h: gtk.symbols
81           $(PERL) $(srcdir)/makegtkalias.pl < $(srcdir)/gtk.symbols > gtkalias.h
82
83 if OS_UNIX
84 TESTS = abicheck.sh
85 endif
86
87 # libtool stuff: set version and export symbols for resolving
88 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
89 # we use the general approach here
90 libgtkincludedir = $(includedir)/gtk-2.0/gtk
91 libadd =                                                                \
92         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
93         $(top_builddir)/gdk/$(gdktargetlib)                             \
94         $(GTK_DEP_LIBS)
95
96 if OS_UNIX
97 libadd += xdgmime/libxdgmime.la
98 endif
99
100 # common options for the various packages.
101 libtool_opts =                                                  \
102   -version-info $(LT_VERSION_INFO)                              \
103   -export-dynamic $(no_undefined) $(LIBTOOL_EXPORT_OPTIONS)     \
104   -rpath $(libdir) $(libgtk_target_ldflags)
105
106
107 #
108 # setup source file variables
109 #
110
111 # GTK+ header files for public installation (non-generated, or generated
112 # by configure)
113 gtk_public_h_sources =          \
114         gtk.h                   \
115         gtkaboutdialog.h        \
116         gtkaccelgroup.h         \
117         gtkaccellabel.h         \
118         gtkaccelmap.h           \
119         gtkaccessible.h         \
120         gtkaction.h             \
121         gtkactiongroup.h        \
122         gtkadjustment.h         \
123         gtkalignment.h          \
124         gtkarrow.h              \
125         gtkaspectframe.h        \
126         gtkbbox.h               \
127         gtkbin.h                \
128         gtkbindings.h           \
129         gtkbox.h                \
130         gtkbutton.h             \
131         gtkcalendar.h           \
132         gtkcelleditable.h       \
133         gtkcelllayout.h         \
134         gtkcellrenderer.h       \
135         gtkcellrenderercombo.h  \
136         gtkcellrendererpixbuf.h \
137         gtkcellrendererprogress.h \
138         gtkcellrenderertext.h   \
139         gtkcellrenderertoggle.h \
140         gtkcellview.h           \
141         gtkcheckbutton.h        \
142         gtkcheckmenuitem.h      \
143         gtkclipboard.h          \
144         gtkclist.h              \
145         gtkclipboard.h          \
146         gtkcolorbutton.h        \
147         gtkcolorsel.h           \
148         gtkcolorseldialog.h     \
149         gtkcombo.h              \
150         gtkcombobox.h           \
151         gtkcomboboxentry.h      \
152         gtkcontainer.h          \
153         gtkctree.h              \
154         gtkcurve.h              \
155         gtkdebug.h              \
156         gtkdialog.h             \
157         gtkdnd.h                \
158         gtkdrawingarea.h        \
159         gtkeditable.h           \
160         gtkentry.h              \
161         gtkentrycompletion.h    \
162         gtkenums.h              \
163         gtkeventbox.h           \
164         gtkexpander.h           \
165         gtkfilechooser.h        \
166         gtkfilechooserbutton.h  \
167         gtkfilechooserdialog.h  \
168         gtkfilechooserwidget.h  \
169         gtkfilefilter.h         \
170         gtkfilesel.h            \
171         gtkfixed.h              \
172         gtkfontbutton.h         \
173         gtkfontsel.h            \
174         gtkframe.h              \
175         gtkgamma.h              \
176         gtkgc.h                 \
177         gtkhandlebox.h          \
178         gtkhbbox.h              \
179         gtkhbox.h               \
180         gtkhpaned.h             \
181         gtkhruler.h             \
182         gtkhscale.h             \
183         gtkhscrollbar.h         \
184         gtkhseparator.h         \
185         gtkiconfactory.h        \
186         gtkicontheme.h          \
187         gtkiconview.h           \
188         gtkimage.h              \
189         gtkimagemenuitem.h      \
190         gtkimcontext.h          \
191         gtkimcontextsimple.h    \
192         gtkimmodule.h           \
193         gtkimmulticontext.h     \
194         gtkinputdialog.h        \
195         gtkinvisible.h          \
196         gtkitem.h               \
197         gtkitemfactory.h        \
198         gtklabel.h              \
199         gtklayout.h             \
200         gtklist.h               \
201         gtklistitem.h           \
202         gtkliststore.h          \
203         gtkmain.h               \
204         gtkmenu.h               \
205         gtkmenubar.h            \
206         gtkmenuitem.h           \
207         gtkmenushell.h          \
208         gtkmenutoolbutton.h     \
209         gtkmessagedialog.h      \
210         gtkmisc.h               \
211         gtkmodules.h            \
212         gtknotebook.h           \
213         gtkobject.h             \
214         gtkoldeditable.h        \
215         gtkoptionmenu.h         \
216         gtkpaned.h              \
217         gtkpixmap.h             \
218         gtkplug.h               \
219         gtkpreview.h            \
220         gtkprivate.h            \
221         gtkprogress.h           \
222         gtkprogressbar.h        \
223         gtkradioaction.h        \
224         gtkradiobutton.h        \
225         gtkradiomenuitem.h      \
226         gtkradiotoolbutton.h    \
227         gtkrange.h              \
228         gtkrc.h                 \
229         gtkruler.h              \
230         gtkscale.h              \
231         gtkscrollbar.h          \
232         gtkscrolledwindow.h     \
233         gtkselection.h          \
234         gtkseparator.h          \
235         gtkseparatormenuitem.h  \
236         gtkseparatortoolitem.h  \
237         gtksettings.h           \
238         gtksignal.h             \
239         gtksizegroup.h          \
240         gtksocket.h             \
241         gtkspinbutton.h         \
242         gtkstatusbar.h          \
243         gtkstock.h              \
244         gtkstyle.h              \
245         gtktable.h              \
246         gtktearoffmenuitem.h    \
247         gtktext.h               \
248         gtktextbuffer.h         \
249         gtktextchild.h          \
250         gtktextdisplay.h        \
251         gtktextiter.h           \
252         gtktextmark.h           \
253         gtktexttag.h            \
254         gtktexttagtable.h       \
255         gtktextview.h           \
256         gtktipsquery.h          \
257         gtktoggleaction.h       \
258         gtktogglebutton.h       \
259         gtktoggletoolbutton.h   \
260         gtktoolbar.h            \
261         gtktoolbutton.h         \
262         gtktoolitem.h           \
263         gtktooltips.h           \
264         gtktree.h               \
265         gtktreednd.h            \
266         gtktreeitem.h           \
267         gtktreemodel.h          \
268         gtktreemodelfilter.h    \
269         gtktreemodelsort.h      \
270         gtktreeselection.h      \
271         gtktreesortable.h       \
272         gtktreestore.h          \
273         gtktreeview.h           \
274         gtktreeviewcolumn.h     \
275         gtktypeutils.h          \
276         gtkuimanager.h          \
277         gtkvbbox.h              \
278         gtkvbox.h               \
279         gtkviewport.h           \
280         gtkvpaned.h             \
281         gtkvruler.h             \
282         gtkvscale.h             \
283         gtkvscrollbar.h         \
284         gtkvseparator.h         \
285         gtkwidget.h             \
286         gtkwindow.h
287
288 # Installed header files without compatibility guarantees
289 # that are not include in gtk/gtk.h
290 gtk_semi_private_h_sources =    \
291         gtktextlayout.h         \
292         gtkfilesystem.h
293
294 # GTK+ header files that don't get installed
295 gtk_private_h_sources =         \
296         gtkentryprivate.h       \
297         gtkfilechooserembed.h   \
298         gtkfilechooserentry.h   \
299         gtkfilechooserdefault.h \
300         gtkfilechooserprivate.h \
301         gtkfilechooserutils.h   \
302         gtkfilesystemunix.h     \
303         gtkfilesystemmodel.h    \
304         gtkiconcache.h          \
305         gtkpathbar.h            \
306         gtkrbtree.h             \
307         gtksequence.h           \
308         gtktextbtree.h          \
309         gtktextchildprivate.h   \
310         gtktextsegment.h        \
311         gtktexttypes.h          \
312         gtktextutil.h           \
313         gtktextiterprivate.h    \
314         gtktextmarkprivate.h    \
315         gtktexttagprivate.h     \
316         gtkthemes.h             \
317         gtktreedatalist.h       \
318         gtktreeprivate.h        \
319         gtkwindow-decorate.h    \
320         gtktoggleactionprivate.h
321
322 # GTK+ C sources to build the library from
323 gtk_c_sources =                 \
324         fnmatch.c               \
325         gtkaboutdialog.c        \
326         gtkaccelgroup.c         \
327         gtkaccellabel.c         \
328         gtkaccelmap.c           \
329         gtkaccessible.c         \
330         gtkaction.c             \
331         gtkactiongroup.c        \
332         gtkadjustment.c         \
333         gtkalignment.c          \
334         gtkarrow.c              \
335         gtkaspectframe.c        \
336         gtkbbox.c               \
337         gtkbin.c                \
338         gtkbindings.c           \
339         gtkbox.c                \
340         gtkbutton.c             \
341         gtkcalendar.c           \
342         gtkcelleditable.c       \
343         gtkcelllayout.c         \
344         gtkcellrenderer.c       \
345         gtkcellrenderercombo.c  \
346         gtkcellrendererpixbuf.c \
347         gtkcellrendererprogress.c \
348         gtkcellrenderertext.c   \
349         gtkcellrenderertoggle.c \
350         gtkcellview.c           \
351         gtkcheckbutton.c        \
352         gtkcheckmenuitem.c      \
353         gtkclipboard.c          \
354         gtkclist.c              \
355         gtkcolorbutton.c        \
356         gtkcolorsel.c           \
357         gtkcolorseldialog.c     \
358         gtkcombo.c              \
359         gtkcombobox.c           \
360         gtkcomboboxentry.c      \
361         gtkcontainer.c          \
362         gtkctree.c              \
363         gtkcurve.c              \
364         gtkdialog.c             \
365         gtkdnd.c                \
366         gtkdrawingarea.c        \
367         gtkeditable.c           \
368         gtkentry.c              \
369         gtkentrycompletion.c    \
370         gtkeventbox.c           \
371         gtkexpander.c           \
372         gtkfilechooser.c        \
373         gtkfilechooserbutton.c  \
374         gtkfilechooserdialog.c  \
375         gtkfilechooserembed.c   \
376         gtkfilechooserentry.c   \
377         gtkfilechooserdefault.c \
378         gtkfilechooserutils.c   \
379         gtkfilechooserwidget.c  \
380         gtkfilefilter.c         \
381         gtkfilesel.c            \
382         gtkfilesystem.c         \
383         gtkfilesystemmodel.c    \
384         gtkfixed.c              \
385         gtkfontbutton.c         \
386         gtkfontsel.c            \
387         gtkframe.c              \
388         gtkgamma.c              \
389         gtkgc.c                 \
390         gtkhandlebox.c          \
391         gtkhbbox.c              \
392         gtkhbox.c               \
393         gtkhpaned.c             \
394         gtkhruler.c             \
395         gtkhscale.c             \
396         gtkhscrollbar.c         \
397         gtkhseparator.c         \
398         gtkhsv.c                \
399         gtkhsv.h                \
400         gtkiconfactory.c        \
401         gtkiconcache.c          \
402         gtkicontheme.c          \
403         gtkiconview.c           \
404         gtkimage.c              \
405         gtkimagemenuitem.c      \
406         gtkimcontext.c          \
407         gtkimcontextsimple.c    \
408         gtkimmodule.c           \
409         gtkimmulticontext.c     \
410         gtkinputdialog.c        \
411         gtkintl.h               \
412         gtkinvisible.c          \
413         gtkitem.c               \
414         gtkitemfactory.c        \
415         gtkkeyhash.c            \
416         gtkkeyhash.h            \
417         gtklabel.c              \
418         gtklayout.c             \
419         gtklist.c               \
420         gtklistitem.c           \
421         gtkliststore.c          \
422         gtkmain.c               \
423         gtkmarshal.c            \
424         gtkmarshalers.c         \
425         gtkmenu.c               \
426         gtkmenubar.c            \
427         gtkmenuitem.c           \
428         gtkmenushell.c          \
429         gtkmenutoolbutton.c     \
430         gtkmessagedialog.c      \
431         gtkmisc.c               \
432         gtkmnemonichash.c       \
433         gtkmnemonichash.h       \
434         gtkmodules.c            \
435         gtknotebook.c           \
436         gtkobject.c             \
437         gtkoldeditable.c        \
438         gtkoptionmenu.c         \
439         gtkpaned.c              \
440         gtkpathbar.c            \
441         gtkpixmap.c             \
442         gtkpreview.c            \
443         gtkprogress.c           \
444         gtkprogressbar.c        \
445         gtkradioaction.c        \
446         gtkradiobutton.c        \
447         gtkradiomenuitem.c      \
448         gtkradiotoolbutton.c    \
449         gtkrange.c              \
450         gtkrbtree.c             \
451         gtkrc.c                 \
452         gtkruler.c              \
453         gtkscale.c              \
454         gtkscrollbar.c          \
455         gtkscrolledwindow.c     \
456         gtksequence.c           \
457         gtkselection.c          \
458         gtkseparator.c          \
459         gtkseparatormenuitem.c  \
460         gtkseparatortoolitem.c  \
461         gtksettings.c           \
462         gtksignal.c             \
463         gtksizegroup.c          \
464         gtkspinbutton.c         \
465         gtkstatusbar.c          \
466         gtkstock.c              \
467         gtkstyle.c              \
468         gtktable.c              \
469         gtktearoffmenuitem.c    \
470         gtktext.c               \
471         gtktextbtree.c          \
472         gtktextbuffer.c         \
473         gtktextchild.c          \
474         gtktextdisplay.c        \
475         gtktextiter.c           \
476         gtktextiterprivate.h    \
477         gtktextlayout.c         \
478         gtktextmark.c           \
479         gtktextmarkprivate.h    \
480         gtktextsegment.c        \
481         gtktexttag.c            \
482         gtktexttagtable.c       \
483         gtktexttypes.c          \
484         gtktextutil.c           \
485         gtktextview.c           \
486         gtkthemes.c             \
487         gtktipsquery.c          \
488         gtktoggleaction.c       \
489         gtktogglebutton.c       \
490         gtktoggletoolbutton.c   \
491         gtktoolbar.c            \
492         gtktoolbutton.c         \
493         gtktoolitem.c           \
494         gtktooltips.c           \
495         gtktree.c               \
496         gtktreedatalist.c       \
497         gtktreednd.c            \
498         gtktreeitem.c           \
499         gtktreemodel.c          \
500         gtktreemodelfilter.c    \
501         gtktreemodelsort.c      \
502         gtktreeselection.c      \
503         gtktreesortable.c       \
504         gtktreestore.c          \
505         gtktreeview.c           \
506         gtktreeviewcolumn.c     \
507         gtktypebuiltins.c       \
508         gtktypeutils.c          \
509         gtkuimanager.c          \
510         gtkvbbox.c              \
511         gtkvbox.c               \
512         gtkviewport.c           \
513         gtkvpaned.c             \
514         gtkvruler.c             \
515         gtkvscale.c             \
516         gtkvscrollbar.c         \
517         gtkvseparator.c         \
518         gtkwidget.c             \
519         gtkwindow-decorate.c    \
520         gtkwindow.c             \
521         xembed.h
522
523 if OS_UNIX
524 gtk_private_h_sources += gtkfilesystemunix.h
525 gtk_c_sources +=         gtkfilesystemunix.c
526 endif
527
528 if OS_WIN32
529 gtk_private_h_sources += gtkfilesystemwin32.h
530 gtk_c_sources +=         gtkfilesystemwin32.c
531 endif
532
533 gtk_plug_c_sources =            \
534         gtkplug.c               \
535         gtksocket.c             \
536         gtkxembed.c             \
537         gtkxembed.h
538
539 # we use our own built_sources variable rules to avoid automake's
540 # BUILT_SOURCES oddities
541 # we generate frequently rebuild files piggyback on a stamp file, so sources
542 # depending on them only get rebuild when the built source actually changed
543 # content
544
545 # built sources that get installed with the header files
546 gtk_built_public_sources =                      \
547         gtkmarshal.h                            \
548         gtktypebuiltins.h
549
550 # built sources that don't get installed
551 gtk_built_private_headers =                     \
552         gtkalias.h                              \
553         gtkmarshalers.h
554
555 gtk_built_sources =                             \
556         gtktypebuiltins.c                       \
557         gtkmarshalers.c                         \
558         gtkmarshalers.h                         \
559         gtkmarshal.c                            \
560         ${gtk_built_private_headers}            \
561         ${gtk_built_public_sources}
562
563 stamp_files =                                   \
564         stamp-gtkmarshalers.h                   \
565         stamp-gtkmarshal.h                      \
566         stamp-gtktypebuiltins.h
567
568 # non-header sources (headers should be specified in the above variables)
569 # that don't serve as direct make target sources, i.e. they don't have
570 # their own .lo rules and don't get publically installed
571 gtk_extra_sources =                             \
572         gtk.symbols                             \
573         gtkversion.h.in                         \
574         gtkmarshalers.list                      \
575         gtkmarshal.list
576
577 #
578 # setup GTK+ sources and their dependencies
579 #
580 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files)
581 EXTRA_HEADERS =
582 EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
583 EXTRA_DIST += $(gtk_built_sources)
584
585 #
586 # rules to generate built sources
587 #
588 # setup autogeneration dependencies
589 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
590 CLEANFILES = $(gen_sources)
591
592 BUILT_SOURCES = $(gtk_built_sources)
593
594 # all autogenerated files need to be generated in the srcdir,
595 # so old versions get remade and are not confused with newer
596 # versions in the build dir. thus a development setup requires
597 # srcdir to be writable, passing --disable-rebuilds to
598 # ../configure will supress all autogeneration rules.
599 gtkmarshalers.h: stamp-gtkmarshalers.h
600         @true
601 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
602         $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
603         && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
604         && rm -f xgen-gmlh \
605         && echo timestamp > $(@F)       
606 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
607         (echo "#include \"gtkalias.h\""; $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
608         && cp xgen-gmlc gtkmarshalers.c \
609         && rm -f xgen-gmlc
610
611 gtkmarshal.h: stamp-gtkmarshal.h
612         @true
613 stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
614         echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh                                        \
615         && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
616         && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
617         && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
618         && rm -f xgen-gmh \
619         && echo timestamp > $(@F)
620 gtkmarshal.c: @REBUILD@ gtkmarshal.list
621         (echo "#include \"gtkalias.h\""; $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body) >> xgen-gmc \
622         && cp xgen-gmc gtkmarshal.c \
623         && rm -f xgen-gmc 
624
625 gtktypebuiltins.h: stamp-gtktypebuiltins.h
626         @true
627 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
628         ( cd $(srcdir) && glib-mkenums \
629                         --fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
630                         --fprod "/* enumerations from \"@filename@\" */\n" \
631                         --vhead "GType @enum_name@_get_type (void) G_GNUC_CONST;\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
632                         --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
633                 $(gtk_public_h_sources) ) >> xgen-gtbh \
634         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
635         && rm -f xgen-gtbh \
636         && echo timestamp > $(@F)
637 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
638         ( cd $(srcdir) && glib-mkenums \
639                         --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtkalias.h\"\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
640                         --fprod "\n/* enumerations from \"@filename@\" */" \
641                         --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {" \
642                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
643                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
644                 $(gtk_public_h_sources) ) > xgen-gtbc \
645         && cp xgen-gtbc gtktypebuiltins.c  \
646         && rm -f xgen-gtbc
647
648 # target platform:
649 lib_LTLIBRARIES = $(gtktargetlib)
650
651 gtkincludedir = $(includedir)/gtk-2.0/gtk
652 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
653
654 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
655 libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
656 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
657
658 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
659 libgtk_linux_fb_2_0_la_LDFLAGS = $(libtool_opts)
660 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts)
661
662 libgtk_x11_2_0_la_LIBADD = $(libadd)
663 libgtk_linux_fb_2_0_la_LIBADD = $(libadd)
664 libgtk_win32_2_0_la_LIBADD = $(libadd) $(gtk_win32res_lo)
665 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
666
667 if USE_WIN32
668 libgtk_target_ldflags = $(gtk_win32_symbols) -lole32 -lwsock32
669 endif
670 EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
671
672 install-exec-hook: 
673 if DISABLE_EXPLICIT_DEPS
674         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
675 endif
676
677 # Install a RC file for the default GTK+ theme, and key themes
678 install-data-local: install-ms-lib install-libtool-import-lib
679         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
680         $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
681         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
682         $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
683         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
684         $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
685
686 uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
687         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
688         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
689         rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
690
691 # if srcdir!=builddir, clean out maintainer-clean files from builddir
692 # this allows dist to pass.
693 distclean-local:
694         if test $(srcdir) != .; then \
695           rm -f $(MAINTAINERCLEANFILES); \
696         fi
697
698 DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib)
699
700 TEST_DEPS = $(DEPS) gtk.immodules
701
702 LDADDS =                                                                \
703         $(gtktargetlib)                                                 \
704         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
705         $(top_builddir)/gdk/$(gdktargetlib)
706
707 #
708 # Installed tools
709 #
710 bin_PROGRAMS = gtk-query-immodules-2.0 gtk-update-icon-cache
711
712 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
713 gtk_query_immodules_2_0_LDADD = $(LDADDS)
714
715 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
716
717
718 gtk_update_icon_cache_DEPENDENCIES = $(DEPS)
719 gtk_update_icon_cache_LDADD = $(LDADDS)
720
721 gtk_update_icon_cache_SOURCES = updateiconcache.c
722
723 .PHONY: files test test-debug
724
725 files:
726         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
727           echo $$p; \
728         done
729
730 EXTRA_DIST +=                   \
731         line-arrow.xbm          \
732         line-wrap.xbm           \
733         tree_plus.xbm           \
734         tree_minus.xbm          \
735         tree_minus.xpm          \
736         tree_plus.xpm           \
737         gtk.def                 \
738         gtk-win32.rc            \
739         gtk-win32.rc.in         \
740         gtkfilesystemwin32.h    \
741         gtkfilesystemwin32.c    \
742         gtkrc.default           \
743         gtkrc.key.default       \
744         gtkrc.key.emacs         \
745         makefile.msc            \
746         makefile.msc.in         \
747         makegtkalias.pl         \
748         abicheck.sh
749
750 install-data-local: