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 = 23 TESTS = 24 25 BUILT_SOURCES = 26 CLEANFILES = $(BUILT_SOURCES) 27 28 lib_LTLIBRARIES = 29 check_PROGRAMS = 30 pkgconfigdir = $(libdir)/pkgconfig 31 pkgconfig_DATA = 32 33 EXTRA_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 41 AM_CFLAGS = \ 42 $(PTHREAD_CFLAGS) \ 43 $(MSVC2013_COMPAT_CFLAGS) 44 AM_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 52 include Makefile.sources 53 54 MKDIR_GEN = $(AM_V_at)$(MKDIR_P) $(@D) 55 PYTHON_GEN = $(AM_V_GEN)$(PYTHON2) $(PYTHON_FLAGS) 56 57 glapi_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 62 if HAVE_SHARED_GLAPI 63 BUILT_SOURCES += shared-glapi/glapi_mapi_tmp.h 64 65 lib_LTLIBRARIES += shared-glapi/libglapi.la 66 shared_glapi_libglapi_la_SOURCES = $(MAPI_GLAPI_FILES) shared-glapi/glapi_mapi_tmp.h 67 shared_glapi_libglapi_la_CFLAGS = \ 68 $(AM_CFLAGS) \ 69 $(VISIBILITY_CFLAGS) 70 shared_glapi_libglapi_la_CPPFLAGS = \ 71 $(AM_CPPFLAGS) \ 72 -DMAPI_MODE_GLAPI \ 73 -DMAPI_ABI_HEADER=\"shared-glapi/glapi_mapi_tmp.h\" 74 shared_glapi_libglapi_la_LIBADD = \ 75 $(PTHREAD_LIBS) \ 76 $(SELINUX_LIBS) 77 shared_glapi_libglapi_la_LDFLAGS = \ 78 -no-undefined \ 79 $(GC_SECTIONS) \ 80 $(LD_NO_UNDEFINED) 81 82 TESTS += shared-glapi-test 83 check_PROGRAMS += shared-glapi-test 84 85 shared_glapi_test_SOURCES = shared-glapi/tests/check_table.cpp 86 shared_glapi_test_CPPFLAGS = \ 87 $(AM_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 92 endif 93 94 shared-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 99 if HAVE_OPENGL 100 noinst_LTLIBRARIES = glapi/libglapi.la 101 102 if HAVE_X86_ASM 103 if HAVE_X86_64_ASM 104 GLAPI_ASM_SOURCES = glapi/glapi_x86-64.S 105 else 106 GLAPI_ASM_SOURCES = glapi/glapi_x86.S 107 endif 108 endif 109 if HAVE_SPARC_ASM 110 GLAPI_ASM_SOURCES = glapi/glapi_sparc.S 111 endif 112 113 glapi_libglapi_la_SOURCES = 114 glapi_libglapi_la_CPPFLAGS = \ 115 $(AM_CPPFLAGS) \ 116 -I$(top_srcdir)/src/mapi/glapi \ 117 -I$(top_srcdir)/src/mesa 118 119 if HAVE_APPLEDRI 120 glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c 121 endif 122 if HAVE_WINDOWSDRI 123 glapi_libglapi_la_SOURCES += glapi/glapi_gentable.c 124 endif 125 126 if HAVE_SHARED_GLAPI 127 glapi_libglapi_la_SOURCES += $(MAPI_BRIDGE_FILES) glapi/glapi_mapi_tmp.h 128 glapi_libglapi_la_CPPFLAGS += \ 129 -DMAPI_MODE_BRIDGE \ 130 -DMAPI_ABI_HEADER=\"glapi/glapi_mapi_tmp.h\" 131 else 132 glapi_libglapi_la_CPPFLAGS += \ 133 -DMAPI_MODE_UTIL 134 glapi_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 145 TESTS += glapi-test 146 check_PROGRAMS += glapi-test 147 148 glapi_test_SOURCES = glapi/tests/check_table.cpp 149 glapi_test_CPPFLAGS = \ 150 $(AM_CPPFLAGS) \ 151 -I$(top_srcdir)/src/gtest/include 152 153 glapi_test_LDADD = \ 154 $(top_builddir)/src/mapi/glapi/libglapi.la \ 155 $(top_builddir)/src/gtest/libgtest.la 156 endif 157 endif 158 159 if HAVE_OPENGL_ES1 160 TESTS += es1api/ABI-check 161 162 BUILT_SOURCES += es1api/glapi_mapi_tmp.h 163 164 pkgconfig_DATA += es1api/glesv1_cm.pc 165 166 GLES_includedir = $(includedir)/GLES 167 GLES_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 173 lib_LTLIBRARIES += es1api/libGLESv1_CM.la 174 175 es1api_libGLESv1_CM_la_SOURCES = entry.c es1api/glapi_mapi_tmp.h 176 es1api_libGLESv1_CM_la_CFLAGS = \ 177 $(AM_CFLAGS) \ 178 $(VISIBILITY_CFLAGS) 179 es1api_libGLESv1_CM_la_CPPFLAGS = \ 180 $(AM_CPPFLAGS) \ 181 -DMAPI_MODE_BRIDGE \ 182 -DMAPI_ABI_HEADER=\"es1api/glapi_mapi_tmp.h\" 183 es1api_libGLESv1_CM_la_LIBADD = $(GLESv1_CM_LIB_DEPS) 184 es1api_libGLESv1_CM_la_LDFLAGS = \ 185 -no-undefined \ 186 -version-number 1:1 \ 187 $(GC_SECTIONS) \ 188 $(LD_NO_UNDEFINED) 189 190 if HAVE_SHARED_GLAPI 191 es1api_libGLESv1_CM_la_LIBADD += shared-glapi/libglapi.la 192 endif 193 endif 194 195 es1api/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 200 if HAVE_OPENGL_ES2 201 TESTS += es2api/ABI-check 202 203 BUILT_SOURCES += es2api/glapi_mapi_tmp.h 204 205 pkgconfig_DATA += es2api/glesv2.pc 206 207 GLES2_includedir = $(includedir)/GLES2 208 GLES2_include_HEADERS = \ 209 $(top_srcdir)/include/GLES2/gl2.h \ 210 $(top_srcdir)/include/GLES2/gl2ext.h \ 211 $(top_srcdir)/include/GLES2/gl2platform.h 212 GLES3_includedir = $(includedir)/GLES3 213 GLES3_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 220 lib_LTLIBRARIES += es2api/libGLESv2.la 221 222 es2api_libGLESv2_la_SOURCES = entry.c es2api/glapi_mapi_tmp.h 223 es2api_libGLESv2_la_CFLAGS = \ 224 $(AM_CFLAGS) \ 225 $(VISIBILITY_CFLAGS) 226 es2api_libGLESv2_la_CPPFLAGS = \ 227 $(AM_CPPFLAGS) \ 228 -DMAPI_MODE_BRIDGE \ 229 -DMAPI_ABI_HEADER=\"es2api/glapi_mapi_tmp.h\" 230 es2api_libGLESv2_la_LIBADD = $(GLESv2_LIB_DEPS) 231 es2api_libGLESv2_la_LDFLAGS = \ 232 -no-undefined \ 233 -version-number 2 \ 234 $(GC_SECTIONS) \ 235 $(LD_NO_UNDEFINED) 236 237 if HAVE_SHARED_GLAPI 238 es2api_libGLESv2_la_LIBADD += shared-glapi/libglapi.la 239 endif 240 endif 241 242 es2api/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 247 include $(top_srcdir)/install-lib-links.mk 248