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