1 # Copyright 2012 Intel Corporation
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:
10 # The above copyright notice and this permission notice shall be included
11 # in all copies or substantial portions of the Software.
13 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
16 # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18 # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
19 # DEALINGS IN THE SOFTWARE.
21 LOCAL_PATH
:= $(call my-dir
)
25 @echo
"Mesa Lex: $(PRIVATE_MODULE) <= $<"
26 $(hide
) $(LEX
) -o
$@
$<
29 define mesa_local-y-to-c-and-h
31 @echo
"Mesa Yacc: $(PRIVATE_MODULE) <= $<"
32 $(hide
) $(YACC
) -o
$@
-p
"_mesa_program_" $<
35 # ----------------------------------------------------------------------
37 # ----------------------------------------------------------------------
39 # Import the following variables:
41 include $(MESA_TOP
)/src
/mesa
/Makefile.sources
45 LOCAL_MODULE
:= libmesa_program
46 LOCAL_MODULE_CLASS
:= STATIC_LIBRARIES
47 LOCAL_STATIC_LIBRARIES
:= libmesa_nir \
50 intermediates
:= $(call local-generated-sources-dir
)
52 # TODO(chadv): In Makefile.sources, move these vars to a different list so we can
54 generated_sources_basenames
:= \
60 $(filter-out $(generated_sources_basenames
),$(subst program
/,,$(PROGRAM_FILES
))) \
61 $(subst program
/,,$(PROGRAM_NIR_FILES
))
63 LOCAL_GENERATED_SOURCES
:= \
64 $(addprefix $(intermediates
)/program
/,$(generated_sources_basenames
))
66 $(intermediates
)/program
/program_parse.tab.c
: $(LOCAL_PATH
)/program_parse.y
67 $(mesa_local-y-to-c-and-h
)
69 $(intermediates
)/program
/program_parse.tab.h
: $(intermediates
)/program
/program_parse.tab.c
72 $(intermediates
)/program
/lex.yy.c
: $(LOCAL_PATH
)/program_lexer.l
76 $(MESA_TOP
)/src
/mapi \
77 $(MESA_TOP
)/src
/mesa \
78 $(MESA_TOP
)/src
/compiler
/nir \
79 $(MESA_TOP
)/src
/gallium
/auxiliary \
80 $(MESA_TOP
)/src
/gallium
/include
82 LOCAL_EXPORT_C_INCLUDE_DIRS
:= $(intermediates
)
84 LOCAL_GENERATED_SOURCES
+= $(MESA_GEN_NIR_H
) \
87 include $(MESA_COMMON_MK
)
88 include $(BUILD_STATIC_LIBRARY
)