build: add missing files to tarballs target
[profile/ivi/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 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.1
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         src/gallium/drivers/r600/Makefile.in            \
89         src/gallium/drivers/r300/Makefile.in            \
90         src/gallium/drivers/Makefile.in                 \
91         src/gallium/Makefile.in                         \
92         src/gallium/auxiliary/pipe-loader/Makefile.in   \
93         src/gallium/targets/opencl/Makefile.in          \
94         src/gallium/state_trackers/clover/Makefile.in   \
95         src/mapi/glapi/tests/Makefile.in                \
96         src/mapi/glapi/Makefile.in                      \
97         src/mapi/glapi/gen/Makefile.in                  \
98         src/mapi/es1api/Makefile.in                     \
99         src/mapi/shared-glapi/tests/Makefile.in         \
100         src/mapi/shared-glapi/Makefile.in               \
101         src/mapi/vgapi/Makefile.in                      \
102         src/mapi/es2api/Makefile.in                     \
103         src/glsl/tests/Makefile.in                      \
104         src/glsl/glcpp/Makefile.in                      \
105         src/glsl/Makefile.in                            \
106         src/gtest/Makefile.in                           \
107         src/egl/drivers/Makefile.in                     \
108         src/egl/drivers/glx/Makefile.in                 \
109         src/egl/drivers/dri2/Makefile.in                \
110         src/egl/Makefile.in                             \
111         src/egl/main/Makefile.in                        \
112         src/egl/wayland/Makefile.in                     \
113         src/egl/wayland/wayland-drm/Makefile.in         \
114         src/egl/wayland/wayland-egl/Makefile.in         \
115         src/Makefile.in                                 \
116         src/glx/tests/Makefile.in                       \
117         src/glx/Makefile.in                             \
118         src/gbm/Makefile.in                             \
119         src/mesa/drivers/Makefile.in                    \
120         src/mesa/drivers/dri/common/Makefile.in         \
121         src/mesa/drivers/dri/i965/Makefile.in           \
122         src/mesa/drivers/dri/r200/Makefile.in           \
123         src/mesa/drivers/dri/Makefile.in                \
124         src/mesa/drivers/dri/radeon/Makefile.in         \
125         src/mesa/drivers/dri/swrast/Makefile.in         \
126         src/mesa/drivers/dri/nouveau/Makefile.in        \
127         src/mesa/drivers/dri/i915/Makefile.in           \
128         src/mesa/drivers/osmesa/Makefile.in             \
129         src/mesa/drivers/x11/Makefile.in                \
130         src/mesa/Makefile.in                            \
131         src/mesa/libdricore/Makefile.in                 \
132         src/mesa/x86-64/Makefile.in                     \
133         src/mesa/main/tests/Makefile.in                 \
134         src/mesa/x86/Makefile.in                        \
135         Makefile.in
136
137
138 IGNORE_FILES = \
139         -x autogen.sh
140
141
142 parsers: configure
143         -@touch $(top_builddir)/configs/current
144         $(MAKE) -C src/glsl glsl_parser.cc glsl_parser.h glsl_lexer.cc
145         $(MAKE) -C src/glsl/glcpp glcpp-lex.c glcpp-parse.c glcpp-parse.h
146         $(MAKE) -C src/mesa program/lex.yy.c program/program_parse.tab.c program/program_parse.tab.h
147
148 # Everything for new a Mesa release:
149 ARCHIVES = $(PACKAGE_NAME).tar.gz \
150         $(PACKAGE_NAME).tar.bz2 \
151         $(PACKAGE_NAME).zip
152
153 tarballs: md5
154         rm -f ../$(PACKAGE_DIR) $(PACKAGE_NAME).tar
155
156 manifest.txt: .git
157         ( \
158                 ls -1 $(EXTRA_FILES) ; \
159                 git ls-files $(IGNORE_FILES) \
160         ) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(PACKAGE_DIR)/@" > $@
161
162 ../$(PACKAGE_DIR):
163         ln -s $(PWD) $@
164
165 $(PACKAGE_NAME).tar: parsers ../$(PACKAGE_DIR) manifest.txt
166         cd .. ; tar -cf $(PACKAGE_DIR)/$(PACKAGE_NAME).tar -T $(PACKAGE_DIR)/manifest.txt
167
168 $(PACKAGE_NAME).tar.gz: $(PACKAGE_NAME).tar ../$(PACKAGE_DIR)
169         gzip --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.gz
170
171 $(PACKAGE_NAME).tar.bz2: $(PACKAGE_NAME).tar
172         bzip2 --stdout --best $(PACKAGE_NAME).tar > $(PACKAGE_NAME).tar.bz2
173
174 $(PACKAGE_NAME).zip: parsers ../$(PACKAGE_DIR) manifest.txt
175         rm -f $(PACKAGE_NAME).zip ; \
176         cd .. ; \
177         zip -q -@ $(PACKAGE_NAME).zip < $(PACKAGE_DIR)/manifest.txt ; \
178         mv $(PACKAGE_NAME).zip $(PACKAGE_DIR)
179
180 md5: $(ARCHIVES)
181         @-md5sum $(PACKAGE_NAME).tar.gz
182         @-md5sum $(PACKAGE_NAME).tar.bz2
183         @-md5sum $(PACKAGE_NAME).zip
184
185 .PHONY: tarballs md5