Home | History | Annotate | Download | only in src
      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 
     22 SUBDIRS = src
     23 
     24 ACLOCAL_AMFLAGS = -I m4
     25 
     26 doxygen:
     27 	cd doxygen && $(MAKE)
     28 
     29 check-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 
     36 clean-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 
     47 distclean-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 
     57 PACKAGE_VERSION=9.0.3
     58 PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
     59 PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
     60 
     61 EXTRA_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 
     91 IGNORE_FILES = \
     92 	-x autogen.sh
     93 
     94 
     95 parsers: 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:
    102 ARCHIVES = $(PACKAGE_NAME).tar.gz \
    103 	$(PACKAGE_NAME).tar.bz2 \
    104 	$(PACKAGE_NAME).zip
    105 
    106 tarballs: md5
    107 	rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
    108 
    109 manifest.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 
    133 md5: $(ARCHIVES)
    134 	@-md5sum $(PACKAGE_NAME).tar.gz
    135 	@-md5sum $(PACKAGE_NAME).tar.bz2
    136 	@-md5sum $(PACKAGE_NAME).zip
    137 
    138 .PHONY: tarballs md5
    139