]> Pileus Git - ~andy/gtk/blob - gdk/Makefile.am
Re-add accidentially removed gtkintl header
[~andy/gtk] / gdk / Makefile.am
1 ## Makefile.am for gtk+/gdk
2 include $(top_srcdir)/Makefile.decl
3
4 SUBDIRS = $(gdktarget) . tests
5 DIST_SUBDIRS = win32 x11 quartz directfb tests
6
7 CLEANFILES =
8
9 EXTRA_DIST +=                   \
10         keynames.txt            \
11         keyname-table.h         \
12         gen-keyname-table.pl    \
13         gdkconfig.h.win32       \
14         gdkkeysyms-update.pl    \
15         gdk.def                 \
16         gdkmarshalers.list      \
17         gdkmedialib.h           \
18         gdkwindowimpl.h         \
19         makeenums.pl            \
20         makefile.msc            \
21         gdk.symbols             \
22         makegdkalias.pl         \
23         gdkenumtypes.c.template \
24         gdkenumtypes.h.template \
25         abicheck.sh             \
26         pltcheck.sh
27
28 INCLUDES =                              \
29         -DG_LOG_DOMAIN=\"Gdk\"          \
30         -DGDK_COMPILATION               \
31         -I$(top_srcdir)                 \
32         -I$(top_builddir)/gdk           \
33         -I$(top_srcdir)/gdk-pixbuf      \
34         $(GTK_DEBUG_FLAGS)              \
35         $(GDK_DEP_CFLAGS)
36
37 gtarget=$(gdktarget)
38
39 if PLATFORM_WIN32
40 no_undefined = -no-undefined
41 endif
42
43 # libtool stuff: set version and export symbols for resolving
44 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
45 # we use the general approach here
46 LDADD = \
47         -version-info $(LT_VERSION_INFO)                                \
48         -export-dynamic                                                 \
49         -rpath $(libdir)                                                \
50         $(no_undefined)                                                 \
51         $(LIBTOOL_EXPORT_OPTIONS)
52
53 if USE_MEDIALIB
54 medialib_sources =  \
55     gdkmedialib.c
56 else
57 medialib_sources =
58 endif
59
60 #
61 # setup source file variables
62 #
63 #
64 # GDK header files for public installation (non-generated)
65 #
66 gdk_public_h_sources =                          \
67         gdk.h                                   \
68         gdkapplaunchcontext.h                   \
69         gdkcairo.h                              \
70         gdkcolor.h                              \
71         gdkcursor.h                             \
72         gdkdisplay.h                            \
73         gdkdisplaymanager.h                     \
74         gdkdnd.h                                \
75         gdkdrawable.h                           \
76         gdkevents.h                             \
77         gdkfont.h                               \
78         gdkgc.h                                 \
79         gdki18n.h                               \
80         gdkimage.h                              \
81         gdkinput.h                              \
82         gdkkeys.h                               \
83         gdkkeysyms.h                            \
84         gdkpango.h                              \
85         gdkpixbuf.h                             \
86         gdkpixmap.h                             \
87         gdkprivate.h                            \
88         gdkproperty.h                           \
89         gdkregion.h                             \
90         gdkrgb.h                                \
91         gdkscreen.h                             \
92         gdkselection.h                          \
93         gdkspawn.h                              \
94         gdktestutils.h                          \
95         gdktypes.h                              \
96         gdkvisual.h                             \
97         gdkwindow.h
98
99 gdk_built_public_sources =                      \
100         gdkenumtypes.h
101
102 gdk_built_private_headers =                     \
103         gdkalias.h
104
105 gdk_private_headers =   \
106         gdkinternals.h \
107         gdkintl.h \
108     gdkpoly-generic.h   \
109         gdkregion-generic.h
110
111 gdk_c_sources =                 \
112         $(medialib_sources)     \
113         gdk.c                   \
114         gdkapplaunchcontext.c   \
115         gdkcairo.c              \
116         gdkcolor.c              \
117         gdkcursor.c             \
118         gdkdisplay.c            \
119         gdkdisplaymanager.c     \
120         gdkdnd.c                \
121         gdkdraw.c               \
122         gdkevents.c             \
123         gdkfont.c               \
124         gdkgc.c                 \
125         gdkglobals.c            \
126         gdkimage.c              \
127         gdkkeys.c               \
128         gdkkeyuni.c             \
129         gdkoffscreenwindow.c    \
130         gdkpango.c              \
131         gdkpixbuf-drawable.c    \
132         gdkpixbuf-render.c      \
133         gdkpixmap.c             \
134         gdkpolyreg-generic.c    \
135         gdkrectangle.c          \
136         gdkregion-generic.c     \
137         gdkrgb.c                \
138         gdkscreen.c             \
139         gdkselection.c          \
140         gdkvisual.c             \
141         gdkwindow.c             \
142         gdkwindowimpl.c
143
144 gdk_built_sources =                             \
145         gdkaliasdef.c                           \
146         gdkenumtypes.c                          \
147         gdkmarshalers.h                         \
148         gdkmarshalers.c                         \
149         $(gdk_built_public_sources)             \
150         $(gdk_built_private_headers)
151
152 #
153 # setup GDK sources and their dependencies
154 #
155
156 gdkincludedir = $(includedir)/gtk-2.0/gdk
157 gdkinclude_HEADERS = $(gdk_public_h_sources) $(gdk_built_public_sources)
158
159 common_sources =                \
160         $(gdk_private_headers)      \
161     $(gdk_c_sources)    \
162         gdkenumtypes.c          \
163         gdkmarshalers.c         \
164         gdkmarshalers.h
165
166 libgdk_directfb_2_0_la_SOURCES = $(common_sources) 
167 libgdk_directfb_2_0_la_LIBADD = directfb/libgdk-directfb.la $(GDK_DEP_LIBS) \
168   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
169 libgdk_directfb_2_0_la_LDFLAGS = $(LDADD)
170
171 libgdk_x11_2_0_la_SOURCES = $(common_sources)
172 libgdk_x11_2_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) \
173   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
174 libgdk_x11_2_0_la_LDFLAGS = $(LDADD)
175
176 libgdk_quartz_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
177 libgdk_quartz_2_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS) \
178   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
179 libgdk_quartz_2_0_la_LDFLAGS = $(LDADD)
180
181 libgdk_win32_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
182 libgdk_win32_2_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS) \
183   $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
184 libgdk_win32_2_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def
185 libgdk_win32_2_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def $(LDADD)
186
187 if HAVE_INTROSPECTION
188 BUILT_GIRSOURCES =
189
190 Gdk-2.0.gir: $(INTROSPECTION_SCANNER) $(gdktargetlib) Makefile
191         $(INTROSPECTION_SCANNER) -v \
192                 --namespace Gdk --nsversion=2.0 --strip-prefix=Gdk \
193                 $(INCLUDES) \
194                 --include=Gio-2.0 \
195                 --add-include-path=../gdk-pixbuf \
196                 --include=GdkPixbuf-2.0 \
197                 --include=Pango-1.0 \
198                 --library=$(gdktargetlib) \
199                 --libtool="$(LIBTOOL)" \
200                 --output $@ \
201                 $(gdk_public_h_sources) \
202                 $(gdk_c_sources) gdkenumtypes.c gdkenumtypes.h
203 BUILT_GIRSOURCES += Gdk-2.0.gir
204
205 girdir = $(datadir)/gir-1.0
206 gir_DATA = $(BUILT_GIRSOURCES)
207
208 typelibsdir = $(libdir)/girepository-1.0/
209
210 typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
211
212 %.typelib: %.gir $(INTROSPECTION_COMPILER)
213         $(INTROSPECTION_COMPILER) --includedir=$(srcdir) --includedir=. --includedir=../gdk-pixbuf $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
214
215 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
216 endif
217
218 if OS_WIN32
219 install-def-file: gdk.def
220         $(INSTALL) $(srcdir)/gdk.def $(DESTDIR)$(libdir)/gdk-win32-2.0.def
221 uninstall-def-file:
222         -rm $(DESTDIR)$(libdir)/gdk-win32-2.0.def
223 else
224 install-def-file:
225 uninstall-def-file:
226 endif
227
228 if MS_LIB_AVAILABLE
229 noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib
230
231 gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la gdk.def
232         lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgdk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
233
234 install-ms-lib:
235         $(INSTALL) gdk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
236
237 uninstall-ms-lib:
238         -rm $(DESTDIR)$(libdir)/gdk-win32-$(GTK_API_VERSION).lib
239 else
240 install-ms-lib:
241 uninstall-ms-lib:
242 endif
243
244 # This places the generated .def file in srcdir, since it is expected to be there.
245 # (The one from a tarball is)
246 gdk.def: gdk.symbols
247         (echo -e EXPORTS; $(CPP) -P -DALL_FILES -DGDK_WINDOWING_WIN32 -DINCLUDE_VARIABLES - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/   /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gdk.def
248
249 gdkalias.h: gdk.symbols
250          $(PERL) $(srcdir)/makegdkalias.pl < $(srcdir)/gdk.symbols > gdkalias.h
251
252 gdkaliasdef.c: gdk.symbols
253          $(PERL) $(srcdir)/makegdkalias.pl -def < $(srcdir)/gdk.symbols > gdkaliasdef.c
254
255 if OS_LINUX
256 TESTS = abicheck.sh pltcheck.sh
257 endif
258
259
260 lib_LTLIBRARIES = $(gdktargetlib)
261
262 EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-win32-2.0.la libgdk-quartz-2.0.la libgdk-directfb-2.0.la
263
264 MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h
265 EXTRA_DIST += $(gdk_built_sources)
266 EXTRA_HEADERS =
267
268 #
269 # Rule to install gdkconfig.h header file
270 #
271 configexecincludedir = $(libdir)/gtk-2.0/include
272 #configexecinclude_DATA = gdkconfig.h
273
274 install-exec-local: gdkconfig.h
275         $(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
276         file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
277         if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
278         else $(INSTALL_DATA) gdkconfig.h $$file; fi
279
280 install-exec-hook:
281 if DISABLE_EXPLICIT_DEPS
282         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gdktargetlib)
283 endif
284
285 #note: not gdkconfig.h
286 BUILT_SOURCES = \
287         $(gdk_built_sources)                    \
288         gdkconfig.h
289
290 gdkenumtypes.h: stamp-gdkenumtypes.h
291         @true
292 stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.h.template
293         ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \
294                 $(gdk_public_h_sources) ) >> xgen-geth \
295         && (cmp -s xgen-geth gdkenumtypes.h || cp xgen-geth gdkenumtypes.h ) \
296         && rm -f xgen-geth \
297         && echo timestamp > $(@F)
298 gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.c.template
299         ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.c.template \
300                 $(gdk_public_h_sources) ) > xgen-getc \
301         && cp xgen-getc gdkenumtypes.c  \
302         && rm -f xgen-getc
303
304
305 # Marshaller generation
306 #
307 gdkmarshalers.h: @REBUILD@ gdkmarshalers.list
308         $(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --header > gdkmarshalers-h.tmp \
309         && mv gdkmarshalers-h.tmp gdkmarshalers.h \
310         || ( rm -f gdkmarshalers-h.tmp && exit 1)
311 gdkmarshalers.c: @REBUILD@ gdkmarshalers.list
312         (echo "#include \"gdkalias.h\""; $(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --body) > gdkmarshalers-c.tmp    \
313         && mv gdkmarshalers-c.tmp gdkmarshalers.c \
314         || ( rm -f gdkmarshalers-c.tmp && exit 1 )
315
316 gdkconfig.h: stamp-gc-h
317         @if test -f gdkconfig.h; then :; \
318         else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
319 stamp-gc-h: $(top_builddir)/config.status
320         cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkconfig.h
321         echo timestamp > stamp-gc-h
322
323 DISTCLEANFILES = gdkconfig.h stamp-gc-h
324
325 install-data-local: install-ms-lib install-def-file
326
327 uninstall-local: uninstall-ms-lib uninstall-def-file
328         rm -f $(DESTDIR)$(configexecincludedir)/gdkconfig.h
329
330 # if srcdir!=builddir, clean out maintainer-clean files from builddir
331 # this allows dist to pass.
332 distclean-local:
333         if test $(srcdir) != .; then \
334           rm -f $(MAINTAINERCLEANFILES); \
335         fi
336
337 .PHONY: files
338
339 files:
340         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
341           echo $$p; \
342         done
343
344 -include $(top_srcdir)/git.mk