]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
gtk/genmarshal.pl check for unchanged autogenerated files, so we don't
[~andy/gtk] / gtk / Makefile.am
1 ### Process this file with automake to produce Makefile.in
2
3 gtkincludedir = $(includedir)/gtk
4 DEFS += -DG_LOG_DOMAIN=\"Gtk\"
5
6 lib_LTLIBRARIES = libgtk.la
7
8 static_sources = \
9         gtkaccelgroup.c         \
10         gtkaccellabel.c         \
11         gtkadjustment.c         \
12         gtkalignment.c          \
13         gtkarg.c                \
14         gtkarrow.c              \
15         gtkaspectframe.c        \
16         gtkbin.c                \
17         gtkbindings.c           \
18         gtkbbox.c               \
19         gtkbox.c                \
20         gtkbutton.c             \
21         gtkcalendar.c           \
22         gtkcheckbutton.c        \
23         gtkcheckmenuitem.c      \
24         gtkclist.c              \
25         gtkcolorsel.c           \
26         gtkcombo.c              \
27         gtkcontainer.c          \
28         gtkctree.c              \
29         gtkcurve.c              \
30         gtkdata.c               \
31         gtkdialog.c             \
32         gtkdnd.c                \
33         gtkdrawingarea.c        \
34         gtkdrawwindow.c         \
35         gtkeditable.c           \
36         gtkentry.c              \
37         gtkeventbox.c           \
38         gtkfilesel.c            \
39         gtkfixed.c              \
40         gtkfontsel.c            \
41         gtkframe.c              \
42         gtkgamma.c              \
43         gtkgc.c                 \
44         gtkhandlebox.c          \
45         gtkhbbox.c              \
46         gtkhbox.c               \
47         gtkhpaned.c             \
48         gtkhruler.c             \
49         gtkhscale.c             \
50         gtkhscrollbar.c         \
51         gtkhseparator.c         \
52         gtkimage.c              \
53         gtkinputdialog.c        \
54         gtkinvisible.c          \
55         gtkitem.c               \
56         gtkitemfactory.c        \
57         gtklabel.c              \
58         gtklist.c               \
59         gtklistitem.c           \
60         gtkmain.c               \
61         gtkmenu.c               \
62         gtkmenubar.c            \
63         gtkmenufactory.c        \
64         gtkmenuitem.c           \
65         gtkmenushell.c          \
66         gtkmisc.c               \
67         gtknotebook.c           \
68         gtkobject.c             \
69         gtkoptionmenu.c         \
70         gtkpacker.c             \
71         gtkpaned.c              \
72         gtkpixmap.c             \
73         gtkpreview.c            \
74         gtkprogress.c           \
75         gtkprogressbar.c        \
76         gtkradiobutton.c        \
77         gtkradiomenuitem.c      \
78         gtkrange.c              \
79         gtkrc.c                 \
80         gtkruler.c              \
81         gtkscale.c              \
82         gtkscrollbar.c          \
83         gtkscrolledwindow.c     \
84         gtkselection.c          \
85         gtkseparator.c          \
86         gtksignal.c             \
87         gtkspinbutton.c         \
88         gtkstyle.c              \
89         gtkstatusbar.c          \
90         gtktable.c              \
91         gtktearoffmenuitem.c    \
92         gtktext.c               \
93         gtkthemes.c             \
94         gtktipsquery.c          \
95         gtktogglebutton.c       \
96         gtktoolbar.c            \
97         gtktooltips.c           \
98         gtktree.c               \
99         gtktreeitem.c           \
100         gtktypeutils.c          \
101         gtkvbbox.c              \
102         gtkvbox.c               \
103         gtkviewport.c           \
104         gtkvpaned.c             \
105         gtkvruler.c             \
106         gtkvscale.c             \
107         gtkvscrollbar.c         \
108         gtkvseparator.c         \
109         gtkwidget.c             \
110         gtkwindow.c             \
111         fnmatch.c               \
112         fnmatch.h
113
114 libgtk_la_SOURCES = \
115         $(static_sources)       \
116         gtkmarshal.c
117
118 # Source headers are are non-autogenerated headers
119 source_headers = \
120         gtk.h                   \
121         gtkaccelgroup.h         \
122         gtkaccellabel.h         \
123         gtkadjustment.h         \
124         gtkalignment.h          \
125         gtkarg.h                \
126         gtkarrow.h              \
127         gtkaspectframe.h        \
128         gtkbin.h                \
129         gtkbindings.h           \
130         gtkbbox.h               \
131         gtkbox.h                \
132         gtkbutton.h             \
133         gtkcalendar.h           \
134         gtkcheckbutton.h        \
135         gtkcheckmenuitem.h      \
136         gtkclist.h              \
137         gtkcolorsel.h           \
138         gtkcombo.h              \
139         gtkcontainer.h          \
140         gtkctree.h              \
141         gtkcurve.h              \
142         gtkdata.h               \
143         gtkdebug.h              \
144         gtkdialog.h             \
145         gtkdnd.h                \
146         gtkdrawingarea.h        \
147         gtkdrawwindow.h         \
148         gtkeditable.h           \
149         gtkentry.h              \
150         gtkenums.h              \
151         gtkeventbox.h           \
152         gtkfilesel.h            \
153         gtkfixed.h              \
154         gtkfontsel.h            \
155         gtkframe.h              \
156         gtkgamma.h              \
157         gtkgc.h                 \
158         gtkhandlebox.h          \
159         gtkhbbox.h              \
160         gtkhbox.h               \
161         gtkhpaned.h             \
162         gtkhruler.h             \
163         gtkhscale.h             \
164         gtkhscrollbar.h         \
165         gtkhseparator.h         \
166         gtkimage.h              \
167         gtkinputdialog.h        \
168         gtkinvisible.h          \
169         gtkitem.h               \
170         gtkitemfactory.h        \
171         gtklabel.h              \
172         gtklist.h               \
173         gtklistitem.h           \
174         gtkmain.h               \
175         gtkmenu.h               \
176         gtkmenubar.h            \
177         gtkmenufactory.h        \
178         gtkmenuitem.h           \
179         gtkmenushell.h          \
180         gtkmisc.h               \
181         gtknotebook.h           \
182         gtkobject.h             \
183         gtkoptionmenu.h         \
184         gtkpacker.h             \
185         gtkpaned.h              \
186         gtkpixmap.h             \
187         gtkpreview.h            \
188         gtkprivate.h            \
189         gtkprogress.h           \
190         gtkprogressbar.h        \
191         gtkradiobutton.h        \
192         gtkradiomenuitem.h      \
193         gtkrange.h              \
194         gtkrc.h                 \
195         gtkruler.h              \
196         gtkscale.h              \
197         gtkscrollbar.h          \
198         gtkscrolledwindow.h     \
199         gtkselection.h          \
200         gtkseparator.h          \
201         gtksignal.h             \
202         gtkspinbutton.h         \
203         gtkstyle.h              \
204         gtkstatusbar.h          \
205         gtktable.h              \
206         gtktearoffmenuitem.h    \
207         gtktext.h               \
208         gtkthemes.h             \
209         gtktipsquery.h          \
210         gtktogglebutton.h       \
211         gtktoolbar.h            \
212         gtktooltips.h           \
213         gtktree.h               \
214         gtktreeitem.h           \
215         gtktypeutils.h          \
216         gtkvbbox.h              \
217         gtkvbox.h               \
218         gtkviewport.h           \
219         gtkvpaned.h             \
220         gtkvruler.h             \
221         gtkvscale.h             \
222         gtkvscrollbar.h         \
223         gtkvseparator.h         \
224         gtkwidget.h             \
225         gtkwindow.h
226
227 gtkinclude_HEADERS =            \
228         $(source_headers)       \
229         gtkfeatures.h           \
230         gtkmarshal.h            \
231         gtktypebuiltins.h
232
233 # note gtk.defs and gtkmarshal.[ch] aren't here, but their stamps are
234 BUILT_SOURCES = \
235         stamp-d                         \
236         stamp-m                         \
237         gtktypebuiltins.h               \
238         gtktypebuiltins_evals.c         \
239         gtktypebuiltins_ids.c           \
240         gtktypebuiltins_vars.c
241
242 # cause the built sources to be rebuild when possible, even with --include-deps
243 $(static_sources): $(BUILT_SOURCES)
244
245 # More headers to use when autogenerating.
246 gdk_headers = \
247         ../gdk/gdktypes.h \
248         ../gdk/gdkrgb.h
249
250 # generate gtk.defs file from gtk-boxed.defs and *.h
251 gtk.defs: @REBUILD@ stamp-d
252         @:
253 stamp-d: @REBUILD@ makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers)
254         cd $(srcdir) \
255         && $(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) > s-gd \
256         && cat gtk-boxed.defs >> s-gd \
257         && (cmp -s s-gd gtk.defs || mv s-gd gtk.defs) && rm -f s-gd \
258         && echo timestamp > stamp-d
259
260 # generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
261 gtktypebuiltins.h: @REBUILD@ gtk.defs maketypes.awk
262         cd $(srcdir) \
263         && $(AWK) -f maketypes.awk gtk.defs macros > s-gtb \
264         && mv s-gtb gtktypebuiltins.h
265
266 # generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
267 gtktypebuiltins_vars.c: @REBUILD@ gtk.defs maketypes.awk
268         cd $(srcdir) \
269         && $(AWK) -f maketypes.awk gtk.defs variables > s-gtbv \
270         && mv s-gtbv gtktypebuiltins_vars.c
271
272 # generate type entries for type-id registration
273 gtktypebuiltins_ids.c: @REBUILD@ gtk.defs maketypes.awk
274         cd $(srcdir) \
275         && $(AWK) -f maketypes.awk gtk.defs entries > s-gtbi \
276         && mv s-gtbi gtktypebuiltins_ids.c 
277
278 # generate enum value arrays
279 gtktypebuiltins_evals.c: @REBUILD@ makeenums.pl gtk.defs
280         cd $(srcdir) \
281         && $(PERL) makeenums.pl arrays $(source_headers) $(gdk_headers) > \
282         s-gtbe \
283         && mv s-gtbe gtktypebuiltins_evals.c
284
285 gtkmarshal.c gtkmarshal.h: @REBUILD@ stamp-m
286         @:
287 stamp-m: @REBUILD@ gtkmarshal.list genmarshal.pl
288         srcdir=$(srcdir) INDENT=$(INDENT) $(PERL) $(srcdir)/genmarshal.pl \
289         && (cmp -s s-gmc gtkmarshal.c || mv s-gmc gtkmarshal.c) && rm -f s-gmc \
290         && (cmp -s s-gmh gtkmarshal.h || mv s-gmh gtkmarshal.h) && rm -f s-gmh \
291         && echo timestamp > stamp-m
292
293 libgtk_la_LDFLAGS = \
294         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) -release $(LT_RELEASE)
295
296 # We create a dummy theme for the default GTK+ theme
297
298 install-data-local:
299         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
300         echo "# Empty gtkrc for default theme" > \
301             $(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
302
303 uninstall-local:
304         rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
305
306 EXTRA_DIST = \
307         line-arrow.xbm          \
308         line-wrap.xbm           \
309         testgtk.1               \
310         testgtkrc               \
311         testgtkrc2              \
312         gtkfeatures.h.in        \
313         makeenums.pl            \
314         makeenums.awk           \
315         maketypes.awk           \
316         makeenums.h             \
317         gtkargcollector.c       \
318         gtktypebuiltins_vars.c  \
319         gtktypebuiltins_ids.c   \
320         gtktypebuiltins_evals.c \
321         gtk-boxed.defs          \
322         gtk.defs                \
323         genmarshal.pl           \
324         gtkmarshal.list         \
325         test.xpm                \
326         marble.xpm              \
327         3DRings.xpm             \
328         FilesQueue.xpm          \
329         Modeller.xpm            \
330         tree_plus.xpm           \
331         tree_minus.xpm          \
332         tree_plus.xbm           \
333         tree_minus.xbm          \
334         circles.xbm
335
336 INCLUDES = \
337         -DGTK_EXE_PREFIX=\"$(exec_prefix)\"   \
338         -DGTK_DATA_PREFIX=\"$(prefix)\"   \
339         -I$(top_srcdir) @GLIB_CFLAGS@ @x_cflags@
340
341 noinst_PROGRAMS = testgtk testinput testselection testthreads testrgb testdnd simple 
342
343 DEPS =  \
344         libgtk.la                                       \
345         $(top_builddir)/gdk/libgdk.la
346
347 LDADDS = \
348         libgtk.la                                       \
349         $(top_builddir)/gdk/libgdk.la                   \
350         @x_ldflags@                                     \
351         @x_libs@                                        \
352         @GLIB_LIBS@                                     \
353         -lm
354
355 testgtk_DEPENDENCIES = $(DEPS)
356 testinput_DEPENDENCIES = $(DEPS)
357 testthreads_DEPENDENCIES = $(DEPS)
358 testselection_DEPENDENCIES = $(DEPS)
359 testrgb_DEPENDENCIES = $(DEPS)
360 testdnd_DEPENDENCIES = $(DEPS)
361 simple_DEPENDENCIES = $(DEPS)
362
363 testgtk_LDADD = $(LDADDS)
364 testinput_LDADD = $(LDADDS)
365 testthreads_LDADD = $(LDADDS)
366 testselection_LDADD = $(LDADDS)
367 testrgb_LDADD = $(LDADDS)
368 testdnd_LDADD = $(LDADDS)
369 simple_LDADD = $(LDADDS)
370
371 .PHONY: files test test-debug
372
373 files:
374         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
375           echo $$p; \
376         done
377
378 test: testgtk
379         builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
380         cd $$builddir; cd $(srcdir); \
381         $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
382
383 test-debug: testgtk
384         builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
385         cd $$builddir; cd $(srcdir); \
386         $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk