1# Copyright © 2012 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 22SUBDIRS = src 23 24ACLOCAL_AMFLAGS = -I m4 25 26doxygen: 27 cd doxygen && $(MAKE) 28 29check-local: 30 $(MAKE) -C src/mapi/glapi/tests check 31 $(MAKE) -C src/mapi/shared-glapi/tests check 32 $(MAKE) -C src/mesa/main/tests check 33 $(MAKE) -C src/glsl/tests check 34 $(MAKE) -C src/glx/tests check 35 36clean-local: 37 -@touch $(top_builddir)/configs/current 38 -@for dir in $(SUBDIRS) ; do \ 39 if [ -d $$dir ] ; then \ 40 (cd $$dir && $(MAKE) clean) ; \ 41 fi \ 42 done 43 -@test -s $(top_builddir)/configs/current || rm -f $(top_builddir)/configs/current 44 45 46 47distclean-local: 48 -rm -rf lib* 49 -rm -f $(top_builddir)/configs/current 50 -find . '(' -name '*.o' -o -name '*.a' -o -name '*.so' -o \ 51 -name depend -o -name depend.bak ')' -exec rm -f '{}' ';' 52 53.PHONY: doxygen 54 55# Rules for making release tarballs 56 57PACKAGE_VERSION=9.0.3 58PACKAGE_DIR = Mesa-$(PACKAGE_VERSION) 59PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION) 60 61EXTRA_FILES = \ 62 aclocal.m4 \ 63 configure \ 64 bin/ar-lib \ 65 bin/compile \ 66 bin/config.sub \ 67 bin/config.guess \ 68 bin/depcomp \ 69 bin/install-sh \ 70 bin/ltmain.sh \ 71 bin/missing \ 72 bin/ylwrap \ 73 src/glsl/glsl_parser.cc \ 74 src/glsl/glsl_parser.h \ 75 src/glsl/glsl_lexer.cc \ 76 src/glsl/glcpp/glcpp-lex.c \ 77 src/glsl/glcpp/glcpp-parse.c \ 78 src/glsl/glcpp/glcpp-parse.h \ 79 src/mesa/main/api_exec_es1.c \ 80 src/mesa/main/api_exec_es1_dispatch.h \ 81 src/mesa/main/api_exec_es1_remap_helper.h \ 82 src/mesa/main/api_exec_es2.c \ 83 src/mesa/main/api_exec_es2_dispatch.h \ 84 src/mesa/main/api_exec_es2_remap_helper.h \ 85 src/mesa/program/lex.yy.c \ 86 src/mesa/program/program_parse.tab.c \ 87 src/mesa/program/program_parse.tab.h \ 88 `git ls-files | grep "Makefile.am" | sed -e "s/Makefile.am/Makefile.in/"` 89 90 91IGNORE_FILES = \ 92 -x autogen.sh 93 94 95parsers: configure 96 -@touch $(top_builddir)/configs/current 97 $(MAKE) -C src/glsl glsl_parser.cc glsl_parser.h glsl_lexer.cc 98 $(MAKE) -C src/glsl/glcpp glcpp-lex.c glcpp-parse.c glcpp-parse.h 99 $(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h 100 101# Everything for new a Mesa release: 102ARCHIVES = $(PACKAGE_NAME).tar.gz \ 103 $(PACKAGE_NAME).tar.bz2 \ 104 $(PACKAGE_NAME).zip 105 106tarballs: md5 107 rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar 108 109manifest.txt: .git 110 ( \ 111 ls -1 $(EXTRA_FILES) ; \ 112 git ls-files $(IGNORE_FILES) \ 113 ) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@ 114 115../$(PACKAGE_DIR): 116 ln -s $(PWD) $@ 117 118$(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt 119 cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt 120 121$(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR) 122 gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz 123 124$(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar 125 bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2 126 127$(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt 128 rm -f $(PACKAGE_NAME).zip ; \ 129 cd .. ; \ 130 zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \ 131 mv $(PACKAGE_NAME).zip $(PACKAGE_DIR) 132 133md5: $(ARCHIVES) 134 @-md5sum $(PACKAGE_NAME).tar.gz 135 @-md5sum $(PACKAGE_NAME).tar.bz2 136 @-md5sum $(PACKAGE_NAME).zip 137 138.PHONY: tarballs md5 139