Split the Xlib compatibility functions into a separate library libxcb-xlib
[free-sw/xcb/libxcb] / src / Makefile.am
1 lib_LTLIBRARIES = libxcb.la \
2                   libxcb-xlib.la \
3                   libxcb-composite.la \
4                   libxcb-damage.la \
5                   libxcb-dpms.la \
6                   libxcb-glx.la \
7                   libxcb-randr.la \
8                   libxcb-record.la \
9                   libxcb-render.la \
10                   libxcb-res.la \
11                   libxcb-screensaver.la \
12                   libxcb-shape.la \
13                   libxcb-shm.la \
14                   libxcb-sync.la \
15                   libxcb-xevie.la \
16                   libxcb-xf86dri.la \
17                   libxcb-xfixes.la \
18                   libxcb-xprint.la \
19                   libxcb-xtest.la \
20                   libxcb-xv.la \
21                   libxcb-xvmc.la
22
23 EXTHEADERS = \
24                 extensions/bigreq.h \
25                 extensions/composite.h \
26                 extensions/damage.h \
27                 extensions/dpms.h \
28                 extensions/glx.h \
29                 extensions/randr.h \
30                 extensions/record.h \
31                 extensions/render.h \
32                 extensions/res.h \
33                 extensions/screensaver.h \
34                 extensions/shape.h \
35                 extensions/shm.h \
36                 extensions/sync.h \
37                 extensions/xc_misc.h \
38                 extensions/xevie.h \
39                 extensions/xf86dri.h \
40                 extensions/xfixes.h \
41                 extensions/xprint.h \
42                 extensions/xtest.h \
43                 extensions/xv.h \
44                 extensions/xvmc.h
45 EXTSOURCES = \
46                 extensions/bigreq.c \
47                 extensions/composite.c \
48                 extensions/damage.c \
49                 extensions/dpms.c \
50                 extensions/glx.c \
51                 extensions/randr.c \
52                 extensions/record.c \
53                 extensions/render.c \
54                 extensions/res.c \
55                 extensions/screensaver.c \
56                 extensions/shape.c \
57                 extensions/shm.c \
58                 extensions/sync.c \
59                 extensions/xc_misc.c \
60                 extensions/xevie.c \
61                 extensions/xf86dri.c \
62                 extensions/xfixes.c \
63                 extensions/xprint.c \
64                 extensions/xtest.c \
65                 extensions/xv.c \
66                 extensions/xvmc.c
67 EXTENSIONS = $(EXTSOURCES) $(EXTHEADERS)
68
69 ESSENTIAL_EXTENSIONS = \
70                 extensions/bigreq.h \
71                 extensions/bigreq.c \
72                 extensions/xc_misc.h \
73                 extensions/xc_misc.c
74
75 EXTENSION_XML = \
76                 extensions/bigreq.xml \
77                 extensions/composite.xml \
78                 extensions/damage.xml \
79                 extensions/dpms.xml \
80                 extensions/glx.xml \
81                 extensions/randr.xml \
82                 extensions/record.xml \
83                 extensions/render.xml \
84                 extensions/res.xml \
85                 extensions/screensaver.xml \
86                 extensions/shape.xml \
87                 extensions/shm.xml \
88                 extensions/sync.xml \
89                 extensions/xc_misc.xml \
90                 extensions/xevie.xml \
91                 extensions/xf86dri.xml \
92                 extensions/xfixes.xml \
93                 extensions/xprint.xml \
94                 extensions/xtest.xml \
95                 extensions/xvmc.xml \
96                 extensions/xv.xml
97
98 COREHEADERS = xproto.h
99 CORESOURCES = xproto.c
100 COREPROTO   = $(CORESOURCES) $(COREHEADERS)
101
102 xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(COREHEADERS) $(EXTHEADERS)
103 noinst_HEADERS = xcbint.h
104
105 AM_CFLAGS = $(COPTFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(XCBPROTO_CFLAGS) $(XAU_CFLAGS) $(XDMCP_CFLAGS)
106 libxcb_la_LIBADD = $(XCBPROTO_LIBS) $(XAU_LIBS) $(XDMCP_LIBS)
107 libxcb_la_SOURCES = \
108                 xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \
109                 xcb_list.c xcb_util.c xcb_auth.c \
110                 $(COREPROTO) $(ESSENTIAL_EXTENSIONS) c-client.xsl
111
112 # Explanation for -version-info:
113 # -version-info current:revision:age
114 # The library supports interface (current-age) to interface current.
115 # * If you changed the source code at all, increment revision.
116 # * If you add an interface, increment current and age and set revision to 0.
117 # * If you change or remove an interface, increment current and set revision
118 #   and age to 0.
119 libxcb_la_LDFLAGS = -version-info 0:0:0
120
121 BUILT_SOURCES = $(COREPROTO) $(EXTENSIONS)
122 CLEANFILES = $(COREPROTO) $(EXTENSIONS)
123
124 XCB_LIBS = libxcb.la
125
126 libxcb_xlib_la_LDFLAGS = -version-info 0:0:0
127 libxcb_xlib_la_LIBADD = $(XCB_LIBS)
128 libxcb_xlib_la_SOURCES = xcb_xlib.c
129
130 # FIXME: find a way to autogenerate this from the XML files.
131
132 libxcb_composite_la_LDFLAGS = -version-info 0:0:0
133 libxcb_composite_la_LIBADD = $(XCB_LIBS)
134 libxcb_composite_la_SOURCES = extensions/composite.c extensions/composite.h
135
136 libxcb_damage_la_LDFLAGS = -version-info 0:0:0
137 libxcb_damage_la_LIBADD = $(XCB_LIBS)
138 libxcb_damage_la_SOURCES = extensions/damage.c extensions/damage.h
139
140 libxcb_dpms_la_LDFLAGS = -version-info 0:0:0
141 libxcb_dpms_la_LIBADD = $(XCB_LIBS)
142 libxcb_dpms_la_SOURCES = extensions/dpms.c extensions/dpms.h
143
144 libxcb_glx_la_LDFLAGS = -version-info 0:0:0
145 libxcb_glx_la_LIBADD = $(XCB_LIBS)
146 libxcb_glx_la_SOURCES = extensions/glx.c extensions/glx.h
147
148 libxcb_randr_la_LDFLAGS = -version-info 0:0:0
149 libxcb_randr_la_LIBADD = $(XCB_LIBS)
150 libxcb_randr_la_SOURCES = extensions/randr.c extensions/randr.h
151
152 libxcb_record_la_LDFLAGS = -version-info 0:0:0
153 libxcb_record_la_LIBADD = $(XCB_LIBS)
154 libxcb_record_la_SOURCES = extensions/record.c extensions/record.h
155
156 libxcb_render_la_LDFLAGS = -version-info 0:0:0
157 libxcb_render_la_LIBADD = $(XCB_LIBS)
158 libxcb_render_la_SOURCES = extensions/render.c extensions/render.h
159
160 libxcb_res_la_LDFLAGS = -version-info 0:0:0
161 libxcb_res_la_LIBADD = $(XCB_LIBS)
162 libxcb_res_la_SOURCES = extensions/res.c extensions/res.h
163
164 libxcb_screensaver_la_LDFLAGS = -version-info 0:0:0
165 libxcb_screensaver_la_LIBADD = $(XCB_LIBS)
166 libxcb_screensaver_la_SOURCES = extensions/screensaver.c extensions/screensaver.h
167
168 libxcb_shape_la_LDFLAGS = -version-info 0:0:0
169 libxcb_shape_la_LIBADD = $(XCB_LIBS)
170 libxcb_shape_la_SOURCES = extensions/shape.c extensions/shape.h
171
172 libxcb_shm_la_LDFLAGS = -version-info 0:0:0
173 libxcb_shm_la_LIBADD = $(XCB_LIBS)
174 libxcb_shm_la_SOURCES = extensions/shm.c extensions/shm.h
175
176 libxcb_sync_la_LDFLAGS = -version-info 0:0:0
177 libxcb_sync_la_LIBADD = $(XCB_LIBS)
178 libxcb_sync_la_SOURCES = extensions/sync.c extensions/sync.h
179
180 libxcb_xevie_la_LDFLAGS = -version-info 0:0:0
181 libxcb_xevie_la_LIBADD = $(XCB_LIBS)
182 libxcb_xevie_la_SOURCES = extensions/xevie.c extensions/xevie.h
183
184 libxcb_xf86dri_la_LDFLAGS = -version-info 0:0:0
185 libxcb_xf86dri_la_LIBADD = $(XCB_LIBS)
186 libxcb_xf86dri_la_SOURCES = extensions/xf86dri.c extensions/xf86dri.h
187
188 libxcb_xfixes_la_LDFLAGS = -version-info 0:0:0
189 libxcb_xfixes_la_LIBADD = $(XCB_LIBS)
190 libxcb_xfixes_la_SOURCES = extensions/xfixes.c extensions/xfixes.h
191
192 libxcb_xprint_la_LDFLAGS = -version-info 0:0:0
193 libxcb_xprint_la_LIBADD = $(XCB_LIBS)
194 libxcb_xprint_la_SOURCES = extensions/xprint.c extensions/xprint.h
195
196 libxcb_xtest_la_LDFLAGS = -version-info 0:0:0
197 libxcb_xtest_la_LIBADD = $(XCB_LIBS)
198 libxcb_xtest_la_SOURCES = extensions/xtest.c extensions/xtest.h
199
200 libxcb_xv_la_LDFLAGS = -version-info 0:0:0
201 libxcb_xv_la_LIBADD = $(XCB_LIBS)
202 libxcb_xv_la_SOURCES = extensions/xv.c extensions/xv.h
203
204 libxcb_xvmc_la_LDFLAGS = -version-info 0:0:0
205 libxcb_xvmc_la_LIBADD = $(XCB_LIBS)
206 libxcb_xvmc_la_SOURCES = extensions/xvmc.c extensions/xvmc.h
207
208 $(EXTHEADERS) $(EXTSOURCES): c-client.xsl
209
210 SUFFIXES = .xml
211
212 .xml.h:
213         @n=`dirname $*`; test -d $$n || (echo mkdir $$n; mkdir $$n)
214         $(XSLTPROC) --stringparam mode header \
215                     --stringparam base-path $(XCBPROTO_XCBINCLUDEDIR)/ \
216                     --stringparam extension-path \
217                                   $(XCBPROTO_XCBINCLUDEDIR)/extensions/ \
218                     -o $@ $(srcdir)/c-client.xsl $< 
219
220 .xml.c:
221         @n=`dirname $*`; test -d $$n || (echo mkdir $$n; mkdir $$n)
222         $(XSLTPROC) --stringparam mode source \
223                     --stringparam base-path $(XCBPROTO_XCBINCLUDEDIR)/ \
224                     --stringparam extension-path \
225                                   $(XCBPROTO_XCBINCLUDEDIR)/extensions/ \
226                     -o $@ $(srcdir)/c-client.xsl $< 
227
228 xproto.xml: $(XCBPROTO_XCBINCLUDEDIR)/xproto.xml
229         $(LN_S) $(XCBPROTO_XCBINCLUDEDIR)/xproto.xml $@
230
231 $(EXTENSION_XML):
232         [ -d extensions ] || mkdir extensions
233         for i in $(EXTENSION_XML) ; do \
234            rm -f $$i ; \
235            $(LN_S) $(XCBPROTO_XCBINCLUDEDIR)/$$i $$i ; \
236         done