]> Pileus Git - ~andy/gtk/blob - gtk/Makefile.am
7acd46b70a110e60f39ad150e714765e011b0f00
[~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/gdktypes.h \
252         ../gdk/gdkrgb.h
253
254 # generate gtk.defs file from gtk-boxed.defs and *.h
255 gtk.defs: @REBUILD@ s-gd
256         @:
257 s-gd: @REBUILD@ makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers)
258         cd $(srcdir) \
259         && $(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) > s-gd \
260         && cat gtk-boxed.defs >> s-gd \
261         && (cmp -s s-gd gtk.defs || cp s-gd gtk.defs)
262
263 # generate type identifier header (GTK_TYPE_WIDGET_FLAGS)
264 gtktypebuiltins.h: @REBUILD@ s-gtb
265         @:
266 s-gtb: @REBUILD@ s-gd maketypes.awk
267         cd $(srcdir) \
268         && $(AWK) -f maketypes.awk gtk.defs macros > s-gtb \
269         && (cmp -s s-gtb gtktypebuiltins.h || cp s-gtb gtktypebuiltins.h)
270
271 # generate type identifier variables (GTK_TYPE_WIDGET_FLAGS)
272 gtktypebuiltins_vars.c: @REBUILD@ s-gtbv
273         @:
274 s-gtbv: @REBUILD@ s-gd maketypes.awk
275         cd $(srcdir) \
276         && $(AWK) -f maketypes.awk gtk.defs variables > s-gtbv \
277         && (cmp -s s-gtbv gtktypebuiltins_vars.c || cp s-gtbv gtktypebuiltins_vars.c)
278
279 # generate type entries for type-id registration
280 gtktypebuiltins_ids.c: @REBUILD@ s-gtbi
281         @:
282 s-gtbi: @REBUILD@ s-gd maketypes.awk
283         cd $(srcdir) \
284         && $(AWK) -f maketypes.awk gtk.defs entries > s-gtbi \
285         && (cmp -s s-gtbi gtktypebuiltins_ids.c || cp s-gtbi gtktypebuiltins_ids.c)
286
287 # generate enum value arrays
288 gtktypebuiltins_evals.c: @REBUILD@ s-gtbe 
289         @:
290 s-gtbe: @REBUILD@ makeenums.pl s-gd
291         cd $(srcdir) \
292         && $(PERL) makeenums.pl arrays $(source_headers) $(gdk_headers) > \
293         s-gtbe \
294         && (cmp -s s-gtbe gtktypebuiltins_evals.c || cp s-gtbe gtktypebuiltins_evals.c)
295
296 $(srcdir)/gtkmarshal.c $(srcdir)/gtkmarshal.h: @REBUILD@ stamp-m
297         @:
298 stamp-m: @REBUILD@ $(srcdir)/gtkmarshal.list $(srcdir)/genmarshal.pl
299         (srcdir=$(srcdir) INDENT=$(INDENT) $(PERL) $(srcdir)/genmarshal.pl \
300         && (cmp -s s-gmc gtkmarshal.c || mv s-gmc gtkmarshal.c) \
301         && rm -f s-gmc \
302         && (cmp -s s-gmh gtkmarshal.h || mv s-gmh gtkmarshal.h) \
303         && rm -f s-gmh) \
304         && echo timestamp > stamp-m
305
306 libgtk_la_LDFLAGS = \
307         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
308         -release $(LT_RELEASE)                                  \
309         @GLIB_DEPLIBS@                                          \
310         @x_ldflags@                                             \
311         @x_libs@                                                \
312         @GTK_LIBS_EXTRA@                                        \
313         -lm
314 #       $(top_builddir)/gdk/libgdk.la
315
316 gtkconfdir = $(sysconfdir)/gtk
317 gtkconf_DATA = gtkrc gtkrc.el gtkrc.eo gtkrc.he gtkrc.hy gtkrc.ja \
318         gtkrc.ko gtkrc.ru gtkrc.tr gtkrc.th gtkrc.uk \
319         gtkrc.iso88592 gtkrc.iso88595 gtkrc.zh_CN gtkrc.zh_TW.Big5 \
320         gtkrc.ka_GE.georgianacademy gtkrc.ka_GE.georgianps \
321         gtkrc.vi_VN.tcvn gtkrc.vi_VN.viscii
322
323 gtkrc:
324         :
325
326 # We create a dummy theme for the default GTK+ theme
327
328 install-data-local:
329         $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk
330         echo "# Empty gtkrc for default theme" > \
331             $(DESTDIR)$(datadir)/themes/Default/gtk/gtkrc
332         cd $(DESTDIR)$(gtkconfdir) ; \
333             $(LN_S) gtkrc.iso88592 gtkrc.cs ; \
334             $(LN_S) gtkrc.iso88592 gtkrc.hr ; \
335             $(LN_S) gtkrc.iso88592 gtkrc.hu ; \
336             $(LN_S) gtkrc.iso88592 gtkrc.pl ; \
337             $(LN_S) gtkrc.iso88592 gtkrc.ro ; \
338             $(LN_S) gtkrc.iso88592 gtkrc.sk ; \
339             $(LN_S) gtkrc.iso88592 gtkrc.sl ; \
340             $(LN_S) gtkrc.iso88592 gtkrc.sq ; \
341             $(LN_S) gtkrc.iso88592 gtkrc.sr_YU.iso88592 ; \
342             $(LN_S) gtkrc.iso88595 gtkrc.bg ; \
343             $(LN_S) gtkrc.iso88595 gtkrc.mk ; \
344             $(LN_S) gtkrc.iso88595 gtkrc.sr ; \
345             $(LN_S) gtkrc.iso88595 gtkrc.ru_RU.iso88595 ; \
346             $(LN_S) gtkrc.ka_GE.georgianacademy gtkrc.ka ; \
347             $(LN_S) gtkrc.vi_VN.viscii gtkrc.vi_VN.viscii111 ; \
348             $(LN_S) gtkrc.vi_VN.tcvn gtkrc.vi_VN.tcvn5712 ; \
349             $(LN_S) gtkrc.vi_VN.tcvn5712 gtkrc.vi
350
351
352 uninstall-local:
353         rm -f $(DESTDIR)$(datadir)/themes/Default/gtkrc
354
355 EXTRA_DIST = \
356         $(gtkconf_DATA)         \
357         line-arrow.xbm          \
358         line-wrap.xbm           \
359         testgtk.1               \
360         testgtkrc               \
361         testgtkrc2              \
362         gtkcompat.h.in          \
363         makeenums.pl            \
364         makeenums.awk           \
365         maketypes.awk           \
366         makeenums.h             \
367         gtkargcollector.c       \
368         gtktypebuiltins_vars.c  \
369         gtktypebuiltins_ids.c   \
370         gtktypebuiltins_evals.c \
371         gtk-boxed.defs          \
372         gtk.defs                \
373         genmarshal.pl           \
374         gtkmarshal.list         \
375         check-y.xpm             \
376         check-n.xpm             \
377         test.xpm                \
378         marble.xpm              \
379         3DRings.xpm             \
380         FilesQueue.xpm          \
381         Modeller.xpm            \
382         tree_plus.xpm           \
383         tree_minus.xpm          \
384         tree_plus.xbm           \
385         tree_minus.xbm          \
386         circles.xbm             \
387         gtk.def                 \
388         makefile.msc
389
390 INCLUDES = \
391         -DGTK_DISABLE_COMPAT_H                          \
392         -DG_LOG_DOMAIN=\"Gtk\"                          \
393         -DGTK_EXE_PREFIX=\"$(exec_prefix)\"             \
394         -DGTK_DATA_PREFIX=\"$(prefix)\"                 \
395         -DGTK_SYSCONFDIR=\"$(sysconfdir)\"              \
396         -DGTK_LOCALEDIR=\"$(gtklocaledir)\"             \
397         -I$(top_srcdir) -I../gdk                        \
398         -I$(top_srcdir)/gdk                             \
399         @GTK_DEBUG_FLAGS@                               \
400         @GTK_XIM_FLAGS@                                 \
401         @GTK_LOCALE_FLAGS@                              \
402         @GLIB_CFLAGS@                                   \
403         @x_cflags@
404
405 noinst_PROGRAMS = testgtk testinput testselection testrgb testdnd simple 
406 # testthreads
407
408 DEPS =  \
409         libgtk.la                                       \
410         $(top_builddir)/gdk/libgdk.la
411
412 LDADDS = \
413         libgtk.la                                       \
414         $(top_builddir)/gdk/libgdk.la                   \
415         @x_ldflags@                                     \
416         @x_libs@                                        \
417         @GLIB_LIBS@                                     \
418         -lm
419
420 testgtk_DEPENDENCIES = $(DEPS)
421 testinput_DEPENDENCIES = $(DEPS)
422 #testthreads_DEPENDENCIES = $(DEPS)
423 testselection_DEPENDENCIES = $(DEPS)
424 testrgb_DEPENDENCIES = $(DEPS)
425 testdnd_DEPENDENCIES = $(DEPS)
426 simple_DEPENDENCIES = $(DEPS)
427
428 testgtk_LDADD = $(LDADDS)
429 testinput_LDADD = $(LDADDS)
430 #testthreads_LDADD = $(LDADDS)
431 testselection_LDADD = $(LDADDS)
432 testrgb_LDADD = $(LDADDS)
433 testdnd_LDADD = $(LDADDS)
434 simple_LDADD = $(LDADDS)
435
436 .PHONY: files test test-debug
437
438 files:
439         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
440           echo $$p; \
441         done
442
443 test: testgtk
444         builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
445         cd $$builddir; cd $(srcdir); \
446         $(SHELL) $$top_builddir/libtool --mode=execute $$builddir/testgtk
447
448 test-debug: testgtk
449         builddir=`pwd`; cd $(top_builddir); top_builddir=`pwd`; \
450         cd $$builddir; cd $(srcdir); \
451         $(SHELL) $$top_builddir/libtool --mode=execute gdb $$builddir/testgtk
452