]> Pileus Git - ~andy/gtk/blob - gdk/Makefile.am
[ Patch from Sebastian Wilhelmi, 52790 ]
[~andy/gtk] / gdk / Makefile.am
1 ## Makefile.am for gtk+/gdk
2
3 SUBDIRS=$(gdktarget)
4 DIST_SUBDIRS=linux-fb nanox 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 @STRIP_END@
22
23 INCLUDES = $(common_includes)
24 gtarget=@gdktarget@
25
26 # libtool stuff: set version and export symbols for resolving
27 # since automake doesn't support conditionalized libsomething_la_LDFLAGS
28 # we use the general approach here
29 LDFLAGS = @STRIP_BEGIN@                                         \
30         -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)    \
31         -export-dynamic                                         \
32         -rpath @prefix@/lib                                     \
33         @LIBTOOL_EXPORT_OPTIONS@                                \
34         $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-1.3.la         \
35         @GDK_DEP_LIBS@                                          \
36 @STRIP_END@
37
38 #
39 # setup source file variables
40 #
41 #
42 # GDK header files for public installation (non-generated)
43 #
44 # Note: files added here may need to be be propagated to gdk_headers in gtk/Makefile.am
45 #
46 gdk_public_h_sources = @STRIP_BEGIN@ \
47         gdk.h           \
48         gdkcolor.h      \
49         gdkcursor.h     \
50         gdkcursors.h    \
51         gdkdnd.h        \
52         gdkdrawable.h   \
53         gdkevents.h     \
54         gdkfont.h       \
55         gdkgc.h         \
56         gdkkeysyms.h    \
57         gdki18n.h       \
58         gdkimage.h      \
59         gdkinput.h      \
60         gdkkeys.h       \
61         gdkpango.h      \
62         gdkpixbuf.h     \
63         gdkpixmap.h     \
64         gdkproperty.h   \
65         gdkregion.h     \
66         gdkrgb.h        \
67         gdkselection.h  \
68         gdktypes.h      \
69         gdkvisual.h     \
70         gdkwindow.h     \
71 @STRIP_END@
72
73 gdk_headers = @STRIP_BEGIN@       \
74         $(gdk_public_h_sources)   \
75         gdkenumtypes.h            \
76         gdkprivate.h              \
77 @STRIP_END@
78
79 gdk_c_sources = @STRIP_BEGIN@   \
80         gdk.c                   \
81         gdkcolor.c              \
82         gdkcursor.c             \
83         gdkdraw.c               \
84         gdkevents.c             \
85         gdkfont.c               \
86         gdkgc.c                 \
87         gdkglobals.c            \
88         gdkkeys.c               \
89         gdkkeyuni.c             \
90         gdkimage.c              \
91         gdkinternals.h          \
92         gdkpango.c              \
93         gdkpixbuf-drawable.c    \
94         gdkpixbuf-render.c      \
95         gdkpixmap.c             \
96         gdkpoly-generic.h       \
97         gdkpolyreg-generic.c    \
98         gdkrgb.c                \
99         gdkrectangle.c          \
100         gdkregion-generic.c     \
101         gdkregion-generic.h     \
102         gdkwindow.c             \
103 @STRIP_END@
104
105 #
106 # setup GDK sources and their dependancies
107 #
108 extra = @gdktargetlib@
109
110 if USE_X11
111 libgdk_x11_includedir = $(includedir)/gtk-2.0/gdk
112
113 libgdk_x11_1_3_la_LIBADD = \
114         $(gtarget)/libgdk-$(gtarget).la 
115
116 libgdk_x11_include_HEADERS = $(gdk_headers)
117 libgdk_x11_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
118 endif
119
120 if USE_NANOX
121 libgdk_nanox_includedir = $(includedir)/gtk-2.0/gdk
122
123 libgdk_nanox_1_3_la_LIBADD = \
124         $(gtarget)/libgdk-$(gtarget).la 
125
126 libgdk_nanox_include_HEADERS = $(gdk_headers)
127 libgdk_nanox_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
128 endif
129
130 if USE_LINUX_FB
131 libgdk_linux_fb_includedir = $(includedir)/gtk-2.0/gdk
132
133 libgdk_linux_fb_1_3_la_LIBADD = \
134         $(gtarget)/libgdk-$(gtarget).la 
135
136 libgdk_linux_fb_include_HEADERS = $(gdk_headers)
137 libgdk_linux_fb_1_3_la_SOURCES = $(gdk_c_sources) gdkenumtypes.c
138 endif
139
140 # now define the real one to workaround automake's mishandling
141 lib_LTLIBRARIES = $(extra)
142
143 EXTRA_LTLIBRARIES = libgdk-x11-1.3.la libgdk-nanox-1.3.la libgdk-linux-fb-1.3.la
144
145 MAINTAINERCLEANFILES +=
146 EXTRA_HEADERS +=
147 EXTRA_DIST +=
148 EXTRA_DIST +=
149
150 #
151 # rules to generate built sources
152 #
153 # we only need to remake these headers once a new X version is released
154 X-derived-headers:
155         sed -e 's/^#define[     ]*XC\([^        ]*\)[   ]*\([^  ]*\)[   ]*.*$$/GDK\1 = \2,/' \
156             -e 'tb' -e 'd' -e ':b' \
157             -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
158             < @x_includes@/X11/cursorfont.h > gdkcursors.h ; \
159         sed -e 's/^#define[     ]*XK\([^        ]*\)[   ]*\([^  ]*\)[   ]*.*$$/#define GDK\1 \2/' \
160             -e 'tb' -e 'd' -e ':b' -e 's/ 0X/ 0x/' \
161             < @x_includes@/X11/keysymdef.h > gdkkeysyms.h
162
163 #
164 # Rule to install gdkconfig.h header file
165 #
166 configexecincludedir = $(libdir)/gtk-2.0/include
167 #configexecinclude_DATA = gdkconfig.h
168 install-exec-local: gdkconfig.h
169         $(mkinstalldirs) $(DESTDIR)$(configexecincludedir)
170         file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \
171         if test -r $$file && cmp -s gdkconfig.h $$file; then :; \
172         else $(INSTALL_DATA) gdkconfig.h $$file; fi
173
174 #note: not gdkconfig.h
175 BUILT_SOURCES = stamp-gc-h @REBUILD@ gdkenumtypes.c gdkenumtypes.h
176
177 gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
178         cd $(srcdir) \
179         && $(PERL) ./makeenums.pl include $(gdk_public_h_sources) > gdkenumtypes.h
180
181 gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) $(srcdir)/makeenums.pl
182         cd $(srcdir) \
183         && $(PERL) ./makeenums.pl cfile $(gdk_public_h_sources) > gdkenumtypes.c
184
185 gdkconfig.h: stamp-gc-h
186         @if test -f gdkconfig.h; then :; \
187         else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi
188 stamp-gc-h: ../config.status
189         cd .. && CONFIG_FILES= CONFIG_HEADERS= CONFIG_OTHER=gdk/gdkconfig.h ./config.status
190         echo timestamp > stamp-gc-h
191
192 .PHONY: files
193
194 files:
195         @files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
196           echo $$p; \
197         done