1 # Copyright © 2013, 2014 Intel Corporation
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:
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
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
26 CLEANFILES = $(BUILT_SOURCES)
30 pkgconfigdir = $(libdir)/pkgconfig
39 glapi/registry/gl.xml \
40 shared-glapi/SConscript \
44 shared-glapi/meson.build \
49 $(MSVC2013_COMPAT_CFLAGS)
53 -I$(top_srcdir)/include \
55 -I$(top_builddir)/src/mapi \
56 -I$(top_srcdir)/src/mapi \
57 -I$(top_builddir)/src/mapi/glapi \
58 -I$(top_srcdir)/src/mapi/glapi
60 include Makefile.sources
62 MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D)
63 PYTHON_GEN = $(AM_V_GEN)$(PYTHON) $(PYTHON_FLAGS)
65 glapi_gen_mapi_deps := \
67 $(wildcard $(top_srcdir)/src/mapi/glapi/gen/*.xml) \
68 $(wildcard $(top_srcdir)/src/mapi/glapi/gen/*.py)
71 BUILT_SOURCES += shared-glapi/glapi_mapi_tmp.h
73 lib_LTLIBRARIES += shared-glapi/libglapi.la
74 shared_glapi_libglapi_la_SOURCES = $(MAPI_GLAPI_FILES) shared-glapi/glapi_mapi_tmp.h
75 shared_glapi_libglapi_la_CFLAGS = \
78 shared_glapi_libglapi_la_CPPFLAGS = \
81 -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\"
82 shared_glapi_libglapi_la_LIBADD = \
85 shared_glapi_libglapi_la_LDFLAGS = \
90 TESTS += shared-glapi-test
91 check_PROGRAMS += shared-glapi-test
93 shared_glapi_test_SOURCES = shared-glapi/tests/check_table.cpp
94 shared_glapi_test_CPPFLAGS = \
96 -I$(top_srcdir)/src/gtest/include \
97 -I$(top_srcdir)/src/mesa
98 shared_glapi_test_LDADD = \
99 $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
100 $(top_builddir)/src/gtest/libgtest.la
103 shared-glapi/glapi_mapi_tmp.h : glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
105 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --printer shared-glapi \
106 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@
109 noinst_LTLIBRARIES = glapi/libglapi.la
113 GLAPI_ASM_SOURCES = glapi/glapi_x86-64.S
115 GLAPI_ASM_SOURCES = glapi/glapi_x86.S
119 GLAPI_ASM_SOURCES = glapi/glapi_sparc.S
122 glapi_libglapi_la_SOURCES =
123 glapi_libglapi_la_CPPFLAGS = \
125 -I$(top_srcdir)/src/mesa
128 glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c
131 glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c
135 glapi_libglapi_la_SOURCES += $(MAPI_BRIDGE_FILES) glapi/glapi_mapi_tmp.h
136 glapi_libglapi_la_CPPFLAGS += \
138 -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
140 glapi_libglapi_la_CPPFLAGS += \
142 glapi_libglapi_la_SOURCES += \
143 glapi/glapi_dispatch.c \
144 glapi/glapi_entrypoint.c \
145 glapi/glapi_getproc.c \
150 $(GLAPI_ASM_SOURCES) \
154 check_PROGRAMS += glapi-test
156 glapi_test_SOURCES = glapi/tests/check_table.cpp
157 glapi_test_CPPFLAGS = \
159 -I$(top_srcdir)/src/gtest/include \
160 -I$(top_srcdir)/src/mesa
163 $(top_builddir)/src/mapi/glapi/libglapi.la \
164 $(top_builddir)/src/gtest/libgtest.la
169 TESTS += es1api/ABI-check
171 BUILT_SOURCES += es1api/glapi_mapi_tmp.h
173 pkgconfig_DATA += es1api/glesv1_cm.pc
175 GLES_includedir = $(includedir)/GLES
176 GLES_include_HEADERS = \
177 $(top_srcdir)/include/GLES/egl.h \
178 $(top_srcdir)/include/GLES/gl.h \
179 $(top_srcdir)/include/GLES/glext.h \
180 $(top_srcdir)/include/GLES/glplatform.h
182 lib_LTLIBRARIES += es1api/libGLESv1_CM.la
184 es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h
185 es1api_libGLESv1_CM_la_CFLAGS = \
188 es1api_libGLESv1_CM_la_CPPFLAGS = \
191 -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\"
192 es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)
193 es1api_libGLESv1_CM_la_LDFLAGS = \
195 -version-number 1:1 \
199 es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la
202 es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
204 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --printer es1api \
205 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@
208 TESTS += es2api/ABI-check
210 BUILT_SOURCES += es2api/glapi_mapi_tmp.h
212 pkgconfig_DATA += es2api/glesv2.pc
214 GLES2_includedir = $(includedir)/GLES2
215 GLES2_include_HEADERS = \
216 $(top_srcdir)/include/GLES2/gl2.h \
217 $(top_srcdir)/include/GLES2/gl2ext.h \
218 $(top_srcdir)/include/GLES2/gl2platform.h
219 GLES3_includedir = $(includedir)/GLES3
220 GLES3_include_HEADERS = \
221 $(top_srcdir)/include/GLES3/gl3.h \
222 $(top_srcdir)/include/GLES3/gl31.h \
223 $(top_srcdir)/include/GLES3/gl32.h \
224 $(top_srcdir)/include/GLES3/gl3ext.h \
225 $(top_srcdir)/include/GLES3/gl3platform.h
227 lib_LTLIBRARIES += es2api/libGLESv2.la
229 es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h
230 es2api_libGLESv2_la_CFLAGS = \
233 es2api_libGLESv2_la_CPPFLAGS = \
236 -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\"
237 es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
238 es2api_libGLESv2_la_LDFLAGS = \
244 es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la
247 es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
249 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --printer es2api \
250 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@
252 include $(top_srcdir)/install-lib-links.mk
255 khrdir = $(includedir)/KHR
256 khr_HEADERS = $(top_srcdir)/include/KHR/khrplatform.h