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