libglvnd/src/EGL/Makefile.am

124 lines
3.9 KiB
Makefile

# Copyright (c) 2013, NVIDIA CORPORATION.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and/or associated documentation files (the
# "Materials"), to deal in the Materials without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Materials, and to
# permit persons to whom the Materials are furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# unaltered in all copies or substantial portions of the Materials.
# Any additions, deletions, or changes to the original source files
# must be clearly indicated in accompanying documentation.
#
# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
# TODO:
# - Add a configure option for whether to build EGL. Probably add one for GLX,
# too.
noinst_HEADERS = egldispatchstubs.h \
libeglabipriv.h \
libeglcurrent.h \
libeglmapping.h \
libeglvendor.h \
libeglerror.h \
g_egldispatchstubs.h
lib_LTLIBRARIES = libEGL.la
UTIL_DIR = ../util
UTHASH_DIR = ../util/uthash/src
GL_DISPATCH_DIR = ../GLdispatch
# Warning settings
# Include paths
libEGL_la_CFLAGS = -I$(srcdir)/$(UTHASH_DIR)
libEGL_la_CFLAGS += -I$(srcdir)/$(UTIL_DIR)
libEGL_la_CFLAGS += -I$(srcdir)/$(GL_DISPATCH_DIR)
libEGL_la_CFLAGS += -I$(top_srcdir)/include
if ENABLE_X11
libEGL_la_CFLAGS += $(X11_CFLAGS)
endif
libEGL_la_CFLAGS += \
-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"@sysconfdir@/glvnd/egl_vendor.d:@datadir@/glvnd/egl_vendor.d\"
# Required library flags
libEGL_la_CFLAGS += $(PTHREAD_CFLAGS)
# Required libraries
libEGL_la_LIBADD = @LIB_DL@
libEGL_la_LIBADD += -lm
libEGL_la_LIBADD += $(GL_DISPATCH_DIR)/libGLdispatch.la
libEGL_la_LIBADD += $(UTIL_DIR)/libtrace.la
libEGL_la_LIBADD += $(UTIL_DIR)/libglvnd_pthread.la
libEGL_la_LIBADD += $(UTIL_DIR)/libutils_misc.la
libEGL_la_LIBADD += $(UTIL_DIR)/libcJSON.la
libEGL_la_LIBADD += $(UTIL_DIR)/libwinsys_dispatch.la
libEGL_la_LIBADD += libEGL_dispatch_stubs.la
libEGL_la_LDFLAGS = -shared -Wl,-Bsymbolic -version-info 2:0:1 $(LINKER_FLAG_NO_UNDEFINED)
libEGL_la_SOURCES = \
libegl.c \
libeglcurrent.c \
libeglmapping.c \
libeglvendor.c \
libeglerror.c
# The generated EGL dispatch stubs are build independantly of the rest of the
# EGL library. Use a convenience library here to make it easier to move them
# to another directory.
noinst_LTLIBRARIES = libEGL_dispatch_stubs.la
libEGL_dispatch_stubs_la_CFLAGS = -I$(top_srcdir)/include
libEGL_dispatch_stubs_la_SOURCES = \
egldispatchstubs.c \
g_egldispatchstubs.c
if HAVE_PYTHON
BUILT_SOURCES = g_egldispatchstubs.c g_egldispatchstubs.h
CLEANFILES = $(BUILT_SOURCES)
GENERATE_DISPATCH_SCRIPT = $(top_srcdir)/src/generate/gen_egl_dispatch.py
GENERATE_LIST_FILES = \
$(top_srcdir)/src/generate/xml/egl.xml
GENERATE_DEPS = \
$(top_srcdir)/src/generate/eglFunctionList.py \
$(top_srcdir)/src/generate/genCommon.py \
$(GENERATE_DISPATCH_SCRIPT) \
$(GENERATE_LIST_FILES)
g_egldispatchstubs.c : $(GENERATE_DEPS)
$(AM_V_GEN)$(PYTHON) $(GENERATE_DISPATCH_SCRIPT) source $(GENERATE_LIST_FILES) > $@
g_egldispatchstubs.h : $(GENERATE_DEPS)
$(AM_V_GEN)$(PYTHON) $(GENERATE_DISPATCH_SCRIPT) header $(GENERATE_LIST_FILES) > $@
endif
AM_TESTS_ENVIRONMENT = \
TOP_SRCDIR='$(top_srcdir)' \
TOP_BUILDDIR='$(top_builddir)' \
NM='$(NM)' \
PYTHON='$(PYTHON)'
TESTS = egl-symbol-check.sh
EXTRA_DIST = \
egl-symbol-check.sh \
egl.symbols \
meson.build
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = egl.pc