Android.mk revision bfdc92c517a50078689f9621386005ff45bb12d3
1# Only build if BUILD_RENDERSCRIPT is defined to true in the environment.
2ifeq ($(BUILD_RENDERSCRIPT),true)
3
4TOP_LOCAL_PATH:=$(call my-dir)
5include $(CLEAR_VARS)
6LOCAL_PATH:= $(TOP_LOCAL_PATH)
7
8# Build rsg-generator
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
34RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
35
36# Build render script lib
37
38include $(CLEAR_VARS)
39LOCAL_MODULE := libRS
40
41LOCAL_MODULE_CLASS := SHARED_LIBRARIES
42intermediates:= $(local-intermediates-dir)
43
44RS_GENERATED_INCLUDE_DIR:=$(intermediates)
45
46# Generate custom headers
47
48GEN := $(addprefix $(intermediates)/, \
49            rsgApiStructs.h \
50            rsgApiFuncDecl.h \
51        )
52
53$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec
54$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
55$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
56	$(transform-generated-source)
57LOCAL_GENERATED_SOURCES += $(GEN)
58
59# Generate custom source files
60
61GEN := $(addprefix $(intermediates)/, \
62            rsgApi.cpp \
63            rsgApiReplay.cpp \
64        )
65        
66$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec
67$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
68$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
69	$(transform-generated-source)
70LOCAL_GENERATED_SOURCES += $(GEN)
71
72LOCAL_SRC_FILES:= \
73	rsAdapter.cpp \
74	rsAllocation.cpp \
75	rsComponent.cpp \
76	rsContext.cpp \
77	rsDevice.cpp \
78	rsElement.cpp \
79	rsLocklessFifo.cpp \
80	rsObjectBase.cpp \
81	rsMatrix.cpp \
82	rsProgram.cpp \
83	rsProgramFragment.cpp \
84	rsProgramFragmentStore.cpp \
85	rsProgramVertex.cpp \
86	rsSampler.cpp \
87	rsScript.cpp \
88	rsScriptC.cpp \
89	rsThreadIO.cpp \
90	rsType.cpp \
91	rsTriangleMesh.cpp
92
93LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui 
94LOCAL_LDLIBS := -lpthread -ldl
95LOCAL_MODULE:= libRS
96
97#LOCAL_MODULE_TAGS := tests
98
99include $(BUILD_SHARED_LIBRARY)
100
101# Build JNI library
102
103LOCAL_PATH:= $(TOP_LOCAL_PATH)/jni
104include $(CLEAR_VARS)
105
106LOCAL_SRC_FILES:= \
107	RenderScript_jni.cpp
108
109LOCAL_SHARED_LIBRARIES := \
110	libandroid_runtime \
111	libnativehelper \
112	libRS \
113	libcutils \
114	libutils \
115	libui
116
117LOCAL_STATIC_LIBRARIES :=
118
119LOCAL_C_INCLUDES += \
120	$(JNI_H_INCLUDE) \
121	$(RS_GENERATED_INCLUDE_DIR) \
122	$(call include-path-for, corecg graphics)
123
124LOCAL_CFLAGS +=
125
126LOCAL_LDLIBS := -lpthread
127
128LOCAL_MODULE:= libRS_jni
129
130include $(BUILD_SHARED_LIBRARY)
131
132include $(call all-subdir-makefiles)
133endif # BUILD_RENDERSCRIPT
134