1 # Mesa 3-D graphics library
3 # Copyright (C) 2010-2011 Chia-I Wu <olvaffe@gmail.com>
4 # Copyright (C) 2010-2011 LunarG Inc.
6 # Permission is hereby granted, free of charge, to any person obtaining a
7 # copy of this software and associated documentation files (the "Software"),
8 # to deal in the Software without restriction, including without limitation
9 # the rights to use, copy, modify, merge, publish, distribute, sublicense,
10 # and/or sell copies of the Software, and to permit persons to whom the
11 # Software is furnished to do so, subject to the following conditions:
13 # The above copyright notice and this permission notice shall be included
14 # in all copies or substantial portions of the Software.
16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 # DEALINGS IN THE SOFTWARE.
24 # included by core mesa Android.mk for source generation
26 ifeq ($(LOCAL_MODULE_CLASS
),)
27 LOCAL_MODULE_CLASS
:= STATIC_LIBRARIES
30 intermediates
:= $(call local-intermediates-dir
)
32 # This is the list of auto-generated files: sources and headers
36 main
/api_exec_es1_dispatch.h \
37 main
/api_exec_es1_remap_helper.h \
39 main
/api_exec_es2_dispatch.h \
40 program
/program_parse.tab.c \
44 main
/api_exec_es2_remap_helper.h
46 LOCAL_SRC_FILES
:= $(filter-out $(sources
), $(LOCAL_SRC_FILES
))
48 LOCAL_C_INCLUDES
+= $(intermediates
)/main
50 ifeq ($(strip $(MESA_ENABLE_ASM
)),true
)
51 ifeq ($(TARGET_ARCH
),x86
)
52 sources
+= x86
/matypes.h
53 LOCAL_C_INCLUDES
+= $(intermediates
)/x86
57 sources
+= main
/git_sha1.h
59 sources
:= $(addprefix $(intermediates
)/, $(sources
))
61 LOCAL_GENERATED_SOURCES
+= $(sources
)
63 glapi
:= $(MESA_TOP
)/src
/mapi
/glapi
/gen
66 $(LOCAL_PATH
)/main
/APIspec.xml \
67 $(LOCAL_PATH
)/main
/es_generator.py \
68 $(LOCAL_PATH
)/main
/APIspecutil.py \
69 $(LOCAL_PATH
)/main
/APIspec.py
72 $(wildcard $(glapi
)/*.py
) \
73 $(wildcard $(glapi
)/*.xml
)
77 @echo
"Mesa Lex: $(PRIVATE_MODULE) <= $<"
78 $(hide
) $(LEX
) -o
$@
$<
81 define local-y-to-c-and-h
83 @echo
"Mesa Yacc: $(PRIVATE_MODULE) <= $<"
84 $(hide
) $(YACC
) -o
$@
$<
89 @echo
"Gen ES: $(PRIVATE_MODULE) <= $(notdir $(@))"
90 $(hide
) $(PRIVATE_SCRIPT
) $(1) $(PRIVATE_XML
) > $@
93 $(intermediates
)/main
/api_exec_
%.c
: PRIVATE_SCRIPT
:= $(MESA_PYTHON2
) $(LOCAL_PATH
)/main
/es_generator.py
94 $(intermediates
)/main
/api_exec_
%.c
: PRIVATE_XML
:= -S
$(LOCAL_PATH
)/main
/APIspec.xml
95 $(intermediates
)/main
/api_exec_
%_dispatch.h
: PRIVATE_SCRIPT
:= $(MESA_PYTHON2
) $(glapi
)/gl_table.py
96 $(intermediates
)/main
/api_exec_
%_dispatch.h
: PRIVATE_XML
:= -f
$(glapi
)/gl_and_es_API.xml
97 $(intermediates
)/main
/api_exec_
%_remap_helper.h
: PRIVATE_SCRIPT
:= $(MESA_PYTHON2
) $(glapi
)/remap_helper.py
98 $(intermediates
)/main
/api_exec_
%_remap_helper.h
: PRIVATE_XML
:= -f
$(glapi
)/gl_and_es_API.xml
100 $(intermediates
)/main
/api_exec_es1.c
: $(es_src_deps
)
101 $(call es-gen
, -V GLES1.1
)
103 $(intermediates
)/main
/api_exec_es2.c
: $(es_src_deps
)
104 $(call es-gen
, -V GLES2.0
)
106 $(intermediates
)/main
/api_exec_
%_dispatch.h
: $(es_hdr_deps
)
107 $(call es-gen
, -c
$* -m remap_table
)
109 $(intermediates
)/main
/api_exec_
%_remap_helper.h
: $(es_hdr_deps
)
110 $(call es-gen
, -c
$*)
112 $(intermediates
)/program
/program_parse.tab.c
: $(LOCAL_PATH
)/program
/program_parse.y
113 $(local-y-to-c-and-h
)
115 $(intermediates
)/program
/lex.yy.c
: $(LOCAL_PATH
)/program
/program_lexer.l
118 $(intermediates
)/main
/git_sha1.h
:
120 @echo
"GIT-SHA1: $(PRIVATE_MODULE) <= git"
122 $(hide
) if which git
> /dev
/null
; then \
123 git
--git-dir
$(PRIVATE_PATH
)/..
/..
/.git log
-n
1 --oneline | \
124 sed
's/^\([^ ]*\) .*/#define MESA_GIT_SHA1 "git-\1"/' \
129 $(BUILD_OUT_EXECUTABLES
)/mesa_gen_matypes
$(BUILD_EXECUTABLE_SUFFIX
) \
130 $(LOCAL_PATH
)/main
/mtypes.h \
131 $(LOCAL_PATH
)/tnl
/t_context.h
133 $(intermediates
)/x86
/matypes.h
: $(matypes_deps
)
135 @echo
"MATYPES: $(PRIVATE_MODULE) <= $(notdir $@)"
138 $(intermediates
)/main
/dispatch.h
: PRIVATE_SCRIPT
:= $(MESA_PYTHON2
) $(glapi
)/gl_table.py
139 $(intermediates
)/main
/dispatch.h
: PRIVATE_XML
:= -f
$(glapi
)/gl_and_es_API.xml
141 $(intermediates
)/main
/dispatch.h
: $(es_hdr_deps
)
142 $(call es-gen
, $* -m remap_table
)
144 $(intermediates
)/main
/remap_helper.h
: PRIVATE_SCRIPT
:= $(MESA_PYTHON2
) $(glapi
)/remap_helper.py
145 $(intermediates
)/main
/remap_helper.h
: PRIVATE_XML
:= -f
$(glapi
)/gl_API.xml
147 $(intermediates
)/main
/remap_helper.h
: $(es_hdr_deps
)
150 $(intermediates
)/main
/enums.c
: PRIVATE_SCRIPT
:=$(MESA_PYTHON2
) $(glapi
)/gl_enums.py
151 $(intermediates
)/main
/enums.c
: PRIVATE_XML
:= -f
$(glapi
)/gl_and_es_API.xml
153 $(intermediates
)/main
/enums.c
: $(es_src_deps
)