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