Add an explanation of libtool -version-info to src/Makefile.am, and add an explicit...
[free-sw/xcb/libxcb] / src / Makefile.am
1 lib_LTLIBRARIES = libXCB.la \
2                   libXCBcomposite.la \
3                   libXCBdamage.la \
4                   libXCBdpms.la \
5                   libXCBglx.la \
6                   libXCBrandr.la \
7                   libXCBrecord.la \
8                   libXCBrender.la \
9                   libXCBres.la \
10                   libXCBscreensaver.la \
11                   libXCBshape.la \
12                   libXCBshm.la \
13                   libXCBsync.la \
14                   libXCBxevie.la \
15                   libXCBxf86dri.la \
16                   libXCBxfixes.la \
17                   libXCBxprint.la \
18                   libXCBxtest.la \
19                   libXCBxv.la \
20                   libXCBxvmc.la
21
22 EXTHEADERS = \
23                 extensions/bigreq.h \
24                 extensions/composite.h \
25                 extensions/damage.h \
26                 extensions/dpms.h \
27                 extensions/glx.h \
28                 extensions/randr.h \
29                 extensions/record.h \
30                 extensions/render.h \
31                 extensions/res.h \
32                 extensions/screensaver.h \
33                 extensions/shape.h \
34                 extensions/shm.h \
35                 extensions/sync.h \
36                 extensions/xc_misc.h \
37                 extensions/xevie.h \
38                 extensions/xf86dri.h \
39                 extensions/xfixes.h \
40                 extensions/xprint.h \
41                 extensions/xtest.h \
42                 extensions/xv.h \
43                 extensions/xvmc.h
44 EXTSOURCES = \
45                 extensions/bigreq.c \
46                 extensions/composite.c \
47                 extensions/damage.c \
48                 extensions/dpms.c \
49                 extensions/glx.c \
50                 extensions/randr.c \
51                 extensions/record.c \
52                 extensions/render.c \
53                 extensions/res.c \
54                 extensions/screensaver.c \
55                 extensions/shape.c \
56                 extensions/shm.c \
57                 extensions/sync.c \
58                 extensions/xc_misc.c \
59                 extensions/xevie.c \
60                 extensions/xf86dri.c \
61                 extensions/xfixes.c \
62                 extensions/xprint.c \
63                 extensions/xtest.c \
64                 extensions/xv.c \
65                 extensions/xvmc.c
66 EXTENSIONS = $(EXTSOURCES) $(EXTHEADERS)
67
68 ESSENTIAL_EXTENSIONS = \
69                 extensions/bigreq.h \
70                 extensions/bigreq.c \
71                 extensions/xc_misc.h \
72                 extensions/xc_misc.c
73
74 COREHEADERS = xproto.h xcb_types.h
75 CORESOURCES = xproto.c xcb_types.c
76 COREPROTO   = $(CORESOURCES) $(COREHEADERS)
77
78 xcbinclude_HEADERS = xcb.h xcbext.h xcbxlib.h $(COREHEADERS) $(EXTHEADERS)
79 noinst_HEADERS = xcbint.h
80
81 CFLAGS =
82 AM_CFLAGS = $(COPTFLAGS) $(CWARNFLAGS) $(CDEBUGFLAGS) $(XCBPROTO_CFLAGS) $(XPROTO_CFLAGS) $(XAU_CFLAGS) $(XDMCP_CFLAGS)
83 libXCB_la_LIBADD = $(XCBPROTO_LIBS) $(XPROTO_LIBS) $(XAU_LIBS) $(XDMCP_LIBS)
84 libXCB_la_SOURCES = \
85                 xcb_conn.c xcb_out.c xcb_in.c xcb_ext.c xcb_xid.c \
86                 xcb_list.c xcb_util.c xcb_xlib.c xcb_auth.c \
87                 $(COREPROTO) $(ESSENTIAL_EXTENSIONS)
88
89 # Explanation for -version-info:
90 # -version-info current:revision:age
91 # The library supports interface (current-age) to interface current.
92 # * If you changed the source code at all, increment revision.
93 # * If you add an interface, increment current and age and set revision to 0.
94 # * If you change or remove an interface, increment current and set revision
95 #   and age to 0.
96 libXCB_la_LDFLAGS = -version-info 0:0:0
97
98 BUILT_SOURCES = $(COREPROTO) $(EXTENSIONS)
99 CLEANFILES = $(COREPROTO) $(EXTENSIONS)
100 clean-local:
101         rmdir extensions || true
102
103 XCB_LIBS = $(top_builddir)/src/libXCB.la
104
105 # FIXME: find a way to autogenerate this from the XML files.
106
107 libXCBcomposite_la_LDFLAGS = -version-info 0:0:0
108 libXCBcomposite_la_LIBADD = $(XCB_LIBS)
109 libXCBcomposite_la_SOURCES = extensions/composite.c extensions/composite.h
110
111 libXCBdamage_la_LDFLAGS = -version-info 0:0:0
112 libXCBdamage_la_LIBADD = $(XCB_LIBS)
113 libXCBdamage_la_SOURCES = extensions/damage.c extensions/damage.h
114
115 libXCBdpms_la_LDFLAGS = -version-info 0:0:0
116 libXCBdpms_la_LIBADD = $(XCB_LIBS)
117 libXCBdpms_la_SOURCES = extensions/dpms.c extensions/dpms.h
118
119 libXCBglx_la_LDFLAGS = -version-info 0:0:0
120 libXCBglx_la_LIBADD = $(XCB_LIBS)
121 libXCBglx_la_SOURCES = extensions/glx.c extensions/glx.h
122
123 libXCBrandr_la_LDFLAGS = -version-info 0:0:0
124 libXCBrandr_la_LIBADD = $(XCB_LIBS)
125 libXCBrandr_la_SOURCES = extensions/randr.c extensions/randr.h
126
127 libXCBrecord_la_LDFLAGS = -version-info 0:0:0
128 libXCBrecord_la_LIBADD = $(XCB_LIBS)
129 libXCBrecord_la_SOURCES = extensions/record.c extensions/record.h
130
131 libXCBrender_la_LDFLAGS = -version-info 0:0:0
132 libXCBrender_la_LIBADD = $(XCB_LIBS)
133 libXCBrender_la_SOURCES = extensions/render.c extensions/render.h
134
135 libXCBres_la_LDFLAGS = -version-info 0:0:0
136 libXCBres_la_LIBADD = $(XCB_LIBS)
137 libXCBres_la_SOURCES = extensions/res.c extensions/res.h
138
139 libXCBscreensaver_la_LDFLAGS = -version-info 0:0:0
140 libXCBscreensaver_la_LIBADD = $(XCB_LIBS)
141 libXCBscreensaver_la_SOURCES = extensions/screensaver.c extensions/screensaver.h
142
143 libXCBshape_la_LDFLAGS = -version-info 0:0:0
144 libXCBshape_la_LIBADD = $(XCB_LIBS)
145 libXCBshape_la_SOURCES = extensions/shape.c extensions/shape.h
146
147 libXCBshm_la_LDFLAGS = -version-info 0:0:0
148 libXCBshm_la_LIBADD = $(XCB_LIBS)
149 libXCBshm_la_SOURCES = extensions/shm.c extensions/shm.h
150
151 libXCBsync_la_LDFLAGS = -version-info 0:0:0
152 libXCBsync_la_LIBADD = $(XCB_LIBS)
153 libXCBsync_la_SOURCES = extensions/sync.c extensions/sync.h
154
155 libXCBxevie_la_LDFLAGS = -version-info 0:0:0
156 libXCBxevie_la_LIBADD = $(XCB_LIBS)
157 libXCBxevie_la_SOURCES = extensions/xevie.c extensions/xevie.h
158
159 libXCBxf86dri_la_LDFLAGS = -version-info 0:0:0
160 libXCBxf86dri_la_LIBADD = $(XCB_LIBS)
161 libXCBxf86dri_la_SOURCES = extensions/xf86dri.c extensions/xf86dri.h
162
163 libXCBxfixes_la_LDFLAGS = -version-info 0:0:0
164 libXCBxfixes_la_LIBADD = $(XCB_LIBS)
165 libXCBxfixes_la_SOURCES = extensions/xfixes.c extensions/xfixes.h
166
167 libXCBxprint_la_LDFLAGS = -version-info 0:0:0
168 libXCBxprint_la_LIBADD = $(XCB_LIBS)
169 libXCBxprint_la_SOURCES = extensions/xprint.c extensions/xprint.h
170
171 libXCBxtest_la_LDFLAGS = -version-info 0:0:0
172 libXCBxtest_la_LIBADD = $(XCB_LIBS)
173 libXCBxtest_la_SOURCES = extensions/xtest.c extensions/xtest.h
174
175 libXCBxv_la_LDFLAGS = -version-info 0:0:0
176 libXCBxv_la_LIBADD = $(XCB_LIBS)
177 libXCBxv_la_SOURCES = extensions/xv.c extensions/xv.h
178
179 libXCBxvmc_la_LDFLAGS = -version-info 0:0:0
180 libXCBxvmc_la_LIBADD = $(XCB_LIBS)
181 libXCBxvmc_la_SOURCES = extensions/xvmc.c extensions/xvmc.h
182
183 vpath %.xml $(XCBPROTO_XCBINCLUDEDIR) $(XCBPROTO_XCBINCLUDEDIR)/extensions
184
185 %.h: %.xml c-client.xsl
186         @n=`dirname $*`; test -d $$n || (echo mkdir $$n; mkdir $$n)
187         $(XSLTPROC) --stringparam mode header \
188                     --stringparam base-path $(XCBPROTO_XCBINCLUDEDIR)/ \
189                     --stringparam extension-path \
190                                   $(XCBPROTO_XCBINCLUDEDIR)/extensions/ \
191                     -o $@ $(srcdir)/c-client.xsl $< 
192
193 %.c: %.xml c-client.xsl
194         @n=`dirname $*`; test -d $$n || (echo mkdir $$n; mkdir $$n)
195         $(XSLTPROC) --stringparam mode source \
196                     --stringparam base-path $(XCBPROTO_XCBINCLUDEDIR)/ \
197                     --stringparam extension-path \
198                                   $(XCBPROTO_XCBINCLUDEDIR)/extensions/ \
199                     -o $@ $(srcdir)/c-client.xsl $<