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