From 07abd913b654a1a04a90db6203a92a14e4ae795a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 14 May 2012 18:38:54 -0700 Subject: automake: Move top-level makefile to automake. This is part of a series to fix our build issues in the automake case by hooking up the automatic Makefile regeneration support. The extract_git_sha1 is moved into src/mesa/Makefile so that we get correct dependency generation. Reviewed-by: Kenneth Graunke --- Makefile.am | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 Makefile.am (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..59fd9b5 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,124 @@ +# 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 +# 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 +# Software. +# +# 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 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 tests + +doxygen: + cd doxygen && $(MAKE) + +check-local: + $(MAKE) -C src/glsl/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 + -rm -f $(top_builddir)/configs/autoconf + -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 \ + tests/Makefile.in \ + tests/glx/Makefile.in \ + 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/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.cpp glsl_parser.h glsl_lexer.cpp + $(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 -- cgit v1.1