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