factorize m4 macros and add one to set X extensions
[free-sw/xcb/libxcb] / src / Makefile.am
1 lib_LTLIBRARIES = libxcb.la \
2                   libxcb-xlib.la
3
4 EXTHEADERS =    xproto.h \
5                 bigreq.h \
6                 xc_misc.h
7 EXTSOURCES =    xproto.c \
8                 bigreq.c \
9                 xc_misc.c
10 EXTENSION_XML = xproto.xml \
11                 bigreq.xml \
12                 xc_misc.xml
13
14 AM_CFLAGS = $(CWARNFLAGS) $(NEEDED_CFLAGS) $(XDMCP_CFLAGS)
15 libxcb_la_LIBADD = $(NEEDED_LIBS) $(XDMCP_LIBS)
16 libxcb_la_SOURCES = \
17                 xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \
18                 xcb_list.c xcb_util.c xcb_auth.c c_client.py \
19                 xproto.c bigreq.c xc_misc.c
20
21 # Explanation for -version-info:
22 # -version-info current:revision:age
23 # The library supports interface (current-age) to interface current.
24 # * If you changed the source code at all, increment revision.
25 # * If you add an interface, increment current and age and set revision to 0.
26 # * If you change or remove an interface, increment current and set revision
27 #   and age to 0.
28 libxcb_la_LDFLAGS = -version-info 1:0:0
29
30 XCB_LIBS = libxcb.la
31
32 libxcb_xlib_la_LDFLAGS = -version-info 0:0:0
33 libxcb_xlib_la_LIBADD = $(XCB_LIBS)
34 libxcb_xlib_la_SOURCES = xcb_xlib.c
35
36 # FIXME: find a way to autogenerate this from the XML files.
37
38 EXTHEADERS += composite.h
39 EXTSOURCES += composite.c
40 EXTENSION_XML += composite.xml
41 if BUILD_COMPOSITE
42 lib_LTLIBRARIES += libxcb-composite.la
43 libxcb_composite_la_LDFLAGS = -version-info 0:0:0
44 libxcb_composite_la_LIBADD = $(XCB_LIBS)
45 libxcb_composite_la_SOURCES = composite.c composite.h
46 endif
47
48 EXTHEADERS += damage.h
49 EXTSOURCES += damage.c
50 EXTENSION_XML += damage.xml
51 if BUILD_DAMAGE
52 lib_LTLIBRARIES += libxcb-damage.la
53 libxcb_damage_la_LDFLAGS = -version-info 0:0:0
54 libxcb_damage_la_LIBADD = $(XCB_LIBS)
55 libxcb_damage_la_SOURCES = damage.c damage.h
56 endif
57
58 EXTHEADERS += dpms.h
59 EXTSOURCES += dpms.c
60 EXTENSION_XML += dpms.xml
61 if BUILD_DPMS
62 lib_LTLIBRARIES += libxcb-dpms.la
63 libxcb_dpms_la_LDFLAGS = -version-info 0:0:0
64 libxcb_dpms_la_LIBADD = $(XCB_LIBS)
65 libxcb_dpms_la_SOURCES = dpms.c dpms.h
66 endif
67
68 EXTHEADERS += glx.h
69 EXTSOURCES += glx.c
70 EXTENSION_XML += glx.xml
71 if BUILD_GLX
72 lib_LTLIBRARIES += libxcb-glx.la
73 libxcb_glx_la_LDFLAGS = -version-info 0:0:0
74 libxcb_glx_la_LIBADD = $(XCB_LIBS)
75 libxcb_glx_la_SOURCES = glx.c glx.h
76 endif
77
78 EXTHEADERS += randr.h
79 EXTSOURCES += randr.c
80 EXTENSION_XML += randr.xml
81 if BUILD_RANDR
82 lib_LTLIBRARIES += libxcb-randr.la
83 libxcb_randr_la_LDFLAGS = -version-info 0:0:0
84 libxcb_randr_la_LIBADD = $(XCB_LIBS)
85 libxcb_randr_la_SOURCES = randr.c randr.h
86 endif
87
88 EXTHEADERS += record.h
89 EXTSOURCES += record.c
90 EXTENSION_XML += record.xml
91 if BUILD_RECORD
92 lib_LTLIBRARIES += libxcb-record.la
93 libxcb_record_la_LDFLAGS = -version-info 0:0:0
94 libxcb_record_la_LIBADD = $(XCB_LIBS)
95 libxcb_record_la_SOURCES = record.c record.h
96 endif
97
98 EXTHEADERS += render.h
99 EXTSOURCES += render.c
100 EXTENSION_XML += render.xml
101 if BUILD_RENDER
102 lib_LTLIBRARIES += libxcb-render.la
103 libxcb_render_la_LDFLAGS = -version-info 0:0:0
104 libxcb_render_la_LIBADD = $(XCB_LIBS)
105 libxcb_render_la_SOURCES = render.c render.h
106 endif
107
108 EXTHEADERS += res.h
109 EXTSOURCES += res.c
110 EXTENSION_XML += res.xml
111 if BUILD_RESOURCE
112 lib_LTLIBRARIES += libxcb-res.la
113 libxcb_res_la_LDFLAGS = -version-info 0:0:0
114 libxcb_res_la_LIBADD = $(XCB_LIBS)
115 libxcb_res_la_SOURCES = res.c res.h
116 endif
117
118 EXTHEADERS += screensaver.h
119 EXTSOURCES += screensaver.c
120 EXTENSION_XML += screensaver.xml
121 if BUILD_SCREENSAVER
122 lib_LTLIBRARIES += libxcb-screensaver.la
123 libxcb_screensaver_la_LDFLAGS = -version-info 0:0:0
124 libxcb_screensaver_la_LIBADD = $(XCB_LIBS)
125 libxcb_screensaver_la_SOURCES = screensaver.c screensaver.h
126 endif
127
128 EXTHEADERS += shape.h
129 EXTSOURCES += shape.c
130 EXTENSION_XML += shape.xml
131 if BUILD_SHAPE
132 lib_LTLIBRARIES += libxcb-shape.la
133 libxcb_shape_la_LDFLAGS = -version-info 0:0:0
134 libxcb_shape_la_LIBADD = $(XCB_LIBS)
135 libxcb_shape_la_SOURCES = shape.c shape.h
136 endif
137
138 EXTHEADERS += shm.h
139 EXTSOURCES += shm.c
140 EXTENSION_XML += shm.xml
141 if BUILD_SHM
142 lib_LTLIBRARIES += libxcb-shm.la
143 libxcb_shm_la_LDFLAGS = -version-info 0:0:0
144 libxcb_shm_la_LIBADD = $(XCB_LIBS)
145 libxcb_shm_la_SOURCES = shm.c shm.h
146 endif
147
148 EXTHEADERS += sync.h
149 EXTSOURCES += sync.c
150 EXTENSION_XML += sync.xml
151 if BUILD_SYNC
152 lib_LTLIBRARIES += libxcb-sync.la
153 libxcb_sync_la_LDFLAGS = -version-info 0:0:0
154 libxcb_sync_la_LIBADD = $(XCB_LIBS)
155 libxcb_sync_la_SOURCES = sync.c sync.h
156 endif
157
158 EXTHEADERS += xevie.h
159 EXTSOURCES += xevie.c
160 EXTENSION_XML += xevie.xml
161 if BUILD_XEVIE
162 lib_LTLIBRARIES += libxcb-xevie.la
163 libxcb_xevie_la_LDFLAGS = -version-info 0:0:0
164 libxcb_xevie_la_LIBADD = $(XCB_LIBS)
165 libxcb_xevie_la_SOURCES = xevie.c xevie.h
166 endif
167
168 EXTHEADERS += xf86dri.h
169 EXTSOURCES += xf86dri.c
170 EXTENSION_XML += xf86dri.xml
171 if BUILD_XFREE86_DRI
172 lib_LTLIBRARIES += libxcb-xf86dri.la
173 libxcb_xf86dri_la_LDFLAGS = -version-info 0:0:0
174 libxcb_xf86dri_la_LIBADD = $(XCB_LIBS)
175 libxcb_xf86dri_la_SOURCES = xf86dri.c xf86dri.h
176 endif
177
178 EXTHEADERS += xfixes.h
179 EXTSOURCES += xfixes.c
180 EXTENSION_XML += xfixes.xml
181 if BUILD_XFIXES
182 lib_LTLIBRARIES += libxcb-xfixes.la
183 libxcb_xfixes_la_LDFLAGS = -version-info 0:0:0
184 libxcb_xfixes_la_LIBADD = $(XCB_LIBS)
185 libxcb_xfixes_la_SOURCES = xfixes.c xfixes.h
186 endif
187
188 EXTHEADERS += xinerama.h
189 EXTSOURCES += xinerama.c
190 EXTENSION_XML += xinerama.xml
191 if BUILD_XINERAMA
192 lib_LTLIBRARIES += libxcb-xinerama.la
193 libxcb_xinerama_la_LDFLAGS = -version-info 0:0:0
194 libxcb_xinerama_la_LIBADD = $(XCB_LIBS)
195 libxcb_xinerama_la_SOURCES = xinerama.c xinerama.h
196 endif
197
198 EXTHEADERS += xinput.h
199 EXTSOURCES += xinput.c
200 EXTENSION_XML += xinput.xml
201 if BUILD_XINPUT
202 lib_LTLIBRARIES += libxcb-xinput.la
203 libxcb_xinput_la_LDFLAGS = -version-info 0:0:0
204 libxcb_xinput_la_LIBADD = $(XCB_LIBS)
205 nodist_libxcb_xinput_la_SOURCES = xinput.c xinput.h
206 endif
207
208 EXTHEADERS += xprint.h
209 EXTSOURCES += xprint.c
210 EXTENSION_XML += xprint.xml
211 if BUILD_XPRINT
212 lib_LTLIBRARIES += libxcb-xprint.la
213 libxcb_xprint_la_LDFLAGS = -version-info 0:0:0
214 libxcb_xprint_la_LIBADD = $(XCB_LIBS)
215 libxcb_xprint_la_SOURCES = xprint.c xprint.h
216 endif
217
218 EXTHEADERS += xselinux.h
219 EXTSOURCES += xselinux.c
220 EXTENSION_XML += xselinux.xml
221 if BUILD_SELINUX
222 lib_LTLIBRARIES += libxcb-xselinux.la
223 libxcb_xselinux_la_LDFLAGS = -version-info 0:0:0
224 libxcb_xselinux_la_LIBADD = $(XCB_LIBS)
225 libxcb_xselinux_la_SOURCES = xselinux.c xselinux.h
226 endif
227
228 EXTHEADERS += xtest.h
229 EXTSOURCES += xtest.c
230 EXTENSION_XML += xtest.xml
231 if BUILD_XTEST
232 lib_LTLIBRARIES += libxcb-xtest.la
233 libxcb_xtest_la_LDFLAGS = -version-info 0:0:0
234 libxcb_xtest_la_LIBADD = $(XCB_LIBS)
235 libxcb_xtest_la_SOURCES = xtest.c xtest.h
236 endif
237
238 EXTHEADERS += xv.h
239 EXTSOURCES += xv.c
240 EXTENSION_XML += xv.xml
241 if BUILD_XV
242 lib_LTLIBRARIES += libxcb-xv.la
243 libxcb_xv_la_LDFLAGS = -version-info 0:0:0
244 libxcb_xv_la_LIBADD = $(XCB_LIBS)
245 libxcb_xv_la_SOURCES = xv.c xv.h
246 endif
247
248 EXTHEADERS += xvmc.h
249 EXTSOURCES += xvmc.c
250 EXTENSION_XML += xvmc.xml
251 if BUILD_XVMC
252 lib_LTLIBRARIES += libxcb-xvmc.la
253 libxcb_xvmc_la_LDFLAGS = -version-info 0:0:0
254 libxcb_xvmc_la_LIBADD = $(XCB_LIBS)
255 libxcb_xvmc_la_SOURCES = xvmc.c xvmc.h
256 endif
257
258
259
260 xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(EXTHEADERS)
261 noinst_HEADERS = xcbint.h
262
263 BUILT_SOURCES = $(EXTSOURCES) $(EXTHEADERS)
264 CLEANFILES = $(EXTSOURCES) $(EXTHEADERS) $(EXTENSION_XML)
265
266 $(EXTHEADERS) $(EXTSOURCES): c_client.py
267
268 SUFFIXES = .xml
269
270 .xml.h:
271         $(PYTHON) $(srcdir)/c_client.py -p $(XCBPROTO_XCBPYTHONDIR) $(XCBPROTO_XCBINCLUDEDIR)/$<
272
273 .xml.c:
274         $(PYTHON) $(srcdir)/c_client.py -p $(XCBPROTO_XCBPYTHONDIR) $(XCBPROTO_XCBINCLUDEDIR)/$<
275
276 $(EXTENSION_XML):
277         $(LN_S) -f $(XCBPROTO_XCBINCLUDEDIR)/$@ $@