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
22 AUTOMAKE_OPTIONS = subdir-objects
28 CLEANFILES = $(BUILT_SOURCES)
32 pkgconfigdir = $(libdir)/pkgconfig
40 shared-glapi/SConscript
42 AM_CFLAGS = $(PTHREAD_CFLAGS)
46 -I$(top_srcdir)/include \
47 -I$(top_srcdir)/src/mapi \
48 -I$(top_builddir)/src/mapi
50 include Makefile.sources
52 glapi_gen_mapi_deps := \
54 $(wildcard glapi/gen/*.xml) \
55 $(wildcard glapi/gen/*.py)
57 # $(1): path to an XML file
58 # $(2): name of the printer
61 $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/mapi_abi.py \
62 --mode lib --printer $(2) $(1) > $@
66 BUILT_SOURCES += shared-glapi/glapi_mapi_tmp.h
68 lib_LTLIBRARIES += shared-glapi/libglapi.la
69 shared_glapi_libglapi_la_SOURCES = $(MAPI_GLAPI_FILES)
70 shared_glapi_libglapi_la_CPPFLAGS = \
73 -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\"
74 shared_glapi_libglapi_la_LIBADD = \
77 shared_glapi_libglapi_la_LDFLAGS = \
82 TESTS += shared-glapi-test
83 check_PROGRAMS += shared-glapi-test
85 shared_glapi_test_SOURCES = shared-glapi/tests/check_table.cpp
86 shared_glapi_test_CPPFLAGS = \
88 -I$(top_srcdir)/src/gtest/include
89 shared_glapi_test_LDADD = \
90 $(top_builddir)/src/mapi/shared-glapi/libglapi.la \
91 $(top_builddir)/src/gtest/libgtest.la
94 shared-glapi/glapi_mapi_tmp.h : glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
95 $(call glapi_gen_mapi,$<,shared-glapi)
98 noinst_LTLIBRARIES = glapi/libglapi.la
102 GLAPI_ASM_SOURCES = glapi/glapi_x86-64.S
104 GLAPI_ASM_SOURCES = glapi/glapi_x86.S
108 GLAPI_ASM_SOURCES = glapi/glapi_sparc.S
111 glapi_libglapi_la_SOURCES = glapi/glapi_gentable.c
112 glapi_libglapi_la_CPPFLAGS = \
114 -I$(top_srcdir)/src/mapi/glapi \
115 -I$(top_srcdir)/src/mesa
118 glapi_libglapi_la_SOURCES += $(MAPI_BRIDGE_FILES)
119 glapi_libglapi_la_CPPFLAGS += \
121 -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\"
123 glapi_libglapi_la_CPPFLAGS += \
125 glapi_libglapi_la_SOURCES += \
126 glapi/glapi_dispatch.c \
127 glapi/glapi_entrypoint.c \
128 glapi/glapi_getproc.c \
133 $(GLAPI_ASM_SOURCES) \
137 check_PROGRAMS += glapi-test
139 glapi_test_SOURCES = glapi/tests/check_table.cpp
140 glapi_test_CPPFLAGS = \
142 -I$(top_srcdir)/src/gtest/include
145 $(top_builddir)/src/mapi/glapi/libglapi.la \
146 $(top_builddir)/src/gtest/libgtest.la
151 TESTS += es1api/ABI-check
153 BUILT_SOURCES += es1api/glapi_mapi_tmp.h
155 pkgconfig_DATA += es1api/glesv1_cm.pc
157 GLES_includedir = $(includedir)/GLES
158 GLES_include_HEADERS = \
159 $(top_srcdir)/include/GLES/egl.h \
160 $(top_srcdir)/include/GLES/gl.h \
161 $(top_srcdir)/include/GLES/glext.h \
162 $(top_srcdir)/include/GLES/glplatform.h
164 lib_LTLIBRARIES += es1api/libGLESv1_CM.la
166 es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h
167 es1api_libGLESv1_CM_la_CFLAGS = \
170 es1api_libGLESv1_CM_la_CPPFLAGS = \
173 -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\"
174 es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS)
175 es1api_libGLESv1_CM_la_LDFLAGS = \
177 -version-number 1:1 \
182 es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la
186 es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
187 $(call glapi_gen_mapi,$<,es1api)
190 TESTS += es2api/ABI-check
192 BUILT_SOURCES += es2api/glapi_mapi_tmp.h
194 pkgconfig_DATA += es2api/glesv2.pc
196 GLES2_includedir = $(includedir)/GLES2
197 GLES2_include_HEADERS = \
198 $(top_srcdir)/include/GLES2/gl2.h \
199 $(top_srcdir)/include/GLES2/gl2ext.h \
200 $(top_srcdir)/include/GLES2/gl2platform.h
201 GLES3_includedir = $(includedir)/GLES3
202 GLES3_include_HEADERS = \
203 $(top_srcdir)/include/GLES3/gl3.h \
204 $(top_srcdir)/include/GLES3/gl31.h \
205 $(top_srcdir)/include/GLES3/gl3ext.h \
206 $(top_srcdir)/include/GLES3/gl3platform.h
208 lib_LTLIBRARIES += es2api/libGLESv2.la
210 es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h
211 es2api_libGLESv2_la_CFLAGS = \
214 es2api_libGLESv2_la_CPPFLAGS = \
217 -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\"
218 es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS)
219 es2api_libGLESv2_la_LDFLAGS = \
226 es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la
230 es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps)
231 $(call glapi_gen_mapi,$<,es2api)
233 # XXX: Inline vgapi's Makefile.am here.
239 include $(top_srcdir)/install-lib-links.mk