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