Android.mk revision 91dfcdb0f9d5402c26dd65d26d1163f05c2f1e50
1
2LOCAL_PATH:=$(call my-dir)
3
4rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable
5ifeq ($(TARGET_BUILD_PDK), true)
6  rs_base_CFLAGS += -D__RS_PDK__
7endif
8
9ifneq ($(OVERRIDE_RS_DRIVER),)
10  rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER)
11endif
12
13include $(CLEAR_VARS)
14LOCAL_CLANG := true
15LOCAL_MODULE := libRSDriver
16
17LOCAL_SRC_FILES:= \
18	driver/rsdAllocation.cpp \
19	driver/rsdBcc.cpp \
20	driver/rsdCore.cpp \
21	driver/rsdFrameBuffer.cpp \
22	driver/rsdFrameBufferObj.cpp \
23	driver/rsdGL.cpp \
24	driver/rsdIntrinsics.cpp \
25	driver/rsdIntrinsicConvolve3x3.cpp \
26	driver/rsdIntrinsicColorMatrix.cpp \
27	driver/rsdMesh.cpp \
28	driver/rsdMeshObj.cpp \
29	driver/rsdPath.cpp \
30	driver/rsdProgram.cpp \
31	driver/rsdProgramRaster.cpp \
32	driver/rsdProgramStore.cpp \
33	driver/rsdRuntimeMath.cpp \
34	driver/rsdRuntimeStubs.cpp \
35	driver/rsdSampler.cpp \
36	driver/rsdShader.cpp \
37	driver/rsdShaderCache.cpp \
38	driver/rsdVertexArray.cpp
39
40ifeq ($(ARCH_ARM_HAVE_NEON),true)
41    LOCAL_CFLAGS += -DARCH_ARM_HAVE_NEON
42    LOCAL_SRC_FILES+= \
43        driver/rsdIntrinsics_Convolve.S
44endif
45
46LOCAL_SHARED_LIBRARIES += libRS
47LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2
48LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libui libgui libsync
49
50LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
51
52LOCAL_CFLAGS += $(rs_base_CFLAGS)
53
54LOCAL_LDLIBS := -lpthread -ldl
55LOCAL_MODULE_TAGS := optional
56
57include $(BUILD_SHARED_LIBRARY)
58
59# Build rsg-generator ====================
60include $(CLEAR_VARS)
61
62LOCAL_MODULE := rsg-generator
63
64# These symbols are normally defined by BUILD_XXX, but we need to define them
65# here so that local-intermediates-dir works.
66
67LOCAL_IS_HOST_MODULE := true
68LOCAL_MODULE_CLASS := EXECUTABLES
69intermediates := $(local-intermediates-dir)
70
71LOCAL_SRC_FILES:= \
72    spec.l \
73    rsg_generator.c
74
75include $(BUILD_HOST_EXECUTABLE)
76
77# TODO: This should go into build/core/config.mk
78RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
79
80include $(CLEAR_VARS)
81LOCAL_CLANG := true
82LOCAL_MODULE := libRS
83
84LOCAL_MODULE_CLASS := SHARED_LIBRARIES
85intermediates:= $(local-intermediates-dir)
86
87# We depend directly on doing dlopen(libRSDriver.so).
88LOCAL_REQUIRED_MODULES := libRSDriver
89
90# Generate custom headers
91
92GEN := $(addprefix $(intermediates)/, \
93            rsgApiStructs.h \
94            rsgApiFuncDecl.h \
95        )
96
97$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
98$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
99$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
100$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
101	$(transform-generated-source)
102
103# used in jni/Android.mk
104rs_generated_source += $(GEN)
105LOCAL_GENERATED_SOURCES += $(GEN)
106
107# Generate custom source files
108
109GEN := $(addprefix $(intermediates)/, \
110            rsgApi.cpp \
111            rsgApiReplay.cpp \
112        )
113
114$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
115$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
116$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
117$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
118	$(transform-generated-source)
119
120# used in jni/Android.mk
121rs_generated_source += $(GEN)
122
123LOCAL_GENERATED_SOURCES += $(GEN)
124
125LOCAL_SRC_FILES:= \
126	rsAdapter.cpp \
127	rsAllocation.cpp \
128	rsAnimation.cpp \
129	rsComponent.cpp \
130	rsContext.cpp \
131	rsDevice.cpp \
132	rsElement.cpp \
133	rsFBOCache.cpp \
134	rsFifoSocket.cpp \
135	rsFileA3D.cpp \
136	rsFont.cpp \
137	rsObjectBase.cpp \
138	rsMatrix2x2.cpp \
139	rsMatrix3x3.cpp \
140	rsMatrix4x4.cpp \
141	rsMesh.cpp \
142	rsMutex.cpp \
143	rsPath.cpp \
144	rsProgram.cpp \
145	rsProgramFragment.cpp \
146	rsProgramStore.cpp \
147	rsProgramRaster.cpp \
148	rsProgramVertex.cpp \
149	rsSampler.cpp \
150	rsScript.cpp \
151	rsScriptC.cpp \
152	rsScriptC_Lib.cpp \
153	rsScriptC_LibGL.cpp \
154	rsScriptIntrinsic.cpp \
155	rsSignal.cpp \
156	rsStream.cpp \
157	rsThreadIO.cpp \
158	rsType.cpp
159
160LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libbcc
161LOCAL_SHARED_LIBRARIES += libui libbcinfo libgui libsync libdl
162
163LOCAL_STATIC_LIBRARIES := libft2
164
165LOCAL_C_INCLUDES += external/freetype/include
166LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
167
168LOCAL_CFLAGS += $(rs_base_CFLAGS)
169
170LOCAL_LDLIBS := -lpthread -ldl
171LOCAL_MODULE_TAGS := optional
172
173include $(BUILD_SHARED_LIBRARY)
174
175# Now build a host version for serialization
176include $(CLEAR_VARS)
177LOCAL_MODULE:= libRS
178LOCAL_MODULE_TAGS := optional
179
180intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,)
181
182# Generate custom headers
183
184GEN := $(addprefix $(intermediates)/, \
185            rsgApiStructs.h \
186            rsgApiFuncDecl.h \
187        )
188
189$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
190$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
191$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
192$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
193	$(transform-generated-source)
194
195LOCAL_GENERATED_SOURCES += $(GEN)
196
197# Generate custom source files
198
199GEN := $(addprefix $(intermediates)/, \
200            rsgApi.cpp \
201            rsgApiReplay.cpp \
202        )
203
204$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
205$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
206$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
207$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
208	$(transform-generated-source)
209
210LOCAL_GENERATED_SOURCES += $(GEN)
211
212LOCAL_CFLAGS += $(rs_base_CFLAGS)
213LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
214LOCAL_CFLAGS += -fPIC
215
216LOCAL_SRC_FILES:= \
217	rsAdapter.cpp \
218	rsAllocation.cpp \
219	rsAnimation.cpp \
220	rsComponent.cpp \
221	rsContext.cpp \
222	rsDevice.cpp \
223	rsElement.cpp \
224	rsFBOCache.cpp \
225	rsFifoSocket.cpp \
226	rsFileA3D.cpp \
227	rsFont.cpp \
228	rsObjectBase.cpp \
229	rsMatrix2x2.cpp \
230	rsMatrix3x3.cpp \
231	rsMatrix4x4.cpp \
232	rsMesh.cpp \
233	rsMutex.cpp \
234	rsPath.cpp \
235	rsProgram.cpp \
236	rsProgramFragment.cpp \
237	rsProgramStore.cpp \
238	rsProgramRaster.cpp \
239	rsProgramVertex.cpp \
240	rsSampler.cpp \
241	rsScript.cpp \
242	rsScriptC.cpp \
243	rsScriptC_Lib.cpp \
244	rsScriptC_LibGL.cpp \
245	rsScriptIntrinsic.cpp \
246	rsSignal.cpp \
247	rsStream.cpp \
248	rsThreadIO.cpp \
249	rsType.cpp
250
251LOCAL_STATIC_LIBRARIES := libcutils libutils
252
253LOCAL_LDLIBS := -lpthread
254
255include $(BUILD_HOST_STATIC_LIBRARY)
256