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