Android.mk revision b80dfa72dfdd146a9ddee948ad76635dbea3c0cd
1# Only build if BUILD_RENDERSCRIPT is defined to true in the environment.
2ifeq ($(BUILD_RENDERSCRIPT),true)
3
4LOCAL_PATH:=$(call my-dir)
5
6
7# Build rsg-generator ====================
8include $(CLEAR_VARS)
9
10LOCAL_MODULE := rsg-generator
11
12# These symbols are normally defined by BUILD_XXX, but we need to define them
13# here so that local-intermediates-dir works.
14
15LOCAL_IS_HOST_MODULE := true
16LOCAL_MODULE_CLASS := EXECUTABLES
17intermediates := $(local-intermediates-dir)
18
19GEN := $(addprefix $(intermediates)/, \
20            lex.yy.c \
21        )
22$(GEN):	PRIVATE_CUSTOM_TOOL = flex -o $@ $<
23
24$(intermediates)/lex.yy.c : $(LOCAL_PATH)/spec.lex
25	$(transform-generated-source)
26
27$(LOCAL_PATH)/rsg_generator.c : $(intermediates)/lex.yy.c
28
29LOCAL_SRC_FILES:= \
30    rsg_generator.c
31
32include $(BUILD_HOST_EXECUTABLE)
33
34# TODO: This should go into build/core/config.mk
35RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
36
37
38
39# Build render script lib ====================
40include $(CLEAR_VARS)
41LOCAL_MODULE := libRS
42
43LOCAL_MODULE_CLASS := SHARED_LIBRARIES
44intermediates:= $(local-intermediates-dir)
45
46# Generate custom headers
47
48GEN := $(addprefix $(intermediates)/, \
49            rsgApiStructs.h \
50            rsgApiFuncDecl.h \
51        )
52
53$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
54$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
55$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
56$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
57	$(transform-generated-source)
58
59# used in jni/Android.mk
60rs_generated_source += $(GEN)
61LOCAL_GENERATED_SOURCES += $(GEN)
62
63# Generate custom source files
64
65GEN := $(addprefix $(intermediates)/, \
66            rsgApi.cpp \
67            rsgApiReplay.cpp \
68        )
69
70$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
71$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
72$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
73$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
74	$(transform-generated-source)
75
76# used in jni/Android.mk
77rs_generated_source += $(GEN)
78
79LOCAL_GENERATED_SOURCES += $(GEN)
80
81LOCAL_SRC_FILES:= \
82	rsAdapter.cpp \
83	rsAllocation.cpp \
84	rsComponent.cpp \
85	rsContext.cpp \
86	rsDevice.cpp \
87	rsElement.cpp \
88        rsFileA3D.cpp \
89	rsLight.cpp \
90	rsLocklessFifo.cpp \
91	rsObjectBase.cpp \
92	rsMatrix.cpp \
93        rsMesh.cpp \
94	rsProgram.cpp \
95	rsProgramFragment.cpp \
96	rsProgramFragmentStore.cpp \
97	rsProgramVertex.cpp \
98	rsSampler.cpp \
99	rsScript.cpp \
100	rsScriptC.cpp \
101	rsThreadIO.cpp \
102	rsType.cpp \
103	rsTriangleMesh.cpp
104
105LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui libacc
106LOCAL_LDLIBS := -lpthread -ldl
107LOCAL_MODULE:= libRS
108LOCAL_PRELINK_MODULE := false
109
110LOCAL_MODULE_TAGS := optional
111
112include $(BUILD_SHARED_LIBRARY)
113
114# Include the subdirectories ====================
115include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk,\
116            jni \
117            java \
118    	))
119
120endif # BUILD_RENDERSCRIPT
121