]> Pileus Git - ~andy/gtk/blob - gdk/Makefile.am
bc40e7d9541ac55baa62ef7b2e3fe0c7b60f7ced
[~andy/gtk] / gdk / Makefile.am
1 ## Makefile.am for gtk+/gdk
2
3 SUBDIRS=$(gdktarget)
4 DIST_SUBDIRS=linux-fb win32 x11
5
6 EXTRA_DIST =                    \
7         gdkconfig.h.win32       \
8         gdk.def                 \
9         gdkmarshalers.list      \
10         makefile.mingw          \
11         makefile.mingw.in       \
12         makeenums.pl            \
13         makefile.msc
14
15 common_includes = @STRIP_BEGIN@         \
16         -DG_LOG_DOMAIN=\"Gdk\"          \
17         -I$(top_srcdir)                 \
18         -I$(top_builddir)/gdk           \
19         -I$(top_srcdir)/gdk-pixbuf      \
20         -DG_DISABLE_DEPRECATED          \
21         -DGDK_PIXBUF_DISABLE_DEPRECATED \
22         @GTK_DEBUG_FLAGS@               \
23         @GDK_DEP_CFLAGS@                \
24         -DGDK_COMPILATION               \
25 @STRIP_END@
26
27 INCLUDES = $(common_includes)
28 gtarget=@gdktarget@
29
30 if PLATFORM_WIN32
31 no_undefined = -no-undefined
32
33 if HAVE_WINTAB
34 wintab_lib = -Lwin32 -lwntab32x
35 endif
36
37 if HAVE_IE55
38 ie55uuid_lib = -Lwin32 -lie55uuid
39 endif
40 endif
41
42 if OS_WIN32
43 gdk_win32_symbols = -export-symbols gdk.def
44
45 install-libtool-import-lib:
46         $(INSTALL) .libs/libgdk-win32-$(GTK_API_VERSION).dll.a $(DESTDIR)$(libdir)
47 uninstall-libtool-import-lib:
48         -rm $(DESTDIR)$(libdir)/libgdk-win32-$(GTK_API_VERSION).dll.a
49 else
50 install-libtool-import-lib:
51 uninstall-libtool-import-lib:
52 endif
53
54 if MS_LIB_AVAILABLE
55 noinst_DATA = gdk-win32-$(GTK_API_VERSION).lib
56
57 gdk-win32-$(GTK_API_VERSION).lib: libgdk-win32-$(GTK_API_VERSION).la gdk.def
58         lib -name:libgdk-win32-$(GTK_API_VERSION)-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
59
60 install-ms-lib:
61         $(INSTALL) gdk-win32-$(GTK_API_VERSION).lib $(DESTDIR)$(libdir)
62
63 uninstall-ms-lib:
64         -rm $(DESTDIR)$(libdir)/gdk-win32-$(GTK_API_VERSION).lib
65 else
66 install-ms-lib:
67 uninstall-ms-lib:
68 endif
69
70 # libtool stuff: set version and export symbols for resolving
71 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
72 # we use the general approach here
73 LDFLAGS = @STRIP_BEGIN@                                                 \
74         @LDFLAGS@                                                       \
75         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)            \
76         -export-dynamic                                                 \
77         -rpath $(libdir)                                                \
78         $(no_undefined)                                                 \
79         @LIBTOOL_EXPORT_OPTIONS@                                        \
80         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
81         $(gdk_win32_symbols)                                            \
82 @STRIP_END@
83
84 #
85 # setup source file variables
86 #
87 #
88 # GDK header files for public installation (non-generated)
89 #
90 # Note: files added here may need to be be propagated to gdk_headers in gtk/Makefile.am
91 #
92 gdk_public_h_sources = @STRIP_BEGIN@            \
93         gdk.h                                   \
94         gdkcolor.h                              \
95         gdkcursor.h                             \
96         gdkdisplay.h                            \
97         gdkdnd.h                                \
98         gdkdrawable.h                           \
99         gdkevents.h                             \
100         gdkfont.h                               \
101         gdkgc.h                                 \
102         gdkkeysyms.h                            \
103         gdki18n.h                               \
104         gdkimage.h                              \
105         gdkinput.h                              \
106         gdkkeys.h                               \
107         gdkdisplaymanager.h                     \
108         gdkpango.h                              \
109         gdkpixbuf.h                             \
110         gdkpixmap.h                             \
111         gdkproperty.h                           \
112         gdkregion.h                             \
113         gdkrgb.h                                \
114         gdkscreen.h                             \
115         gdkselection.h                          \
116         gdktypes.h                              \
117         gdkvisual.h                             \
118         gdkwindow.h                             \
119 @STRIP_END@
120
121 gdk_headers = @STRIP_BEGIN@       \
122         $(gdk_public_h_sources)   \
123         gdkenumtypes.h            \
124         gdkprivate.h              \
125 @STRIP_END@
126
127 gdk_c_sources = @STRIP_BEGIN@   \
128         gdk.c                   \
129         gdkcolor.c              \
130         gdkcursor.c             \
131         gdkdisplay.c            \
132         gdkdnd.c                \
133         gdkdraw.c               \
134         gdkevents.c             \
135         gdkfont.c               \
136         gdkgc.c                 \
137         gdkglobals.c            \
138         gdkkeys.c               \
139         gdkkeyuni.c             \
140         gdkimage.c              \
141         gdkinternals.h          \
142         gdkintl.h               \
143         gdkdisplaymanager.c     \
144         gdkpango.c              \
145         gdkpixbuf-drawable.c    \
146         gdkpixbuf-render.c      \
147         gdkpixmap.c             \
148         gdkpoly-generic.h       \
149         gdkpolyreg-generic.c    \
150         gdkrgb.c                \
151         gdkrectangle.c          \
152         gdkregion-generic.c     \
153         gdkregion-generic.h     \
154         gdkscreen.c             \
155         gdkselection.c          \
156         gdkvisual.c             \
157         gdkwindow.c             \
158 @STRIP_END@
159
160 #
161 # setup GDK sources and their dependancies
162 #
163
164 gdkincludedir = $(includedir)/gtk-2.0/gdk
165 gdkinclude_HEADERS = $(gdk_headers)
166
167 # gdkmarshalers.c is not here becuase it is currently an empty file
168 common_sources = @STRIP_BEGIN@  \
169         $(gdk_c_sources)        \
170         gdkenumtypes.c          \
171         gdkmarshalers.h         \
172 @STRIP_END@
173
174 libgdk_x11_2_0_la_SOURCES = $(common_sources)
175 libgdk_linux_fb_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
176 libgdk_win32_2_0_la_SOURCES = $(common_sources) gdkkeynames.c
177
178 libgdk_x11_2_0_la_LIBADD = x11/libgdk-x11.la @GDK_DEP_LIBS@
179 libgdk_linux_fb_2_0_la_LIBADD = linux-fb/libgdk-linux-fb.la @GDK_DEP_LIBS@
180 libgdk_win32_2_0_la_LIBADD = \
181         win32/libgdk-win32.la $(wintab_lib) $(ie55uuid_lib) \
182         @GDK_DEP_LIBS@
183
184 lib_LTLIBRARIES = $(gdktargetlib)
185
186 EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-linux-fb-2.0.la libgdk-win32-2.0.la
187
188 MAINTAINERCLEANFILES = gdkenumtypes.h stamp-gdkenumtypes.h
189 EXTRA_HEADERS =
190
191 #
192 # Rule to install gdkconfig.h header file
193 #
194 configexecincludedir = $(libdir)/gtk-2.0/include
195 #configexecinclude_DATA = gdkconfig.h
196
197 install-exec-local: gdkconfig.h
198         $(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
199         file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
200         if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
201         else $(INSTALL_DATA) gdkconfig.h $$file; fi
202
203 install-exec-hook:
204 if DISABLE_EXPLICIT_DEPS
205         $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gdktargetlib)
206 endif
207
208 #note: not gdkconfig.h
209 BUILT_SOURCES = stamp-gc-h
210
211 # Generate built header without using automake-1.4 BUILT_SOURCES
212 $(libgdk_x11_2_0_la_OBJECTS) $(libgdk_linux_fb_2_0_la_OBJECTS) $(libgdk_win32_2_0_la_OBJECTS): gdkenumtypes.h gdkmarshalers.h
213
214 $(srcdir)/gdkenumtypes.h: stamp-gdkenumtypes.h
215         @true
216 stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) Makefile
217         ( cd $(srcdir) && glib-mkenums \
218                         --fhead "#ifndef __GDK_ENUM_TYPES_H__\n#define __GDK_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
219                         --fprod "/* enumerations from \"@filename@\" */\n" \
220                         --vhead "GType @enum_name@_get_type (void);\n#define GDK_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \
221                         --ftail "G_END_DECLS\n\n#endif /* __GDK_ENUM_TYPES_H__ */" \
222                 $(gdk_public_h_sources) ) >> xgen-geth \
223         && (cmp -s xgen-geth $(srcdir)/gdkenumtypes.h || cp xgen-geth $(srcdir)/gdkenumtypes.h ) \
224         && rm -f xgen-geth \
225         && echo timestamp > $(@F)
226 $(srcdir)/gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) Makefile
227         ( cd $(srcdir) && glib-mkenums \
228                         --fhead "#define GDK_ENABLE_BROKEN\n#include \"gdk.h\"" \
229                 --fprod "\n/* enumerations from \"@filename@\" */" \
230                         --vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {" \
231                         --vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
232                         --vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
233                 $(gdk_public_h_sources) ) > xgen-getc \
234         && cp xgen-getc $(srcdir)/gdkenumtypes.c  \
235         && rm -f xgen-getc
236
237
238 # Marshaller generation
239 #
240 $(srcdir)/gdkmarshalers.h: @REBUILD@ gdkmarshalers.list
241         cd $(srcdir) &&                                                                                 \
242         ( @GLIB_GENMARSHAL@ --prefix=gdk_marshal gdkmarshalers.list --header > gdkmarshalers.tmp        \
243         && mv gdkmarshalers.tmp gdkmarshalers.h )                                                       \
244         || ( rm -f gdkmarshalers.tmp && exit 1 )
245 $(srcdir)/gdkmarshalers.c: @REBUILD@ gdkmarshalers.list
246         cd $(srcdir) &&                                                                                 \
247         $( @GLIB_GENMARSHAL@ --prefix=gdk_marshal gdkmarshalers.list --body > gdkmarshalers.tmp \
248         && mv gdkmarshalers.tmp gdkmarshalers.c )                                                       \
249        || ( rm -f gdkmarshalers.tmp && exit 1 )
250
251 gdkconfig.h: stamp-gc-h
252         @if test -f gdkconfig.h; then :; \
253         else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
254 stamp-gc-h: ../config.status
255         cd .. && CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=gdk/gdkconfig.h ./config.status
256         echo timestamp > stamp-gc-h
257
258 install-data-local: install-ms-lib install-libtool-import-lib
259
260 uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
261
262 .PHONY: files
263
264 files:
265         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
266           echo $$p; \
267         done