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