-# Copyright © 2010 Intel Corporation
-# All Rights Reserved.
+# Copyright © 2012 Intel Corporation
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
-# on the rights to use, copy, modify, merge, publish, distribute, sub
-# license, and/or sell copies of the Software, and to permit persons to whom
-# the Software is furnished to do so, subject to the following conditions:
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
#
# THE SOFTWARE IS 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 NON-INFRINGEMENT. IN NO EVENT SHALL
-# AUTHORS, COPYRIGHT HOLDERS, AND/OR THEIR SUPPLIERS 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 SOFTWARE OR THE
-# USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-AUTOMAKE_OPTIONS = foreign
-AM_CPPFLAGS = -I mesa
-
-SUBDIRS = glcpp
-
-bin_PROGRAMS = glsl
-
-glsl_LDADD = ./glcpp/libglcpp.la
-glsl_LDFLAGS = @LDFLAGS@ $(talloc_LIBS)
-glsl_SOURCES = \
- main.cpp \
- builtin_types.h \
- symbol_table.c hash_table.c glsl_types.cpp \
- glsl_parser.ypp glsl_lexer.lpp glsl_parser_extras.cpp \
- ast_expr.cpp ast_to_hir.cpp ast_function.cpp ast_type.cpp \
- ir.cpp hir_field_selection.cpp builtin_function.cpp \
- ir_print_visitor.cpp ir_variable.cpp ir_function.cpp \
- ir_basic_block.cpp \
- ir_basic_block.h \
- ir_clone.cpp \
- ir_constant_expression.cpp \
- ir_constant_folding.cpp \
- ir_constant_variable.cpp \
- ir_copy_propagation.cpp \
- ir_copy_propagation.h \
- ir_dead_code.cpp \
- ir_dead_code.h \
- ir_dead_code_local.cpp \
- ir_expression_flattening.cpp \
- ir_function_can_inline.cpp \
- ir_function_inlining.cpp \
- ir_if_simplification.cpp \
- ir_optimization.h \
- ir_reader.cpp s_expression.cpp \
- ir_hv_accept.cpp \
- ir_hierarchical_visitor.h \
- ir_hierarchical_visitor.cpp \
- ir_swizzle_swizzle.cpp \
- ir_to_mesa.cpp \
- ir_to_mesa.h \
- ir_validate.cpp \
- ir_vec_index_to_swizzle.cpp \
- linker.cpp \
- mesa/shader/prog_instruction.c \
- mesa/shader/prog_instruction.h \
- mesa/shader/prog_print.c \
- mesa/shader/prog_print.h
-
-BUILT_SOURCES = glsl_parser.h glsl_parser.cpp glsl_lexer.cpp
-CLEANFILES = $(BUILT_SOURCES)
-
-builtin_function.cpp: builtins/*/*
- ./builtins/tools/generate_builtins.pl > builtin_function.cpp
-glsl_parser.h: glsl_parser.cpp
-
-.lpp.cpp:
- $(LEXCOMPILE) --outfile="$@" $<
+# 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 SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+SUBDIRS = src
+
+doxygen:
+ cd doxygen && $(MAKE)
+
+check-local:
+ $(MAKE) -C src/mapi/glapi/tests check
+ $(MAKE) -C src/mesa/main/tests check
+ $(MAKE) -C src/glsl/tests check
+ $(MAKE) -C src/glx/tests check
+
+clean-local:
+ -@touch $(top_builddir)/configs/current
+ -@for dir in $(SUBDIRS) ; do \
+ if [ -d $$dir ] ; then \
+ (cd $$dir && $(MAKE) clean) ; \
+ fi \
+ done
+ -@test -s $(top_builddir)/configs/current || rm -f $(top_builddir)/configs/current
+
+
+
+distclean-local:
+ -rm -rf lib*
+ -rm -f $(top_builddir)/configs/current
+ -find . '(' -name '*.o' -o -name '*.a' -o -name '*.so' -o \
+ -name depend -o -name depend.bak ')' -exec rm -f '{}' ';'
+
+.PHONY: doxygen
+
+# Rules for making release tarballs
+
+PACKAGE_VERSION=8.1-devel
+PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
+PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
+
+EXTRA_FILES = \
+ aclocal.m4 \
+ configure \
+ src/glsl/glsl_parser.cc \
+ src/glsl/glsl_parser.h \
+ src/glsl/glsl_lexer.cc \
+ src/glsl/glcpp/glcpp-lex.c \
+ src/glsl/glcpp/glcpp-parse.c \
+ src/glsl/glcpp/glcpp-parse.h \
+ src/mesa/main/api_exec_es1.c \
+ src/mesa/main/api_exec_es1_dispatch.h \
+ src/mesa/main/api_exec_es1_remap_helper.h \
+ src/mesa/main/api_exec_es2.c \
+ src/mesa/main/api_exec_es2_dispatch.h \
+ src/mesa/main/api_exec_es2_remap_helper.h \
+ src/mesa/program/lex.yy.c \
+ src/mesa/program/program_parse.tab.c \
+ src/mesa/program/program_parse.tab.h
+
+IGNORE_FILES = \
+ -x autogen.sh
+
+
+parsers: configure
+ -@touch $(top_builddir)/configs/current
+ $(MAKE) -C src/glsl glsl_parser.cc glsl_parser.h glsl_lexer.cc
+ $(MAKE) -C src/glsl/glcpp glcpp-lex.c glcpp-parse.c glcpp-parse.h
+ $(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
+
+# Everything for new a Mesa release:
+ARCHIVES = $(PACKAGE_NAME).tar.gz \
+ $(PACKAGE_NAME).tar.bz2 \
+ $(PACKAGE_NAME).zip
+
+tarballs: md5
+ rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
+
+manifest.txt: .git
+ ( \
+ ls -1 $(EXTRA_FILES) ; \
+ git ls-files $(IGNORE_FILES) \
+ ) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@
+
+../$(PACKAGE_DIR):
+ ln -s $(PWD) $@
+
+$(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt
+ cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt
+
+$(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR)
+ gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz
+
+$(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar
+ bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2
+
+$(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
+ rm -f $(PACKAGE_NAME).zip ; \
+ cd .. ; \
+ zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
+ mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
+
+md5: $(ARCHIVES)
+ @-md5sum $(PACKAGE_NAME).tar.gz
+ @-md5sum $(PACKAGE_NAME).tar.bz2
+ @-md5sum $(PACKAGE_NAME).zip
+
+.PHONY: tarballs md5