]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
3d93dae787cfb3a299e8390cc232aa81b0a5cc39
[~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/^/\t/') > gtk.def
75
76 gtkalias.h: gtk.symbols
77           ./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         gtkmodules.c            \
429         gtknotebook.c           \
430         gtkobject.c             \
431         gtkoldeditable.c        \
432         gtkoptionmenu.c         \
433         gtkpaned.c              \
434         gtkpathbar.c            \
435         gtkpixmap.c             \
436         gtkpreview.c            \
437         gtkprogress.c           \
438         gtkprogressbar.c        \
439         gtkradioaction.c        \
440         gtkradiobutton.c        \
441         gtkradiomenuitem.c      \
442         gtkradiotoolbutton.c    \
443         gtkrange.c              \
444         gtkrbtree.c             \
445         gtkrc.c                 \
446         gtkruler.c              \
447         gtkscale.c              \
448         gtkscrollbar.c          \
449         gtkscrolledwindow.c     \
450         gtksequence.c           \
451         gtkselection.c          \
452         gtkseparator.c          \
453         gtkseparatormenuitem.c  \
454         gtkseparatortoolitem.c  \
455         gtksettings.c           \
456         gtksignal.c             \
457         gtksizegroup.c          \
458         gtkspinbutton.c         \
459         gtkstatusbar.c          \
460         gtkstock.c              \
461         gtkstyle.c              \
462         gtktable.c              \
463         gtktearoffmenuitem.c    \
464         gtktext.c               \
465         gtktextbtree.c          \
466         gtktextbuffer.c         \
467         gtktextchild.c          \
468         gtktextdisplay.c        \
469         gtktextiter.c           \
470         gtktextiterprivate.h    \
471         gtktextlayout.c         \
472         gtktextmark.c           \
473         gtktextmarkprivate.h    \
474         gtktextsegment.c        \
475         gtktexttag.c            \
476         gtktexttagtable.c       \
477         gtktexttypes.c          \
478         gtktextutil.c           \
479         gtktextview.c           \
480         gtkthemes.c             \
481         gtktipsquery.c          \
482         gtktoggleaction.c       \
483         gtktogglebutton.c       \
484         gtktoggletoolbutton.c   \
485         gtktoolbar.c            \
486         gtktoolbutton.c         \
487         gtktoolitem.c           \
488         gtktooltips.c           \
489         gtktree.c               \
490         gtktreedatalist.c       \
491         gtktreednd.c            \
492         gtktreeitem.c           \
493         gtktreemodel.c          \
494         gtktreemodelfilter.c    \
495         gtktreemodelsort.c      \
496         gtktreeselection.c      \
497         gtktreesortable.c       \
498         gtktreestore.c          \
499         gtktreeview.c           \
500         gtktreeviewcolumn.c     \
501         gtktypebuiltins.c       \
502         gtktypeutils.c          \
503         gtkuimanager.c          \
504         gtkvbbox.c              \
505         gtkvbox.c               \
506         gtkviewport.c           \
507         gtkvpaned.c             \
508         gtkvruler.c             \
509         gtkvscale.c             \
510         gtkvscrollbar.c         \
511         gtkvseparator.c         \
512         gtkwidget.c             \
513         gtkwindow-decorate.c    \
514         gtkwindow.c             \
515         xembed.h
516
517 if OS_UNIX
518 gtk_private_h_sources += gtkfilesystemunix.h
519 gtk_c_sources +=         gtkfilesystemunix.c
520 endif
521
522 if OS_WIN32
523 gtk_private_h_sources += gtkfilesystemwin32.h
524 gtk_c_sources +=         gtkfilesystemwin32.c
525 endif
526
527 gtk_plug_c_sources =            \
528         gtkplug.c               \
529         gtksocket.c             \
530         gtkxembed.c             \
531         gtkxembed.h
532
533 # we use our own built_sources variable rules to avoid automake's
534 # BUILT_SOURCES oddities
535 # we generate frequently rebuild files piggyback on a stamp file, so sources
536 # depending on them only get rebuild when the built source actually changed
537 # content
538
539 # built sources that get installed with the header files
540 gtk_built_public_sources =                      \
541         gtkmarshal.h                            \
542         gtktypebuiltins.h
543
544 # built sources that don't get installed
545 gtk_built_private_headers =                     \
546         gtkalias.h                              \
547         gtkmarshalers.h
548
549 gtk_built_sources =                             \
550         gtktypebuiltins.c                       \
551         gtkmarshalers.c                         \
552         gtkmarshalers.h                         \
553         gtkmarshal.c                            \
554         ${gtk_built_private_headers}            \
555         ${gtk_built_public_sources}
556
557 stamp_files =                                   \
558         stamp-gtkmarshalers.h                   \
559         stamp-gtkmarshal.h                      \
560         stamp-gtktypebuiltins.h
561
562 # non-header sources (headers should be specified in the above variables)
563 # that don't serve as direct make target sources, i.e. they don't have
564 # their own .lo rules and don't get publically installed
565 gtk_extra_sources =                             \
566         gtk.symbols                             \
567         gtkversion.h.in                         \
568         gtkmarshalers.list                      \
569         gtkmarshal.list
570
571 #
572 # setup GTK+ sources and their dependencies
573 #
574 MAINTAINERCLEANFILES = $(gtk_built_sources) $(stamp_files)
575 EXTRA_HEADERS =
576 EXTRA_DIST = $(gtk_private_h_sources) $(gtk_extra_sources)
577 EXTRA_DIST += $(gtk_built_sources)
578
579 #
580 # rules to generate built sources
581 #
582 # setup autogeneration dependencies
583 gen_sources = xgen-gdef xgen-gtbh xgen-gtic xgen-gmh xgen-gmc xgen-gmlh xgen-gmlc
584 CLEANFILES = $(gen_sources)
585
586 BUILT_SOURCES = $(gtk_built_sources)
587
588 # all autogenerated files need to be generated in the srcdir,
589 # so old versions get remade and are not confused with newer
590 # versions in the build dir. thus a development setup requires
591 # srcdir to be writable, passing --disable-rebuilds to
592 # ../configure will supress all autogeneration rules.
593 gtkmarshalers.h: stamp-gtkmarshalers.h
594         @true
595 stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list
596         $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \
597         && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \
598         && rm -f xgen-gmlh \
599         && echo timestamp > $(@F)       
600 gtkmarshalers.c: @REBUILD@ gtkmarshalers.list
601         (echo "#include \"gtkalias.h\""; $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \
602         && cp xgen-gmlc gtkmarshalers.c \
603         && rm -f xgen-gmlc
604
605 gtkmarshal.h: stamp-gtkmarshal.h
606         @true
607 stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list
608         echo "#ifndef GTK_DISABLE_DEPRECATED" > xgen-gmh                                        \
609         && $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --header >> xgen-gmh \
610         && echo "#endif /* GTK_DISABLE_DEPRECATED */" >> xgen-gmh \
611         && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
612         && rm -f xgen-gmh \
613         && echo timestamp > $(@F)
614 gtkmarshal.c: @REBUILD@ gtkmarshal.list
615         (echo "#include \"gtkalias.h\""; $(GLIB_GENMARSHAL) --prefix=gtk_marshal $(srcdir)/gtkmarshal.list --body) >> xgen-gmc \
616         && cp xgen-gmc gtkmarshal.c \
617         && rm -f xgen-gmc 
618
619 gtktypebuiltins.h: stamp-gtktypebuiltins.h
620         @true
621 stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) Makefile
622         ( cd $(srcdir) && glib-mkenums \
623                         --fhead "#ifndef __GTK_TYPE_BUILTINS_H__\n#define __GTK_TYPE_BUILTINS_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
624                         --fprod "/* enumerations from \"@filename@\" */\n" \
625                         --vhead "GType @enum_name@_get_type (void);\n#define GTK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
626                         --ftail "G_END_DECLS\n\n#endif /* __GTK_TYPE_BUILTINS_H__ */" \
627                 $(gtk_public_h_sources) ) >> xgen-gtbh \
628         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \
629         && rm -f xgen-gtbh \
630         && echo timestamp > $(@F)
631 gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
632         ( cd $(srcdir) && glib-mkenums \
633                         --fhead "#undef GTK_DISABLE_DEPRECATED\n#define GTK_ENABLE_BROKEN\n#include \"gtkalias.h\"\n#include \"gtk.h\"\n#include \"gtkprivate.h\"" \
634                         --fprod "\n/* enumerations from \"@filename@\" */" \
635                         --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[] = {" \
636                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
637                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
638                 $(gtk_public_h_sources) ) > xgen-gtbc \
639         && cp xgen-gtbc gtktypebuiltins.c  \
640         && rm -f xgen-gtbc
641
642 # target platform:
643 lib_LTLIBRARIES = $(gtktargetlib)
644
645 gtkincludedir = $(includedir)/gtk-2.0/gtk
646 gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
647
648 libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
649 libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
650 libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
651
652 libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
653 libgtk_linux_fb_2_0_la_LDFLAGS = $(libtool_opts)
654 libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts)
655
656 libgtk_x11_2_0_la_LIBADD = $(libadd)
657 libgtk_linux_fb_2_0_la_LIBADD = $(libadd)
658 libgtk_win32_2_0_la_LIBADD = $(libadd) $(gtk_win32res_lo)
659 libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
660
661 if USE_WIN32
662 libgtk_target_ldflags = $(gtk_win32_symbols) -lwsock32
663 endif
664 EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
665
666 install-exec-hook: 
667 if DISABLE_EXPLICIT_DEPS
668         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib)
669 endif
670
671 # Install a RC file for the default GTK+ theme, and key themes
672 install-data-local: install-ms-lib install-libtool-import-lib
673         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
674         $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
675         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key
676         $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
677         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key
678         $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
679
680 uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
681         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
682         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0-key/gtkrc
683         rm -f $(DESTDIR)$(datadir)/themes/Emacs/gtk-2.0-key/gtkrc
684
685 # if srcdir!=builddir, clean out maintainer-clean files from builddir
686 # this allows dist to pass.
687 distclean-local:
688         if test $(srcdir) != .; then \
689           rm -f $(MAINTAINERCLEANFILES); \
690         fi
691
692 DEPS = $(gtktargetlib) $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la $(top_builddir)/gdk/$(gdktargetlib)
693
694 TEST_DEPS = $(DEPS) gtk.immodules
695
696 LDADDS =                                                                \
697         $(gtktargetlib)                                                 \
698         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
699         $(top_builddir)/gdk/$(gdktargetlib)
700
701 #
702 # Installed tools
703 #
704 bin_PROGRAMS = gtk-query-immodules-2.0 gtk-update-icon-cache
705
706 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
707 gtk_query_immodules_2_0_LDADD = $(LDADDS)
708
709 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
710
711
712 gtk_update_icon_cache_DEPENDENCIES = $(DEPS)
713 gtk_update_icon_cache_LDADD = $(LDADDS)
714
715 gtk_update_icon_cache_SOURCES = updateiconcache.c
716
717 .PHONY: files test test-debug
718
719 files:
720         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
721           echo $$p; \
722         done
723
724 EXTRA_DIST +=                   \
725         line-arrow.xbm          \
726         line-wrap.xbm           \
727         tree_plus.xbm           \
728         tree_minus.xbm          \
729         tree_minus.xpm          \
730         tree_plus.xpm           \
731         gtk.def                 \
732         gtk-win32.rc            \
733         gtk-win32.rc.in         \
734         gtkfilesystemwin32.h    \
735         gtkfilesystemwin32.c    \
736         gtkrc.default           \
737         gtkrc.key.default       \
738         gtkrc.key.emacs         \
739         makefile.msc            \
740         makefile.msc.in         \
741         makegtkalias.pl         \
742         abicheck.sh
743
744 install-data-local: