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