1# Copyright © 2013 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.PHONY: git_sha1.h.tmp
23git_sha1.h.tmp:
24	@# Don't assume that $(top_srcdir)/.git is a directory. It may be
25	@# a gitlink file if $(top_srcdir) is a submodule checkout or a linked
26	@# worktree.
27	@# If we are building from a release tarball copy the bundled header.
28	@touch git_sha1.h.tmp
29	@if test -e $(top_srcdir)/.git; then \
30		if which git > /dev/null; then \
31		    git --git-dir=$(top_srcdir)/.git log -n 1 --oneline | \
32			sed 's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
33			> git_sha1.h.tmp ; \
34		fi \
35	fi
36
37git_sha1.h: git_sha1.h.tmp
38	@echo "updating git_sha1.h"
39	@if ! cmp -s git_sha1.h.tmp git_sha1.h; then \
40		mv git_sha1.h.tmp git_sha1.h ;\
41	else \
42		rm git_sha1.h.tmp ;\
43	fi
44
45BUILT_SOURCES = git_sha1.h
46CLEANFILES = $(BUILT_SOURCES)
47EXTRA_DIST =
48
49SUBDIRS = . gtest util mapi/glapi/gen mapi
50
51if HAVE_OPENGL
52gldir = $(includedir)/GL
53gl_HEADERS = \
54  $(top_srcdir)/include/GL/gl.h \
55  $(top_srcdir)/include/GL/glext.h \
56  $(top_srcdir)/include/GL/glcorearb.h \
57  $(top_srcdir)/include/GL/gl_mangle.h
58endif
59
60if HAVE_GLX
61glxdir = $(includedir)/GL
62glx_HEADERS = \
63  $(top_srcdir)/include/GL/glx.h \
64  $(top_srcdir)/include/GL/glxext.h \
65  $(top_srcdir)/include/GL/glx_mangle.h
66pkgconfigdir = $(libdir)/pkgconfig
67pkgconfig_DATA = mesa/gl.pc
68endif
69
70if HAVE_COMMON_OSMESA
71osmesadir = $(includedir)/GL
72osmesa_HEADERS = $(top_srcdir)/include/GL/osmesa.h
73endif
74
75# include only conditionally ?
76SUBDIRS += compiler
77
78if HAVE_AMD_DRIVERS
79SUBDIRS += amd
80endif
81
82if HAVE_INTEL_DRIVERS
83SUBDIRS += intel
84endif
85
86if NEED_OPENGL_COMMON
87SUBDIRS += mesa
88endif
89
90SUBDIRS += loader
91
92if HAVE_DRI_GLX
93SUBDIRS += glx
94endif
95
96## Optionally required by GBM and EGL
97if HAVE_PLATFORM_WAYLAND
98SUBDIRS += egl/wayland/wayland-drm
99endif
100
101## Optionally required by EGL (aka PLATFORM_GBM)
102if HAVE_GBM
103SUBDIRS += gbm
104endif
105
106## Optionally required by EGL
107if HAVE_PLATFORM_WAYLAND
108SUBDIRS += egl/wayland/wayland-egl
109endif
110
111if HAVE_EGL
112SUBDIRS += egl
113endif
114
115if HAVE_INTEL_DRIVERS
116SUBDIRS += intel/tools
117endif
118
119if HAVE_VULKAN_COMMON
120SUBDIRS += vulkan/wsi
121endif
122EXTRA_DIST += vulkan/registry/vk.xml
123
124## Requires the i965 compiler (part of mesa) and wayland-drm
125if HAVE_INTEL_VULKAN
126SUBDIRS += intel/vulkan
127endif
128
129# Requires wayland-drm
130if HAVE_RADEON_VULKAN
131SUBDIRS += amd/vulkan
132endif
133
134if HAVE_GALLIUM
135SUBDIRS += gallium
136endif
137
138EXTRA_DIST += \
139	getopt hgl SConscript \
140	$(top_srcdir)/include/GL/mesa_glinterop.h
141
142AM_CFLAGS = $(VISIBILITY_CFLAGS)
143AM_CXXFLAGS = $(VISIBILITY_CXXFLAGS)
144
145AM_CPPFLAGS = \
146	-I$(top_srcdir)/include/ \
147	-I$(top_srcdir)/src/mapi/ \
148	-I$(top_srcdir)/src/mesa/ \
149	-I$(top_srcdir)/src/gallium/include \
150	-I$(top_srcdir)/src/gallium/auxiliary \
151	$(DEFINES)
152
153noinst_LTLIBRARIES = libglsl_util.la
154
155libglsl_util_la_SOURCES = \
156	mesa/main/extensions_table.c \
157	mesa/main/imports.c \
158	mesa/program/prog_parameter.c \
159	mesa/program/symbol_table.c \
160	mesa/program/dummy_errors.c
161