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