mapi: Inline glapi/Makefile.
[mesa.git] / src / mapi / Makefile.am
1 # Copyright © 2013, 2014 Intel Corporation
2 #
3 # Permission is hereby granted, free of charge, to any person obtaining a
4 # copy of this software and associated documentation files (the "Software"),
5 # to deal in the Software without restriction, including without limitation
6 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
7 # and/or sell copies of the Software, and to permit persons to whom the
8 # Software is furnished to do so, subject to the following conditions:
9 #
10 # The above copyright notice and this permission notice (including the next
11 # paragraph) shall be included in all copies or substantial portions of the
12 # Software.
13 #
14 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
20 # IN THE SOFTWARE.
21
22 SUBDIRS = glapi/gen .
23 TESTS =
24
25 TOP = $(top_srcdir)
26
27 BUILT_SOURCES =
28 CLEANFILES = $(BUILT_SOURCES)
29
30 lib_LTLIBRARIES =
31 pkgconfigdir = $(libdir)/pkgconfig
32 pkgconfig_DATA =
33
34 AM_CFLAGS = $(PTHREAD_CFLAGS)
35 AM_CPPFLAGS = \
36 $(DEFINES) \
37 $(SELINUX_CFLAGS) \
38 -I$(top_srcdir)/include \
39 -I$(top_srcdir)/src/mapi \
40 -I$(top_builddir)/src/mapi
41
42 GLAPI = $(top_srcdir)/src/mapi/glapi
43 include Makefile.sources
44 include glapi/Makefile.sources
45 include glapi/gen/glapi_gen.mk
46
47 if HAVE_SHARED_GLAPI
48 SUBDIRS += shared-glapi/tests
49
50 BUILT_SOURCES += shared-glapi/glapi_mapi_tmp.h
51
52 lib_LTLIBRARIES += shared-glapi/libglapi.la
53 shared_glapi_libglapi_la_SOURCES = $(MAPI_GLAPI_FILES)
54 shared_glapi_libglapi_la_CPPFLAGS = \
55 $(AM_CPPFLAGS) \
56 -DMAPI_MODE_GLAPI \
57 -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\"
58 shared_glapi_libglapi_la_LIBADD = \
59 $(PTHREAD_LIBS) \
60 $(SELINUX_LIBS)
61 shared_glapi_libglapi_la_LDFLAGS = \
62 -no-undefined \
63 $(GC_SECTIONS) \
64 $(LD_NO_UNDEFINED)
65
66 shared-glapi/glapi_mapi_tmp.h : $(GLAPI)/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
67 $(call glapi_gen_mapi,$<,shared-glapi)
68 endif
69
70 if HAVE_OPENGL
71 SUBDIRS += glapi/tests
72
73 noinst_LTLIBRARIES = glapi/libglapi.la
74
75 if HAVE_X86_ASM
76 if HAVE_X86_64_ASM
77 GLAPI_ASM_SOURCES = $(X86_64_API)
78 else
79 GLAPI_ASM_SOURCES = $(X86_API)
80 endif
81 endif
82 if HAVE_SPARC_ASM
83 GLAPI_ASM_SOURCES = $(SPARC_API)
84 endif
85
86 glapi_libglapi_la_SOURCES = $(GLAPI_UTIL_SOURCES)
87 glapi_libglapi_la_CPPFLAGS = \
88 $(AM_CPPFLAGS) \
89 -I$(top_srcdir)/src/mapi/glapi \
90 -I$(top_srcdir)/src/mesa
91
92 if HAVE_SHARED_GLAPI
93 glapi_libglapi_la_SOURCES += $(MAPI_BRIDGE_FILES)
94 glapi_libglapi_la_CPPFLAGS += \
95 -DMAPI_MODE_BRIDGE \
96 -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
97 else
98 glapi_libglapi_la_CPPFLAGS += \
99 -DMAPI_MODE_UTIL
100 glapi_libglapi_la_SOURCES += \
101 $(GLAPI_SOURCES) \
102 $(GLAPI_ASM_SOURCES) \
103 $(MAPI_UTIL_FILES)
104 endif
105 endif
106
107 if HAVE_OPENGL_ES1
108 TESTS += es1api/ABI-check
109
110 BUILT_SOURCES += es1api/glapi_mapi_tmp.h
111
112 pkgconfig_DATA += es1api/glesv1_cm.pc
113
114 GLES_includedir = $(includedir)/GLES
115 GLES_include_HEADERS = \
116 $(top_srcdir)/include/GLES/egl.h \
117 $(top_srcdir)/include/GLES/gl.h \
118 $(top_srcdir)/include/GLES/glext.h \
119 $(top_srcdir)/include/GLES/glplatform.h
120
121 lib_LTLIBRARIES += es1api/libGLESv1_CM.la
122
123 es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h
124 es1api_libGLESv1_CM_la_CFLAGS = \
125 $(AM_CFLAGS) \
126 $(VISIBILITY_CFLAGS)
127 es1api_libGLESv1_CM_la_CPPFLAGS = \
128 $(AM_CPPFLAGS) \
129 -DMAPI_MODE_BRIDGE \
130 -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\"
131 es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)
132 es1api_libGLESv1_CM_la_LDFLAGS = \
133 -no-undefined \
134 -version-number 1:1 \
135 $(GC_SECTIONS) \
136 $(LD_NO_UNDEFINED)
137
138 if HAVE_SHARED_GLAPI
139 es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la
140 endif
141
142 es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
143 $(call glapi_gen_mapi,$<,es1api)
144 endif
145
146 if HAVE_OPENGL_ES2
147 TESTS += es2api/ABI-check
148
149 BUILT_SOURCES += es2api/glapi_mapi_tmp.h
150
151 pkgconfig_DATA += es2api/glesv2.pc
152
153 GLES2_includedir = $(includedir)/GLES2
154 GLES2_include_HEADERS = \
155 $(top_srcdir)/include/GLES2/gl2.h \
156 $(top_srcdir)/include/GLES2/gl2ext.h \
157 $(top_srcdir)/include/GLES2/gl2platform.h
158 GLES3_includedir = $(includedir)/GLES3
159 GLES3_include_HEADERS = \
160 $(top_srcdir)/include/GLES3/gl3.h \
161 $(top_srcdir)/include/GLES3/gl31.h \
162 $(top_srcdir)/include/GLES3/gl3ext.h \
163 $(top_srcdir)/include/GLES3/gl3platform.h
164
165 lib_LTLIBRARIES += es2api/libGLESv2.la
166
167 es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h
168 es2api_libGLESv2_la_CFLAGS = \
169 $(AM_CFLAGS) \
170 $(VISIBILITY_CFLAGS)
171 es2api_libGLESv2_la_CPPFLAGS = \
172 $(AM_CPPFLAGS) \
173 -DMAPI_MODE_BRIDGE \
174 -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\"
175 es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
176 es2api_libGLESv2_la_LDFLAGS = \
177 -no-undefined \
178 -version-number 2 \
179 $(GC_SECTIONS) \
180 $(LD_NO_UNDEFINED)
181
182 if HAVE_SHARED_GLAPI
183 es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la
184 endif
185
186 es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
187 $(call glapi_gen_mapi,$<,es2api)
188 endif
189
190 if HAVE_OPENVG
191 SUBDIRS += vgapi
192 endif
193
194 include $(top_srcdir)/install-lib-links.mk