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 22SUBDIRS = 23TESTS = 24 25BUILT_SOURCES = 26CLEANFILES = $(BUILT_SOURCES) 27 28lib_LTLIBRARIES = 29check_PROGRAMS = 30pkgconfigdir = $(libdir)/pkgconfig 31pkgconfig_DATA = 32 33EXTRA_DIST = \ 34 es1api/ABI-check \ 35 es2api/ABI-check \ 36 mapi_abi.py \ 37 glapi/SConscript \ 38 glapi/registry/gl.xml \ 39 shared-glapi/SConscript 40 41AM_CFLAGS = \ 42 $(PTHREAD_CFLAGS) \ 43 $(MSVC2013_COMPAT_CFLAGS) 44AM_CPPFLAGS = \ 45 $(DEFINES) \ 46 $(SELINUX_CFLAGS) \ 47 -I$(top_srcdir)/include \ 48 -I$(top_srcdir)/src \ 49 -I$(top_builddir)/src/mapi \ 50 -I$(top_srcdir)/src/mapi 51 52include Makefile.sources 53 54MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D) 55PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) 56 57glapi_gen_mapi_deps := \ 58 mapi_abi.py \ 59 $(wildcard $(top_srcdir)/src/mapi/glapi/gen/*.xml) \ 60 $(wildcard $(top_srcdir)/src/mapi/glapi/gen/*.py) 61 62if HAVE_SHARED_GLAPI 63BUILT_SOURCES += shared-glapi/glapi_mapi_tmp.h 64 65lib_LTLIBRARIES += shared-glapi/libglapi.la 66shared_glapi_libglapi_la_SOURCES = $(MAPI_GLAPI_FILES) shared-glapi/glapi_mapi_tmp.h 67shared_glapi_libglapi_la_CFLAGS = \ 68 $(AM_CFLAGS) \ 69 $(VISIBILITY_CFLAGS) 70shared_glapi_libglapi_la_CPPFLAGS = \ 71 $(AM_CPPFLAGS) \ 72 -DMAPI_MODE_GLAPI \ 73 -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" 74shared_glapi_libglapi_la_LIBADD = \ 75 $(PTHREAD_LIBS) \ 76 $(SELINUX_LIBS) 77shared_glapi_libglapi_la_LDFLAGS = \ 78 -no-undefined \ 79 $(GC_SECTIONS) \ 80 $(LD_NO_UNDEFINED) 81 82TESTS += shared-glapi-test 83check_PROGRAMS += shared-glapi-test 84 85shared_glapi_test_SOURCES = shared-glapi/tests/check_table.cpp 86shared_glapi_test_CPPFLAGS = \ 87 $(AM_CPPFLAGS) \ 88 -I$(top_srcdir)/src/gtest/include 89shared_glapi_test_LDADD = \ 90 $(top_builddir)/src/mapi/shared-glapi/libglapi.la \ 91 $(top_builddir)/src/gtest/libgtest.la 92endif 93 94shared-glapi/glapi_mapi_tmp.h : glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) 95 $(MKDIR_GEN) 96 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --mode lib --printer shared-glapi \ 97 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@ 98 99if HAVE_OPENGL 100noinst_LTLIBRARIES = glapi/libglapi.la 101 102if HAVE_X86_ASM 103if HAVE_X86_64_ASM 104GLAPI_ASM_SOURCES = glapi/glapi_x86-64.S 105else 106GLAPI_ASM_SOURCES = glapi/glapi_x86.S 107endif 108endif 109if HAVE_SPARC_ASM 110GLAPI_ASM_SOURCES = glapi/glapi_sparc.S 111endif 112 113glapi_libglapi_la_SOURCES = 114glapi_libglapi_la_CPPFLAGS = \ 115 $(AM_CPPFLAGS) \ 116 -I$(top_srcdir)/src/mapi/glapi \ 117 -I$(top_srcdir)/src/mesa 118 119if HAVE_APPLEDRI 120glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c 121endif 122if HAVE_WINDOWSDRI 123glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c 124endif 125 126if HAVE_SHARED_GLAPI 127glapi_libglapi_la_SOURCES += $(MAPI_BRIDGE_FILES) glapi/glapi_mapi_tmp.h 128glapi_libglapi_la_CPPFLAGS += \ 129 -DMAPI_MODE_BRIDGE \ 130 -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" 131else 132glapi_libglapi_la_CPPFLAGS += \ 133 -DMAPI_MODE_UTIL 134glapi_libglapi_la_SOURCES += \ 135 glapi/glapi_dispatch.c \ 136 glapi/glapi_entrypoint.c \ 137 glapi/glapi_getproc.c \ 138 glapi/glapi_nop.c \ 139 glapi/glapi.c \ 140 glapi/glapi.h \ 141 glapi/glapi_priv.h \ 142 $(GLAPI_ASM_SOURCES) \ 143 $(MAPI_UTIL_FILES) 144 145TESTS += glapi-test 146check_PROGRAMS += glapi-test 147 148glapi_test_SOURCES = glapi/tests/check_table.cpp 149glapi_test_CPPFLAGS = \ 150 $(AM_CPPFLAGS) \ 151 -I$(top_srcdir)/src/gtest/include 152 153glapi_test_LDADD = \ 154 $(top_builddir)/src/mapi/glapi/libglapi.la \ 155 $(top_builddir)/src/gtest/libgtest.la 156endif 157endif 158 159if HAVE_OPENGL_ES1 160TESTS += es1api/ABI-check 161 162BUILT_SOURCES += es1api/glapi_mapi_tmp.h 163 164pkgconfig_DATA += es1api/glesv1_cm.pc 165 166GLES_includedir = $(includedir)/GLES 167GLES_include_HEADERS = \ 168 $(top_srcdir)/include/GLES/egl.h \ 169 $(top_srcdir)/include/GLES/gl.h \ 170 $(top_srcdir)/include/GLES/glext.h \ 171 $(top_srcdir)/include/GLES/glplatform.h 172 173lib_LTLIBRARIES += es1api/libGLESv1_CM.la 174 175es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h 176es1api_libGLESv1_CM_la_CFLAGS = \ 177 $(AM_CFLAGS) \ 178 $(VISIBILITY_CFLAGS) 179es1api_libGLESv1_CM_la_CPPFLAGS = \ 180 $(AM_CPPFLAGS) \ 181 -DMAPI_MODE_BRIDGE \ 182 -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\" 183es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS) 184es1api_libGLESv1_CM_la_LDFLAGS = \ 185 -no-undefined \ 186 -version-number 1:1 \ 187 $(GC_SECTIONS) \ 188 $(LD_NO_UNDEFINED) 189 190if HAVE_SHARED_GLAPI 191es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la 192endif 193endif 194 195es1api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) 196 $(MKDIR_GEN) 197 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --mode lib --printer es1api \ 198 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@ 199 200if HAVE_OPENGL_ES2 201TESTS += es2api/ABI-check 202 203BUILT_SOURCES += es2api/glapi_mapi_tmp.h 204 205pkgconfig_DATA += es2api/glesv2.pc 206 207GLES2_includedir = $(includedir)/GLES2 208GLES2_include_HEADERS = \ 209 $(top_srcdir)/include/GLES2/gl2.h \ 210 $(top_srcdir)/include/GLES2/gl2ext.h \ 211 $(top_srcdir)/include/GLES2/gl2platform.h 212GLES3_includedir = $(includedir)/GLES3 213GLES3_include_HEADERS = \ 214 $(top_srcdir)/include/GLES3/gl3.h \ 215 $(top_srcdir)/include/GLES3/gl31.h \ 216 $(top_srcdir)/include/GLES3/gl32.h \ 217 $(top_srcdir)/include/GLES3/gl3ext.h \ 218 $(top_srcdir)/include/GLES3/gl3platform.h 219 220lib_LTLIBRARIES += es2api/libGLESv2.la 221 222es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h 223es2api_libGLESv2_la_CFLAGS = \ 224 $(AM_CFLAGS) \ 225 $(VISIBILITY_CFLAGS) 226es2api_libGLESv2_la_CPPFLAGS = \ 227 $(AM_CPPFLAGS) \ 228 -DMAPI_MODE_BRIDGE \ 229 -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\" 230es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS) 231es2api_libGLESv2_la_LDFLAGS = \ 232 -no-undefined \ 233 -version-number 2 \ 234 $(GC_SECTIONS) \ 235 $(LD_NO_UNDEFINED) 236 237if HAVE_SHARED_GLAPI 238es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la 239endif 240endif 241 242es2api/glapi_mapi_tmp.h: glapi/gen/gl_and_es_API.xml $(glapi_gen_mapi_deps) 243 $(MKDIR_GEN) 244 $(PYTHON_GEN) $(srcdir)/mapi_abi.py --mode lib --printer es2api \ 245 $(srcdir)/glapi/gen/gl_and_es_API.xml > $@ 246 247include $(top_srcdir)/install-lib-links.mk 248