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