]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
add missing '}' that got munched by #endif.
[~andy/gtk] / gtk / Makefile.am
1 # Makefile.am for gtk+/gtk
2
3 SUBDIRS=stock-icons
4
5 INCLUDES = @STRIP_BEGIN@ \
6         -DG_LOG_DOMAIN=\"Gtk\"                          \
7         -DGTK_DISABLE_COMPAT_H                          \
8         -DGTK_LIBDIR=\"$(libdir)\"                      \
9         -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
10         -DGTK_SYSCONFDIR=\"$(sysconfdir)\"              \
11         -DGTK_LOCALEDIR=\"$(gtklocaledir)\"             \
12         -DGTK_VERSION=\"@GTK_VERSION@\"                 \
13         -DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\"  \
14         -DG_DISABLE_CONST_RETURNS                       \
15         -I$(top_builddir)/gtk                           \
16         -I$(top_srcdir) -I../gdk                        \
17         -I$(top_srcdir)/gdk                             \
18         -I$(top_srcdir)/gdk-pixbuf -I../gdk-pixbuf      \
19         @GTK_DEBUG_FLAGS@                               \
20         @GTK_XIM_FLAGS@                                 \
21         @GTK_LOCALE_FLAGS@                              \
22         @PANGO_CFLAGS@                                  \
23         @GLIB_CFLAGS@                                   \
24         @more_cflags@                                   \
25 @STRIP_END@
26
27 gtarget=@gdktarget@
28
29 # libtool stuff: set version and export symbols for resolving
30 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
31 # we use the general approach here
32 libgtkincludedir = $(includedir)/gtk-2.0/gtk
33 LDFLAGS = @STRIP_BEGIN@ \
34         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
35         -export-dynamic                                         \
36         -rpath @prefix@/lib                                     \
37         @LIBTOOL_EXPORT_OPTIONS@                                \
38         @PANGO_LIBS@                                            \
39         @GLIB_DEPLIBS@                                          \
40         @more_ldflags@                                          \
41         @more_libs@                                             \
42         -lm                                                     \
43 @STRIP_END@
44
45 #
46 # setup source file variables
47 #
48
49 # GTK+ header files for public installation (non-generated, or generated
50 # by configure)
51 gtk_public_h_sources = @STRIP_BEGIN@ \
52         gtk.h                   \
53         gtkaccelgroup.h         \
54         gtkaccellabel.h         \
55         gtkadjustment.h         \
56         gtkalignment.h          \
57         gtkarg.h                \
58         gtkarrow.h              \
59         gtkaspectframe.h        \
60         gtkbin.h                \
61         gtkbindings.h           \
62         gtkbbox.h               \
63         gtkbox.h                \
64         gtkbutton.h             \
65         gtkcalendar.h           \
66         gtkcheckbutton.h        \
67         gtkcheckmenuitem.h      \
68         gtkseparatormenuitem.h  \
69         gtkclist.h              \
70         gtkclipboard.h          \
71         gtkcolorsel.h           \
72         gtkcolorseldialog.h     \
73         gtkcombo.h              \
74         gtkcontainer.h          \
75         gtkctree.h              \
76         gtkcurve.h              \
77         gtkcellrenderer.h       \
78         gtkcellrenderertext.h   \
79         gtkcellrenderertextpixbuf.h     \
80         gtkcellrenderertoggle.h \
81         gtkcellrendererpixbuf.h \
82         gtkdebug.h              \
83         gtkdialog.h             \
84         gtkdnd.h                \
85         gtkdrawingarea.h        \
86         gtkeditable.h           \
87         gtkentry.h              \
88         gtkenums.h              \
89         gtkeventbox.h           \
90         gtkfilesel.h            \
91         gtkfixed.h              \
92         gtkfontsel.h            \
93         gtkframe.h              \
94         gtkgamma.h              \
95         gtkgc.h                 \
96         gtkhandlebox.h          \
97         gtkhbbox.h              \
98         gtkhbox.h               \
99         gtkhpaned.h             \
100         gtkhruler.h             \
101         gtkhscale.h             \
102         gtkhscrollbar.h         \
103         gtkhseparator.h         \
104         gtkhsv.h                \
105         gtkiconfactory.h        \
106         gtkimage.h              \
107         gtkimagemenuitem.h      \
108         gtkimcontext.h          \
109         gtkimmodule.h           \
110         gtkimmulticontext.h     \
111         gtkinputdialog.h        \
112         gtkinvisible.h          \
113         gtkitem.h               \
114         gtkitemfactory.h        \
115         gtklabel.h              \
116         gtklayout.h             \
117         gtklist.h               \
118         gtklistitem.h           \
119         gtkliststore.h          \
120         gtkmain.h               \
121         gtkmenu.h               \
122         gtkmenubar.h            \
123         gtkmenuitem.h           \
124         gtkmenushell.h          \
125         gtkmessagedialog.h      \
126         gtkmisc.h               \
127         gtknotebook.h           \
128         gtkoldeditable.h        \
129         gtkobject.h             \
130         gtkoptionmenu.h         \
131         gtkpacker.h             \
132         gtkpaned.h              \
133         gtkpixmap.h             \
134         gtkplug.h               \
135         gtkpreview.h            \
136         gtkprivate.h            \
137         gtkprogress.h           \
138         gtkprogressbar.h        \
139         gtkradiobutton.h        \
140         gtkradiomenuitem.h      \
141         gtkrange.h              \
142         gtkrc.h                 \
143         gtkruler.h              \
144         gtkscale.h              \
145         gtkscrollbar.h          \
146         gtkscrolledwindow.h     \
147         gtkselection.h          \
148         gtkseparator.h          \
149         gtksettings.h           \
150         gtksignal.h             \
151         gtksocket.h             \
152         gtkspinbutton.h         \
153         gtkstyle.h              \
154         gtkstatusbar.h          \
155         gtkstock.h              \
156         gtktable.h              \
157         gtktearoffmenuitem.h    \
158         gtktextbuffer.h         \
159         gtktextchild.h          \
160         gtktextdisplay.h        \
161         gtktextiter.h           \
162         gtktextlayout.h         \
163         gtktextmark.h           \
164         gtktexttag.h            \
165         gtktexttagtable.h       \
166         gtktextview.h           \
167         gtktext.h               \
168         gtktipsquery.h          \
169         gtktogglebutton.h       \
170         gtktoolbar.h            \
171         gtktooltips.h           \
172         gtktree.h               \
173         gtktreednd.h            \
174         gtktreeitem.h           \
175         gtktreemodel.h          \
176         gtktreemodelsort.h      \
177         gtktreeselection.h      \
178         gtktreesortable.h       \
179         gtktreestore.h          \
180         gtktreeview.h           \
181         gtktreeviewcolumn.h     \
182         gtktypeutils.h          \
183         gtkvbbox.h              \
184         gtkvbox.h               \
185         gtkviewport.h           \
186         gtkvpaned.h             \
187         gtkvruler.h             \
188         gtkvscale.h             \
189         gtkvscrollbar.h         \
190         gtkvseparator.h         \
191         gtkwidget.h             \
192         gtkwindow.h             \
193 @STRIP_END@
194 # GTK+ header files that don't get installed
195 gtk_private_h_sources = @STRIP_BEGIN@ \
196         gtkrbtree.h             \
197         gtktextbtree.h          \
198         gtktextchildprivate.h   \
199         gtktextsegment.h        \
200         gtktexttypes.h          \
201         gtktextiterprivate.h    \
202         gtktextmarkprivate.h    \
203         gtktexttagprivate.h     \
204         gtkthemes.h             \
205         gtktreedatalist.h       \
206         gtktreeprivate.h        \
207         gtkwindow-decorate.h    \
208 @STRIP_END@
209 # GTK+ C sources to build the library from
210 gtk_c_sources = @STRIP_BEGIN@   \
211         gtkaccelgroup.c         \
212         gtkaccellabel.c         \
213         gtkadjustment.c         \
214         gtkalignment.c          \
215         gtkarg.c                \
216         gtkarrow.c              \
217         gtkaspectframe.c        \
218         gtkbin.c                \
219         gtkbindings.c           \
220         gtkbbox.c               \
221         gtkbox.c                \
222         gtkbutton.c             \
223         gtkcalendar.c           \
224         gtkcellrenderer.c       \
225         gtkcellrenderertext.c   \
226         gtkcellrenderertextpixbuf.c     \
227         gtkcellrenderertoggle.c \
228         gtkcellrendererpixbuf.c \
229         gtkcheckbutton.c        \
230         gtkcheckmenuitem.c      \
231         gtkseparatormenuitem.c  \
232         gtkclipboard.c          \
233         gtkclist.c              \
234         gtkcolorsel.c           \
235         gtkcolorseldialog.c     \
236         gtkcombo.c              \
237         gtkcontainer.c          \
238         gtkctree.c              \
239         gtkcurve.c              \
240         gtkdialog.c             \
241         gtkdnd.c                \
242         gtkdrawingarea.c        \
243         gtkeditable.c           \
244         gtkentry.c              \
245         gtkeventbox.c           \
246         gtkfilesel.c            \
247         gtkfixed.c              \
248         gtkfontsel.c            \
249         gtkframe.c              \
250         gtkgamma.c              \
251         gtkgc.c                 \
252         gtkhandlebox.c          \
253         gtkhbbox.c              \
254         gtkhbox.c               \
255         gtkhpaned.c             \
256         gtkhruler.c             \
257         gtkhscale.c             \
258         gtkhscrollbar.c         \
259         gtkhseparator.c         \
260         gtkhsv.c                \
261         gtkiconfactory.c        \
262         gtkimage.c              \
263         gtkimagemenuitem.c      \
264         gtkimcontext.c          \
265         gtkimcontextsimple.c    \
266         gtkimcontextsimple.h    \
267         gtkimmodule.c           \
268         gtkimmulticontext.c     \
269         gtkinputdialog.c        \
270         gtkintl.h               \
271         gtkinvisible.c          \
272         gtkitem.c               \
273         gtkitemfactory.c        \
274         gtklabel.c              \
275         gtklayout.c             \
276         gtklist.c               \
277         gtklistitem.c           \
278         gtkliststore.c          \
279         gtkmain.c               \
280         gtkmenu.c               \
281         gtkmenubar.c            \
282         gtkmenuitem.c           \
283         gtkmenushell.c          \
284         gtkmessagedialog.c      \
285         gtkmisc.c               \
286         gtknotebook.c           \
287         gtkobject.c             \
288         gtkoldeditable.c        \
289         gtkoptionmenu.c         \
290         gtkpacker.c             \
291         gtkpaned.c              \
292         gtkpixmap.c             \
293         gtkpreview.c            \
294         gtkprogress.c           \
295         gtkprogressbar.c        \
296         gtkradiobutton.c        \
297         gtkradiomenuitem.c      \
298         gtkrange.c              \
299         gtkrbtree.c             \
300         gtkrc.c                 \
301         gtkruler.c              \
302         gtkscale.c              \
303         gtkscrollbar.c          \
304         gtkscrolledwindow.c     \
305         gtkselection.c          \
306         gtkseparator.c          \
307         gtksettings.c           \
308         gtksignal.c             \
309         gtkspinbutton.c         \
310         gtkstock.c              \
311         gtkstyle.c              \
312         gtkstatusbar.c          \
313         gtktable.c              \
314         gtktearoffmenuitem.c    \
315         gtktext.c               \
316         gtktextbtree.c          \
317         gtktextbuffer.c         \
318         gtktextchild.c          \
319         gtktextdisplay.c        \
320         gtktextiter.c           \
321         gtktextiterprivate.h    \
322         gtktextlayout.c         \
323         gtktextmark.c           \
324         gtktextmarkprivate.h    \
325         gtktextsegment.c        \
326         gtktexttag.c            \
327         gtktexttagtable.c       \
328         gtktexttypes.c          \
329         gtktextview.c           \
330         gtkthemes.c             \
331         gtktipsquery.c          \
332         gtktogglebutton.c       \
333         gtktoolbar.c            \
334         gtktooltips.c           \
335         gtktree.c               \
336         gtktreeitem.c           \
337         gtktreedatalist.c       \
338         gtktreednd.c            \
339         gtktreemodel.c          \
340         gtktreemodelsort.c      \
341         gtktreeselection.c      \
342         gtktreesortable.c       \
343         gtktreestore.c          \
344         gtktreeview.c           \
345         gtktreeviewcolumn.c     \
346         gtktypeutils.c          \
347         gtkvbbox.c              \
348         gtkvbox.c               \
349         gtkviewport.c           \
350         gtkvpaned.c             \
351         gtkvruler.c             \
352         gtkvscale.c             \
353         gtkvscrollbar.c         \
354         gtkvseparator.c         \
355         gtkwidget.c             \
356         gtkwindow.c             \
357         gtkwindow-decorate.c    \
358         fnmatch.c               \
359         fnmatch.h               \
360         xembed.h                \
361 @STRIP_END@
362
363 if USE_X11
364 gtk_plug_c_sources = @STRIP_BEGIN@   \
365         gtkplug.c               \
366         gtksocket.c             \
367 @STRIP_END@
368 endif
369
370 # we use our own built_sources variable rules to avoid automake's
371 # BUILT_SOURCES oddities
372 # we generate frequently rebuild files piggyback on a stamp file, so sources
373 # depending on them only get rebuild when the built source actually changed
374 # content
375
376 # built sources that get installed with the header files
377 gtk_built_public_sources = @STRIP_BEGIN@ \
378         gtkmarshal.h            \
379         gtktypebuiltins.h       \
380 @STRIP_END@
381 # built sources that don't get installed
382 gtk_built_sources = @STRIP_BEGIN@ \
383         stamp-gtk.defs          \
384         stamp-gtktypebuiltins.h \
385         stamp-gtkmarshal.h      \
386         gtktypebuiltins_vars.c  \
387         gtktypebuiltins_ids.c   \
388         gtktypebuiltins_evals.c \
389         gtkmarshal.c            \
390         gtk.defs                \
391         ${gtk_built_public_sources} \
392 @STRIP_END@
393 # non-header sources (headers should be specified in the above variables)
394 # that don't serve as direct make target sources, i.e. they don't have
395 # their own .lo rules and don't get publically installed
396 gtk_extra_sources = @STRIP_BEGIN@ \
397         gtkcompat.h.in          \
398         makeenums.pl            \
399         makeenums.awk           \
400         maketypes.awk           \
401         makeenums.h             \
402         gtkargcollector.c       \
403         gtk-boxed.defs          \
404         gtkmarshal.list         \
405 @STRIP_END@
406
407
408 #
409 # setup GTK+ sources and their dependancies
410 #
411 gtk_target_headers = $(gtk_public_h_sources) $(gtk_built_public_sources) gtkcompat.h
412 gtk_target_sources = $(gtk_c_sources) $(gtk_plug_c_sources)
413 MAINTAINERCLEANFILES += $(gtk_built_sources)
414 EXTRA_HEADERS +=
415 EXTRA_DIST += $(gtk_private_h_sources) $(gtk_extra_sources)
416 EXTRA_DIST += $(gtk_built_sources)
417
418 #
419 # rules to generate built sources
420 #
421 # setup autogeneration dependancies
422 gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
423 CLEANFILES += $(gen_sources)
424 Makefile: oldest-source-stamp   # oh boy, does automake SUCK!
425 oldest-source-stamp: $(gtk_built_sources)
426 $(OBJECTS): oldest-source-stamp  ${gtk_built_public_sources} # this is our oldest file, used for implicit auto-generation deps
427 # initial creation of the real stamp-* files
428 gtk.defs gtkmarshal.h gtktypebuiltins.h:          # never add deps here
429         test -f "$(srcdir)/$@" || touch $(srcdir)/$@
430 # normal autogeneration rules
431 # all autogenerated files need to be generated in the srcdir,
432 # so old versions get remade and are not confused with newer
433 # versions in the build dir. thus a development setup requires
434 # srcdir to be writable, passing --disable-rebuilds to
435 # ../configure will supress all autogeneration rules.
436 $(srcdir)/stamp-gtk.defs: @REBUILD@ makeenums.pl gtk.defs gtk-boxed.defs $(gtk_public_h_sources)
437         cd $(srcdir) \
438         && $(PERL) makeenums.pl defs $(gtk_public_h_sources) > xgen-gdef \
439         && cat gtk-boxed.defs >> xgen-gdef \
440         && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
441         && rm -f xgen-gdef \
442         && echo timestamp > $(@F)
443 $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ gtkmarshal.list gtkmarshal.h
444         cd $(srcdir) \
445         && glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >> xgen-gmh \
446         && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
447         && rm -f xgen-gmh xgen-gmh~ \
448         && echo timestamp > $(@F)
449 $(srcdir)/gtkmarshal.c: @REBUILD@ $(srcdir)/stamp-gtkmarshal.h
450         cd $(srcdir) \
451         && glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >> xgen-gmc \
452         && cp xgen-gmc gtkmarshal.c \
453         && rm -f xgen-gmc xgen-gmc~
454 $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
455         cd $(srcdir) \
456         && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
457         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
458         && rm -f xgen-gtbh \
459         && echo timestamp > $(@F)
460 $(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk stamp-gtk.defs
461         cd $(srcdir) \
462         && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
463         && cp xgen-gtbvc $(@F) \
464         && rm -f xgen-gtbvc
465 $(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk stamp-gtk.defs
466         cd $(srcdir) \
467         && LC_ALL=C $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
468         && cp xgen-gtbic $(@F) \
469         && rm -f xgen-gtbic
470 $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl $(gtk_public_h_sources)
471         cd $(srcdir) \
472         && $(PERL) makeenums.pl arrays $(gtk_public_h_sources) > xgen-gtbec \
473         && cp xgen-gtbec $(@F) \
474         && rm -f xgen-gtbec
475
476
477 # target platform:
478 lib_ltlibraries = @gtktargetlib@
479 # now define the real one to workaround automake's mishandling
480 lib_LTLIBRARIES = $(lib_ltlibraries)
481 if USE_X11
482 libgtk_x11_includedir = $(includedir)/gtk-2.0/gtk
483 libgtk_x11_include_HEADERS = $(gtk_target_headers)
484 libgtk_x11_1_3_la_SOURCES = $(gtk_target_sources)
485 endif
486 if USE_NANOX
487 libgtk_nanox_includedir = $(includedir)/gtk-2.0/gtk
488 libgtk_nanox_include_HEADERS = $(gtk_target_headers)
489 libgtk_nanox_1_3_la_SOURCES = $(gtk_target_sources)
490 endif
491 if USE_LINUX_FB
492 libgtk_linux_fb_includedir = $(includedir)/gtk-2.0/gtk
493 libgtk_linux_fb_include_HEADERS = $(gtk_target_headers)
494 libgtk_linux_fb_1_3_la_SOURCES = $(gtk_target_sources)
495 endif
496 EXTRA_LTLIBRARIES = libgtk-x11-1.3.la libgtk-nanox-1.3.la libgtk-linux-fb-1.3.la
497
498
499 # We create a dummy theme for the default GTK+ theme
500 install-data-local:
501         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-2.0
502         echo "# Empty gtkrc for default theme" > $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
503         rm -f $(DESTDIR)$(datadir)/themes/Default/gtk-2.0/gtkrc
504
505 DEPS = @gtktargetlib@ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la $(top_builddir)/gdk/@gdktargetlib@
506 TEST_DEPS = $(DEPS) gtk.immodules
507
508 LDADDS = @STRIP_BEGIN@ \
509         @gtktargetlib@                                  \
510         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la \
511         $(top_builddir)/gdk/@gdktargetlib@              \
512         @more_ldflags@                                  \
513         @more_libs@                                     \
514         @GDK_WLIBS@                                     \
515         @PANGO_LIBS@                                    \
516         @GLIB_LIBS@                                     \
517         @GTK_LIBS_EXTRA@                                \
518         -lm                                             \
519 @STRIP_END@
520
521 #
522 # Installed tools
523 #
524 bin_PROGRAMS = gtk-query-immodules-2.0
525
526 gtk_query_immodules_2_0_DEPENDENCIES = $(DEPS)
527 gtk_query_immodules_2_0_LDADD = $(LDADDS)
528
529 gtk_query_immodules_2_0_SOURCES = queryimmodules.c
530
531 .PHONY: files test test-debug
532
533 files:
534         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
535           echo $$p; \
536         done
537
538 EXTRA_DIST += @STRIP_BEGIN@     \
539         oldest-source-stamp     \
540         line-arrow.xbm          \
541         line-wrap.xbm           \
542         tree_plus.xbm           \
543         tree_minus.xbm          \
544         tree_minus.xpm          \
545         tree_plus.xpm           \
546         gtk.def                 \
547         gtk-win32.rc            \
548         gtk-win32.rc.in         \
549         makefile.mingw          \
550         makefile.mingw.in       \
551         makefile.msc            \
552         makefile.msc.in         \
553 @STRIP_END@
554
555 install-data-local:
556