]> Pileus Git - ~andy/gtk/blob - gdk/Makefile.am
Updates.
[~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         makefile.mingw          \
10         makefile.mingw.in       \
11         makeenums.pl            \
12         makefile.msc
13
14 common_includes = @STRIP_BEGIN@         \
15         -DG_LOG_DOMAIN=\"Gdk\"          \
16         -I$(top_srcdir)                 \
17         -I$(top_builddir)/gdk           \
18         -I$(top_srcdir)/gdk-pixbuf      \
19         @GTK_DEBUG_FLAGS@               \
20         @GDK_DEP_CFLAGS@                \
21         -DGDK_COMPILATION               \
22 @STRIP_END@
23
24 INCLUDES = $(common_includes)
25 gtarget=@gdktarget@
26
27 if PLATFORM_WIN32
28 no_undefined = -no-undefined
29
30 if HAVE_WINTAB
31 wintab_lib = -Lwin32 -lwntab32x
32 endif
33 endif
34
35 if OS_WIN32
36 gdk_win32_symbols = -export-symbols gdk.def
37
38 install-libtool-import-lib:
39         $(INSTALL) .libs/libgdk-win32-1.3.dll.a $(DESTDIR)$(libdir)
40 uninstall-libtool-import-lib:
41         -rm $(DESTDIR)$(libdir)/libdk-win32-1.3.dll.a
42 else
43 install-libtool-import-lib:
44 uninstall-libtool-import-lib:
45 endif
46
47 if MS_LIB_AVAILABLE
48 noinst_DATA = gdk-win32-1.3.lib
49
50 gdk-win32-1.3.lib: libgdk-win32-1.3.la gdk.def
51         lib -name:libgdk-win32-1.3-@LT_CURRENT_MINUS_AGE@.dll -def:gdk.def -out:$@
52
53 install-ms-lib:
54         $(INSTALL) gdk-win32-1.3.lib $(DESTDIR)$(libdir)
55
56 uninstall-ms-lib:
57         -rm $(DESTDIR)$(libdir)/gdk-win32-1.3.lib
58 else
59 install-ms-lib:
60 uninstall-ms-lib:
61 endif
62
63 # libtool stuff: set version and export symbols for resolving
64 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
65 # we use the general approach here
66 LDFLAGS = @STRIP_BEGIN@                                         \
67         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
68         -export-dynamic                                         \
69         -rpath @prefix@/lib                                     \
70         $(no_undefined)                                         \
71         @LIBTOOL_EXPORT_OPTIONS@                                \
72         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la         \
73         @GDK_DEP_LIBS@                                          \
74 @STRIP_END@
75
76 #
77 # setup source file variables
78 #
79 #
80 # GDK header files for public installation (non-generated)
81 #
82 # Note: files added here may need to be be propagated to gdk_headers in gtk/Makefile.am
83 #
84 gdk_public_h_sources = @STRIP_BEGIN@ \
85         gdk.h           \
86         gdkcolor.h      \
87         gdkcursor.h     \
88         gdkcursors.h    \
89         gdkdnd.h        \
90         gdkdrawable.h   \
91         gdkevents.h     \
92         gdkfont.h       \
93         gdkgc.h         \
94         gdkkeysyms.h    \
95         gdki18n.h       \
96         gdkimage.h      \
97         gdkinput.h      \
98         gdkkeys.h       \
99         gdkpango.h      \
100         gdkpixbuf.h     \
101         gdkpixmap.h     \
102         gdkproperty.h   \
103         gdkregion.h     \
104         gdkrgb.h        \
105         gdkselection.h  \
106         gdktypes.h      \
107         gdkvisual.h     \
108         gdkwindow.h     \
109 @STRIP_END@
110
111 gdk_headers = @STRIP_BEGIN@       \
112         $(gdk_public_h_sources)   \
113         gdkenumtypes.h            \
114         gdkprivate.h              \
115 @STRIP_END@
116
117 gdk_c_sources = @STRIP_BEGIN@   \
118         gdk.c                   \
119         gdkcolor.c              \
120         gdkcursor.c             \
121         gdkdraw.c               \
122         gdkevents.c             \
123         gdkfont.c               \
124         gdkgc.c                 \
125         gdkglobals.c            \
126         gdkkeys.c               \
127         gdkkeyuni.c             \
128         gdkimage.c              \
129         gdkinternals.h          \
130         gdkpango.c              \
131         gdkpixbuf-drawable.c    \
132         gdkpixbuf-render.c      \
133         gdkpixmap.c             \
134         gdkpoly-generic.h       \
135         gdkpolyreg-generic.c    \
136         gdkrgb.c                \
137         gdkrectangle.c          \
138         gdkregion-generic.c     \
139         gdkregion-generic.h     \
140         gdkwindow.c             \
141 @STRIP_END@
142
143 #
144 # setup GDK sources and their dependancies
145 #
146 extra = @gdktargetlib@
147
148 if USE_X11
149 libgdk_x11_includedir = $(includedir)/gtk-2.0/gdk
150
151 libgdk_x11_1_3_la_LIBADD = \
152         $(gtarget)/libgdk-$(gtarget).la 
153
154 libgdk_x11_include_HEADERS = $(gdk_headers)
155 libgdk_x11_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
156 endif
157
158 if USE_LINUX_FB
159 libgdk_linux_fb_includedir = $(includedir)/gtk-2.0/gdk
160
161 libgdk_linux_fb_1_3_la_LIBADD = \
162         $(gtarget)/libgdk-$(gtarget).la 
163
164 libgdk_linux_fb_include_HEADERS = $(gdk_headers)
165 libgdk_linux_fb_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
166 endif
167
168 if USE_WIN32
169 libgdk_win32_includedir = $(includedir)/gtk-2.0/gdk
170
171 libgdk_win32_1_3_la_LIBADD = \
172         $(gtarget)/libgdk-$(gtarget).la $(wintab_lib)
173
174 libgdk_win32_include_HEADERS = $(gdk_headers)
175 libgdk_win32_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
176
177 libgdk_win32_1_3_la_LDFLAGS = $(gdk_win32_symbols)
178
179 endif
180
181 # now define the real one to workaround automake's mishandling
182 lib_LTLIBRARIES = $(extra)
183
184 EXTRA_LTLIBRARIES = libgdk-x11-1.3.la libgdk-linux-fb-1.3.la libgdk-win32-1.3.la
185
186 MAINTAINERCLEANFILES =
187 EXTRA_HEADERS =
188
189 #
190 # rules to generate built sources
191 #
192 # we only need to remake these headers once a new X version is released
193 X-derived-headers:
194         sed -e 's/^#define[     ]*XC\([^        ]*\)[   ]*\([^  ]*\)[   ]*.*$$/GDK\1 = \2,/' \
195             -e 'tb' -e 'd' -e ':b' \
196             -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
197             < @x_includes@/X11/cursorfont.h > gdkcursors.h ; \
198         sed -e 's/^#define[     ]*XK\([^        ]*\)[   ]*\([^  ]*\)[   ]*.*$$/#define GDK\1 \2/' \
199             -e 'tb' -e 'd' -e ':b' -e 's/ 0X/ 0x/' \
200             < @x_includes@/X11/keysymdef.h > gdkkeysyms.h
201
202 #
203 # Rule to install gdkconfig.h header file
204 #
205 configexecincludedir = $(libdir)/gtk-2.0/include
206 #configexecinclude_DATA = gdkconfig.h
207 install-exec-local: gdkconfig.h
208         $(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
209         file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
210         if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
211         else $(INSTALL_DATA) gdkconfig.h $$file; fi
212
213 #note: not gdkconfig.h
214 BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.c gdkenumtypes.h
215
216 gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
217         cd $(srcdir) \
218         && $(PERL) ./makeenums.pl include $(gdk_public_h_sources) > gdkenumtypes.h
219
220 gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
221         cd $(srcdir) \
222         && $(PERL) ./makeenums.pl cfile $(gdk_public_h_sources) > gdkenumtypes.c
223
224 gdkconfig.h: stamp-gc-h
225         @if test -f gdkconfig.h; then :; \
226         else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
227 stamp-gc-h: ../config.status
228         cd .. && CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=gdk/gdkconfig.h ./config.status
229         echo timestamp > stamp-gc-h
230
231 install-data-local: install-ms-lib install-libtool-import-lib
232
233 uninstall-local: uninstall-ms-lib uninstall-libtool-import-lib
234
235 .PHONY: files
236
237 files:
238         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
239           echo $$p; \
240         done