wayland: Don't rely on static variable for identifying wl_drm buffers
[mesa.git] / Makefile.am
index 32c804c12524c250dd134099d0b120368dd76163..343badef4b79abcfd2b386b5c5f623cbd7226b2f 100644 (file)
@@ -1,12 +1,11 @@
-# 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.
+# 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.
 
-AUTOMAKE_OPTIONS = foreign
+SUBDIRS = src
 
-bin_PROGRAMS = glsl
-glsl_SOURCES = 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_constant_expression.cpp \
-       ir_constant_folding.cpp
+ACLOCAL_AMFLAGS = -I m4
 
-BUILT_SOURCES = glsl_parser.h builtin_types.h glsl_parser.cpp glsl_lexer.cpp
-CLEANFILES = $(BUILT_SOURCES)
+doxygen:
+       cd doxygen && $(MAKE)
 
-glsl_parser.h: glsl_parser.cpp
+.PHONY: doxygen
 
-.lpp.cpp:
-       $(LEXCOMPILE) --outfile="$@" $<
+# Rules for making release tarballs
 
-builtin_types.h: builtin_types.sh
-       bash ./builtin_types.sh > builtin_types.h
+PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
+PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
+
+EXTRA_FILES = \
+       aclocal.m4                                      \
+       configure                                       \
+       VERSION                                 \
+       bin/ar-lib                                      \
+       bin/compile                                     \
+       bin/config.sub                                  \
+       bin/config.guess                                \
+       bin/depcomp                                     \
+       bin/install-sh                                  \
+       bin/ltmain.sh                                   \
+       bin/missing                                     \
+       bin/ylwrap                                      \
+       src/glsl/glsl_parser.cpp                        \
+       src/glsl/glsl_parser.h                          \
+       src/glsl/glsl_lexer.cpp                         \
+       src/glsl/glcpp/glcpp-lex.c                      \
+       src/glsl/glcpp/glcpp-parse.c                    \
+       src/glsl/glcpp/glcpp-parse.h                    \
+       src/mesa/program/lex.yy.c                       \
+       src/mesa/program/program_parse.tab.c            \
+       src/mesa/program/program_parse.tab.h            \
+       `git ls-files | grep "Makefile.am" | sed -e "s/Makefile.am/Makefile.in/"`
+
+
+IGNORE_FILES = \
+       -x autogen.sh
+
+
+parsers: configure
+       $(MAKE) -C src/glsl glsl_parser.cpp glsl_parser.h glsl_lexer.cpp glcpp/glcpp-lex.c glcpp/glcpp-parse.c glcpp/glcpp-parse.h
+       $(MAKE) -C src/mesa/program lex.yy.c program_parse.tab.c 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