add10891918db376850450abcd0d150fb0ac4d3f
[mesa.git] / Makefile.am
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 # Rules for making release tarballs
27
28 PACKAGE_DIR = Mesa-$(PACKAGE_VERSION)
29 PACKAGE_NAME = MesaLib-$(PACKAGE_VERSION)
30
31 EXTRA_DIST = \
32 docs \
33 doxygen
34
35 EXTRA_FILES = \
36 aclocal.m4 \
37 configure \
38 bin/ar-lib \
39 bin/compile \
40 bin/config.sub \
41 bin/config.guess \
42 bin/depcomp \
43 bin/install-sh \
44 bin/ltmain.sh \
45 bin/missing \
46 bin/ylwrap \
47 bin/test-driver \
48 src/glsl/glsl_parser.cpp \
49 src/glsl/glsl_parser.h \
50 src/glsl/glsl_lexer.cpp \
51 src/glsl/glcpp/glcpp-lex.c \
52 src/glsl/glcpp/glcpp-parse.c \
53 src/glsl/glcpp/glcpp-parse.h \
54 src/mesa/program/lex.yy.c \
55 src/mesa/program/program_parse.tab.c \
56 src/mesa/program/program_parse.tab.h \
57 `git ls-files | grep "Makefile.am" | sed -e "s/Makefile.am/Makefile.in/"`
58
59 noinst_HEADERS = \
60 include/c99_compat.h \
61 include/c99 \
62 include/c11 \
63 include/D3D9 \
64 include/HaikuGL \
65 include/pci_ids
66
67 IGNORE_FILES = \
68 -x autogen.sh
69
70
71 parsers: configure
72 $(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
73
74 # Everything for new a Mesa release:
75 ARCHIVES = $(PACKAGE_NAME).tar.gz \
76 $(PACKAGE_NAME).tar.bz2 \
77 $(PACKAGE_NAME).zip
78
79 tarballs: checksums
80 rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
81
82 manifest.txt: .git
83 ( \
84 ls -1 $(EXTRA_FILES) ; \
85 git ls-files $(IGNORE_FILES) \
86 ) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@
87
88 ../$(PACKAGE_DIR):
89 ln -s $(PWD) $@
90
91 $(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt
92 cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt
93
94 $(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR)
95 gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz
96
97 $(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar
98 bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2
99
100 $(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
101 rm -f $(PACKAGE_NAME).zip ; \
102 cd .. ; \
103 zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
104 mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
105
106 checksums: $(ARCHIVES)
107 @-sha256sum $(PACKAGE_NAME).tar.gz
108 @-sha256sum $(PACKAGE_NAME).tar.bz2
109 @-sha256sum $(PACKAGE_NAME).zip
110
111 .PHONY: tarballs checksums
112
113 # We list some directories in EXTRA_DIST, but don't actually want to include
114 # the .gitignore files in the tarball.
115 dist-hook:
116 find $(distdir) -name .gitignore -exec $(RM) {} +