]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
Added rule for Latvian language gtkrc file
[~andy/gtk] / gtk / Makefile.am
1 ## Makefile.am for gtk+/gtk
2
3 INCLUDES = @STRIP_BEGIN@ \
4         -DG_LOG_DOMAIN=\"Gtk\"                          \
5         -DGTK_DISABLE_COMPAT_H                          \
6         -DGTK_EXE_PREFIX=\"$(exec_prefix)\"             \
7         -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
8         -DGTK_SYSCONFDIR=\"$(sysconfdir)\"              \
9         -DGTK_LOCALEDIR=\"$(gtklocaledir)\"             \
10         -I$(top_srcdir) -I../gdk                        \
11         -I$(top_srcdir)/gdk                             \
12         -I$(top_srcdir)/gdk/x11                         \
13         @GTK_DEBUG_FLAGS@                               \
14         @GTK_XIM_FLAGS@                                 \
15         @GTK_LOCALE_FLAGS@                              \
16         @GLIB_CFLAGS@                                   \
17         @x_cflags@                                      \
18 @STRIP_END@
19
20
21 #
22 # libraries to compile and install
23 #
24 lib_LTLIBRARIES = libgtk.la
25
26 # libtool stuff: set version and export symbols for resolving
27 libgtkincludedir = $(includedir)/gtk
28 libgtk_la_LDFLAGS = @STRIP_BEGIN@ \
29         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
30         -release $(LT_RELEASE)                                  \
31         -export-dynamic                                         \
32         @GLIB_DEPLIBS@                                          \
33         @x_ldflags@                                             \
34         @x_libs@                                                \
35         -lm                                                     \
36 @STRIP_END@
37 #       $(top_builddir)/gdk/libgdk.la
38
39
40 #
41 # setup source file variables
42 #
43 # GTK+ header files for public installation (non-generated, or generated
44 # by configure)
45
46 gtk_public_h_sources = @STRIP_BEGIN@ \
47         gtk.h                   \
48         gtkaccelgroup.h         \
49         gtkaccellabel.h         \
50         gtkadjustment.h         \
51         gtkalignment.h          \
52         gtkarg.h                \
53         gtkarrow.h              \
54         gtkaspectframe.h        \
55         gtkbin.h                \
56         gtkbindings.h           \
57         gtkbbox.h               \
58         gtkbox.h                \
59         gtkbutton.h             \
60         gtkcalendar.h           \
61         gtkcheckbutton.h        \
62         gtkcheckmenuitem.h      \
63         gtkclist.h              \
64         gtkcolorsel.h           \
65         gtkcolorseldialog.h     \
66         gtkcombo.h              \
67         gtkcompat.h             \
68         gtkcontainer.h          \
69         gtkctree.h              \
70         gtkcurve.h              \
71         gtkdata.h               \
72         gtkdebug.h              \
73         gtkdialog.h             \
74         gtkdnd.h                \
75         gtkdrawingarea.h        \
76         gtkeditable.h           \
77         gtkentry.h              \
78         gtkenums.h              \
79         gtkeventbox.h           \
80         gtkfeatures.h           \
81         gtkfilesel.h            \
82         gtkfixed.h              \
83         gtkfontsel.h            \
84         gtkframe.h              \
85         gtkgamma.h              \
86         gtkgc.h                 \
87         gtkhandlebox.h          \
88         gtkhbbox.h              \
89         gtkhbox.h               \
90         gtkhpaned.h             \
91         gtkhruler.h             \
92         gtkhscale.h             \
93         gtkhscrollbar.h         \
94         gtkhseparator.h         \
95         gtkhsv.h                \
96         gtkimage.h              \
97         gtkinputdialog.h        \
98         gtkinvisible.h          \
99         gtkitem.h               \
100         gtkitemfactory.h        \
101         gtklabel.h              \
102         gtklayout.h             \
103         gtklist.h               \
104         gtklistitem.h           \
105         gtkmain.h               \
106         gtkmenu.h               \
107         gtkmenubar.h            \
108         gtkmenufactory.h        \
109         gtkmenuitem.h           \
110         gtkmenushell.h          \
111         gtkmisc.h               \
112         gtknotebook.h           \
113         gtkobject.h             \
114         gtkoptionmenu.h         \
115         gtkpacker.h             \
116         gtkpaned.h              \
117         gtkpixmap.h             \
118         gtkplug.h               \
119         gtkpreview.h            \
120         gtkprivate.h            \
121         gtkprogress.h           \
122         gtkprogressbar.h        \
123         gtkradiobutton.h        \
124         gtkradiomenuitem.h      \
125         gtkrange.h              \
126         gtkrc.h                 \
127         gtkruler.h              \
128         gtkscale.h              \
129         gtkscrollbar.h          \
130         gtkscrolledwindow.h     \
131         gtkselection.h          \
132         gtkseparator.h          \
133         gtksignal.h             \
134         gtksocket.h             \
135         gtkspinbutton.h         \
136         gtkstyle.h              \
137         gtkstatusbar.h          \
138         gtktable.h              \
139         gtktearoffmenuitem.h    \
140         gtktext.h               \
141         gtkthemes.h             \
142         gtktipsquery.h          \
143         gtktogglebutton.h       \
144         gtktoolbar.h            \
145         gtktooltips.h           \
146         gtktree.h               \
147         gtktreeitem.h           \
148         gtktypeutils.h          \
149         gtkvbbox.h              \
150         gtkvbox.h               \
151         gtkviewport.h           \
152         gtkvpaned.h             \
153         gtkvruler.h             \
154         gtkvscale.h             \
155         gtkvscrollbar.h         \
156         gtkvseparator.h         \
157         gtkwidget.h             \
158         gtkwindow.h             \
159 @STRIP_END@
160 # GTK+ header files that don't get installed
161 gtk_private_h_sources = @STRIP_BEGIN@ \
162 @STRIP_END@
163 # GTK+ C sources to build the library from
164 gtk_c_sources = @STRIP_BEGIN@ \
165         gtkaccelgroup.c         \
166         gtkaccellabel.c         \
167         gtkadjustment.c         \
168         gtkalignment.c          \
169         gtkarg.c                \
170         gtkarrow.c              \
171         gtkaspectframe.c        \
172         gtkbin.c                \
173         gtkbindings.c           \
174         gtkbbox.c               \
175         gtkbox.c                \
176         gtkbutton.c             \
177         gtkcalendar.c           \
178         gtkcheckbutton.c        \
179         gtkcheckmenuitem.c      \
180         gtkclist.c              \
181         gtkcolorsel.c           \
182         gtkcolorseldialog.c     \
183         gtkcombo.c              \
184         gtkcontainer.c          \
185         gtkctree.c              \
186         gtkcurve.c              \
187         gtkdata.c               \
188         gtkdialog.c             \
189         gtkdnd.c                \
190         gtkdrawingarea.c        \
191         gtkeditable.c           \
192         gtkentry.c              \
193         gtkeventbox.c           \
194         gtkfilesel.c            \
195         gtkfixed.c              \
196         gtkfontsel.c            \
197         gtkframe.c              \
198         gtkgamma.c              \
199         gtkgc.c                 \
200         gtkhandlebox.c          \
201         gtkhbbox.c              \
202         gtkhbox.c               \
203         gtkhpaned.c             \
204         gtkhruler.c             \
205         gtkhscale.c             \
206         gtkhscrollbar.c         \
207         gtkhseparator.c         \
208         gtkhsv.c                \
209         gtkimage.c              \
210         gtkinputdialog.c        \
211         gtkintl.h               \
212         gtkinvisible.c          \
213         gtkitem.c               \
214         gtkitemfactory.c        \
215         gtklabel.c              \
216         gtklayout.c             \
217         gtklist.c               \
218         gtklistitem.c           \
219         gtkmain.c               \
220         gtkmarshal.c            \
221         gtkmenu.c               \
222         gtkmenubar.c            \
223         gtkmenufactory.c        \
224         gtkmenuitem.c           \
225         gtkmenushell.c          \
226         gtkmisc.c               \
227         gtknotebook.c           \
228         gtkobject.c             \
229         gtkoptionmenu.c         \
230         gtkpacker.c             \
231         gtkpaned.c              \
232         gtkpixmap.c             \
233         gtkplug.c               \
234         gtkpreview.c            \
235         gtkprogress.c           \
236         gtkprogressbar.c        \
237         gtkradiobutton.c        \
238         gtkradiomenuitem.c      \
239         gtkrange.c              \
240         gtkrc.c                 \
241         gtkruler.c              \
242         gtkscale.c              \
243         gtkscrollbar.c          \
244         gtkscrolledwindow.c     \
245         gtkselection.c          \
246         gtkseparator.c          \
247         gtksignal.c             \
248         gtksocket.c             \
249         gtkspinbutton.c         \
250         gtkstyle.c              \
251         gtkstatusbar.c          \
252         gtktable.c              \
253         gtktearoffmenuitem.c    \
254         gtktext.c               \
255         gtkthemes.c             \
256         gtktipsquery.c          \
257         gtktogglebutton.c       \
258         gtktoolbar.c            \
259         gtktooltips.c           \
260         gtktree.c               \
261         gtktreeitem.c           \
262         gtktypeutils.c          \
263         gtkvbbox.c              \
264         gtkvbox.c               \
265         gtkviewport.c           \
266         gtkvpaned.c             \
267         gtkvruler.c             \
268         gtkvscale.c             \
269         gtkvscrollbar.c         \
270         gtkvseparator.c         \
271         gtkwidget.c             \
272         gtkwindow.c             \
273         fnmatch.c               \
274         fnmatch.h               \
275 @STRIP_END@
276 # we use our own built_sources variable rules to avoid automake's
277 # BUILT_SOURCES oddities
278 # we generate frequently rebuild files piggyback on a stamp file, so sources
279 # depending on them only get rebuild when the built source actually changed
280 # content
281 #
282 # built sources that don't get installed
283 gtk_built_sources = @STRIP_BEGIN@ \
284         stamp-gtk.defs          \
285         stamp-gtktypebuiltins.h \
286         stamp-gtkmarshal.h      \
287         gtktypebuiltins_vars.c  \
288         gtktypebuiltins_ids.c   \
289         gtktypebuiltins_evals.c \
290         gtkmarshal.c            \
291         gtk.defs                \
292 @STRIP_END@
293 # built sources that get installed with the header files
294 gtk_built_public_sources = @STRIP_BEGIN@ \
295         gtkcompat.h             \
296         gtkmarshal.h            \
297         gtktypebuiltins.h       \
298 @STRIP_END@
299 # non-header sources (headers should be specified in the above variables)
300 # that don't serve as direct make target sources, i.e. they don't have
301 # their own .lo rules and don't get publically installed
302 gtk_extra_sources = @STRIP_BEGIN@ \
303         gtkcompat.h.in          \
304         makeenums.pl            \
305         makeenums.awk           \
306         maketypes.awk           \
307         makeenums.h             \
308         gtkargcollector.c       \
309         gtk-boxed.defs          \
310         genmarshal.pl           \
311         gtkmarshal.list         \
312 @STRIP_END@
313 # Extra headers that are used for enum type array/id generation
314 gdk_headers = @STRIP_BEGIN@     \
315         ../gdk/gdkcc.h          \
316         ../gdk/gdkcolor.h       \
317         ../gdk/gdkcursor.h      \
318         ../gdk/gdkdnd.h         \
319         ../gdk/gdkdrawable.h    \
320         ../gdk/gdkevents.h      \
321         ../gdk/gdkfont.h        \
322         ../gdk/gdkgc.h          \
323         ../gdk/gdkim.h          \
324         ../gdk/gdkimage.h       \
325         ../gdk/gdkinput.h       \
326         ../gdk/gdkpixmap.h      \
327         ../gdk/gdkproperty.h    \
328         ../gdk/gdkregion.h      \
329         ../gdk/gdkrgb.h         \
330         ../gdk/gdkselection.h   \
331         ../gdk/gdktypes.h       \
332         ../gdk/gdkvisual.h      \
333         ../gdk/gdkwindow.h      \
334 @STRIP_END@
335
336 #
337 # setup GTK+ sources and their dependancies
338 #
339 libgtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_built_public_sources)
340 libgtk_la_SOURCES = $(gtk_c_sources)
341 MAINTAINERCLEANFILES += $(gtk_built_public_sources) $(gtk_built_sources)
342 EXTRA_HEADERS +=
343 EXTRA_DIST += $(gtk_private_h_sources)
344 EXTRA_DIST += $(gtk_built_sources) $(gtk_built_public_sources) $(gtk_extra_sources)
345
346 #
347 # rules to generate built sources
348 #
349 # setup autogeneration dependancies
350 gen_sources = xgen-gdef xgen-gtbh xgen-gtbvc xgen-gtbic xgen-gtbec xgen-gmh xgen-gmc
351 CLEANFILES += $(gen_sources)
352 OLD_STAMP: $(gtk_built_public_sources) $(gtk_built_sources)
353 $(OBJECTS): OLD_STAMP   # this is our oldest-source-stamp
354 # initial creation of the real stamp-* files
355 gtk.defs gtkmarshal.h gtktypebuiltins.h:          # never add deps here
356         test -f "$(srcdir)/$@" || touch $(srcdir)/$@
357 # normal autogeneration rules
358 # all autogenerated files need to generated in the srcdir,
359 # so old versions get remade and are not confused with newer
360 # versions in the build dir. thus a development setup requires
361 # srcdir to be writable, passing --disable-rebuilds to
362 # ../configure will supress all autogeneration rules.
363 $(srcdir)/stamp-gtk.defs: @REBUILD@ makeenums.pl gtk.defs gtk-boxed.defs $(gtk_public_h_sources) $(gdk_headers)
364         cd $(srcdir) \
365         && $(PERL) makeenums.pl defs $(gtk_public_h_sources) $(gdk_headers) > xgen-gdef \
366         && cat gtk-boxed.defs >> xgen-gdef \
367         && (cmp -s xgen-gdef gtk.defs || cp xgen-gdef gtk.defs) \
368         && rm -f xgen-gdef \
369         && echo timestamp > $(@F)
370 $(srcdir)/gtkmarshal.c: stamp-gtkmarshal.h
371 $(srcdir)/gtkmarshal.c $(srcdir)/stamp-gtkmarshal.h: @REBUILD@ genmarshal.pl gtkmarshal.list gtkmarshal.h
372         cd $(srcdir) \
373         && $(PERL) genmarshal.pl gtkmarshal.list xgen-gmh xgen-gmc \
374         && (test -z "$(INDENT)" || $(INDENT) xgen-gmh) \
375         && (test -z "$(INDENT)" || $(INDENT) xgen-gmc) \
376         && cp xgen-gmc gtkmarshal.c \
377         && (cmp -s xgen-gmh gtkmarshal.h || cp xgen-gmh gtkmarshal.h) \
378         && rm -f xgen-gmh xgen-gmc xgen-gmh~ xgen-gmc~ \
379         && echo timestamp > stamp-gtkmarshal.h
380 $(srcdir)/stamp-gtktypebuiltins.h: @REBUILD@ maketypes.awk stamp-gtk.defs gtktypebuiltins.h
381         cd $(srcdir) \
382         && $(AWK) -f maketypes.awk gtk.defs macros > xgen-gtbh \
383         && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h) \
384         && rm -f xgen-gtbh \
385         && echo timestamp > $(@F)
386 $(srcdir)/gtktypebuiltins_vars.c: @REBUILD@ maketypes.awk stamp-gtk.defs
387         cd $(srcdir) \
388         && $(AWK) -f maketypes.awk gtk.defs variables > xgen-gtbvc \
389         && cp xgen-gtbvc $(@F) \
390         && rm -f xgen-gtbvc
391 $(srcdir)/gtktypebuiltins_ids.c: @REBUILD@ maketypes.awk stamp-gtk.defs
392         cd $(srcdir) \
393         && $(AWK) -f maketypes.awk gtk.defs entries > xgen-gtbic \
394         && cp xgen-gtbic $(@F) \
395         && rm -f xgen-gtbic
396 $(srcdir)/gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl $(gtk_public_h_sources) $(gdk_headers)
397         cd $(srcdir) \
398         && $(PERL) makeenums.pl arrays $(gtk_public_h_sources) $(gdk_headers) > xgen-gtbec \
399         && cp xgen-gtbec $(@F) \
400         && rm -f xgen-gtbec
401
402
403 gtkconfdir = $(sysconfdir)/gtk
404 gtkconf_DATA = gtkrc.bg gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
405         gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk gtkrc.iso-8859-2 \
406         gtkrc.iso-8859-5 gtkrc.iso-8859-13 gtkrc.iso-8859-14 \
407         gtkrc.iso-8859-15 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
408         gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
409         gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii
410
411 # We create a dummy theme for the default GTK+ theme
412 install-data-local:
413         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
414         echo "# Empty gtkrc for default theme" > \
415             $(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
416         $(mkinstalldirs) $(DESTDIR)$(gtkconfdir)
417         cd $(DESTDIR)$(gtkconfdir) && \
418           for i in cs hr hu pl ro sk sl sq ; do \
419             rm -f gtkrc.$$i ; \
420             ln -s gtkrc.iso-8859-2 gtkrc.$$i ; \
421           done ; \
422           for i in bg_BG.iso88595 mk sr ru_RU.iso88595 ; do \
423             rm -f gtkrc.$$i ; \
424             ln -s gtkrc.iso-8859-5 gtkrc.$$i ; \
425           done ; \
426         rm -f gtkrc.lt gtkrc.lv gtkrc.cy gtkrc.ga gtkrc.et gtkrc.ka \
427              gtkrc.vi_VN.viscii111 gtkrc.vi_VN.tcvn5712 gtkrc.vi ; \
428         ln -s gtkrc.iso-8859-13 gtkrc.lt ; \
429         ln -s gtkrc.iso-8859-13 gtkrc.lv ; \
430         ln -s gtkrc.iso-8859-14 gtkrc.cy ; \
431         ln -s gtkrc.iso-8859-14 gtkrc.ga ; \
432         ln -s gtkrc.iso-8859-15 gtkrc.et ; \
433         ln -s gtkrc.ka_GE.georgianacademy gtkrc.ka ; \
434         ln -s gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
435         ln -s gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \
436         ln -s gtkrc.vi_VN.tcvn5712 gtkrc.vi 
437
438 uninstall-local:
439         rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
440
441 #
442 # test programs, not to be installed
443 #
444 noinst_PROGRAMS = testgtk testinput testselection testrgb testdnd simple # testthreads
445 DEPS = libgtk.la $(top_builddir)/gdk/libgdk.la
446 LDADDS = @STRIP_BEGIN@ \
447         libgtk.la                       \
448         $(top_builddir)/gdk/libgdk.la   \
449         @x_ldflags@                     \
450         @x_libs@                        \
451         @GDK_WLIBS@                     \
452         @GLIB_LIBS@                     \
453         @GTK_LIBS_EXTRA@                \
454         -lm                             \
455 @STRIP_END@
456 testgtk_DEPENDENCIES = $(DEPS)
457 testinput_DEPENDENCIES = $(DEPS)
458 testselection_DEPENDENCIES = $(DEPS)
459 testrgb_DEPENDENCIES = $(DEPS)
460 testdnd_DEPENDENCIES = $(DEPS)
461 simple_DEPENDENCIES = $(DEPS)
462 #testthreads_DEPENDENCIES = $(DEPS)
463 testgtk_LDADD = $(LDADDS)
464 testinput_LDADD = $(LDADDS)
465 testselection_LDADD = $(LDADDS)
466 testrgb_LDADD = $(LDADDS)
467 testdnd_LDADD = $(LDADDS)
468 simple_LDADD = $(LDADDS)
469 #testthreads_LDADD = $(LDADDS)
470
471 .PHONY: files test test-debug
472
473 files:
474         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
475           echo $$p; \
476         done
477
478 test: testgtk
479         builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
480         cd $$builddir; cd $(srcdir); \
481         $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
482
483 test-debug: testgtk
484         builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
485         cd $$builddir; cd $(srcdir); \
486         $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
487
488 EXTRA_DIST += @STRIP_BEGIN@     \
489         OLD_STAMP               \
490         testgtk.1               \
491         testgtkrc               \
492         testgtkrc2              \
493         circles.xbm             \
494         line-arrow.xbm          \
495         line-wrap.xbm           \
496         tree_plus.xbm           \
497         tree_minus.xbm          \
498         3DRings.xpm             \
499         FilesQueue.xpm          \
500         Modeller.xpm            \
501         check-y.xpm             \
502         check-n.xpm             \
503         marble.xpm              \
504         tree_minus.xpm          \
505         tree_plus.xpm           \
506         test.xpm                \
507         check-y.xpm             \
508         check-n.xpm             \
509         test.xpm                \
510         gtk.def                 \
511         makefile.msc            \
512         $(gtkconf_DATA)         \
513 @STRIP_END@