Android.mk revision 196ac850afc2382c901d3866a6e9bd95093893b9
1d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# Only build if BUILD_RENDERSCRIPT is defined to true in the environment.
2d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsifeq ($(BUILD_RENDERSCRIPT),true)
3d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
494d8e90ad78ee1dbc0efa315117688abd126ae55Jason SamsLOCAL_PATH:=$(call my-dir)
594d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams
6d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
794d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# Build rsg-generator ====================
894d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsinclude $(CLEAR_VARS)
9d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
10d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE := rsg-generator
11d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
12d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# These symbols are normally defined by BUILD_XXX, but we need to define them
13d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# here so that local-intermediates-dir works.
14d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
15d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_IS_HOST_MODULE := true
16d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE_CLASS := EXECUTABLES
1794d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsintermediates := $(local-intermediates-dir)
18d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
19d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsGEN := $(addprefix $(intermediates)/, \
20d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            lex.yy.c \
21d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams        )
22d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN):	PRIVATE_CUSTOM_TOOL = flex -o $@ $<
23d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
24d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(intermediates)/lex.yy.c : $(LOCAL_PATH)/spec.lex
25d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	$(transform-generated-source)
26d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
27d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(LOCAL_PATH)/rsg_generator.c : $(intermediates)/lex.yy.c
28d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
29d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_SRC_FILES:= \
30d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    rsg_generator.c
3194d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams
32d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsinclude $(BUILD_HOST_EXECUTABLE)
33d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
3494d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# TODO: This should go into build/core/config.mk
35d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsRSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
36d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
37d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
3894d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams
3994d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# Build render script lib ====================
40d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsinclude $(CLEAR_VARS)
41d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE := libRS
42d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
43d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE_CLASS := SHARED_LIBRARIES
44d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsintermediates:= $(local-intermediates-dir)
45d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
46d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# Generate custom headers
47d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
48d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsGEN := $(addprefix $(intermediates)/, \
49d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApiStructs.h \
50d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApiFuncDecl.h \
51d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams        )
52d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
53196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
54196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
55d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
56d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
57d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	$(transform-generated-source)
58eaff30744e7961dfa304368f81cb56cc4166f495Jack Palevich
5994d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# used in jni/Android.mk
6094d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsrs_generated_source += $(GEN)
61d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_GENERATED_SOURCES += $(GEN)
62d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
63d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# Generate custom source files
64d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
65d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsGEN := $(addprefix $(intermediates)/, \
66d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApi.cpp \
67d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApiReplay.cpp \
68d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams        )
69eaff30744e7961dfa304368f81cb56cc4166f495Jack Palevich
70196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
71196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
72d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
73d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
74d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	$(transform-generated-source)
75eaff30744e7961dfa304368f81cb56cc4166f495Jack Palevich
7694d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# used in jni/Android.mk
7794d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsrs_generated_source += $(GEN)
78196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams
79d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_GENERATED_SOURCES += $(GEN)
80d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
81d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_SRC_FILES:= \
82d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsAdapter.cpp \
83d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsAllocation.cpp \
84d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsComponent.cpp \
85d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsContext.cpp \
86d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsDevice.cpp \
87d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsElement.cpp \
88d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsLocklessFifo.cpp \
89d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsObjectBase.cpp \
90d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsMatrix.cpp \
91d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgram.cpp \
92d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgramFragment.cpp \
93d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgramFragmentStore.cpp \
94d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgramVertex.cpp \
95d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsSampler.cpp \
96d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsScript.cpp \
97d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsScriptC.cpp \
98d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsThreadIO.cpp \
99d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsType.cpp \
100d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsTriangleMesh.cpp
101d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
102ec5a20bf2b9f563f9f6a4bde4d8cbbe13598fd25Jack PalevichLOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui libacc
103d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_LDLIBS := -lpthread -ldl
104d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE:= libRS
105e1ab4349268f3190f8ae6b535c4583e5f23f0a59Jack PalevichLOCAL_PRELINK_MODULE := false
106d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
10794d8e90ad78ee1dbc0efa315117688abd126ae55Jason SamsLOCAL_MODULE_TAGS := optional
108d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
109d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsinclude $(BUILD_SHARED_LIBRARY)
110d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
11194d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# Include the subdirectories ====================
11294d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsinclude $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk,\
11394d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams            jni \
11494d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams            java \
11594d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams    	))
116d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
11760aa3eaf559b1410898c228e4f6ab7920f3953d0Jack Palevichendif # BUILD_RENDERSCRIPT
118