Android.mk revision 2644c42ddc16ef2515fc2e566ad2f60f1a1b47c6
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/rsdMesh.cpp \
25	driver/rsdMeshObj.cpp \
26	driver/rsdPath.cpp \
27	driver/rsdProgram.cpp \
28	driver/rsdProgramRaster.cpp \
29	driver/rsdProgramStore.cpp \
30	driver/rsdRuntimeStubs.cpp \
31	driver/rsdSampler.cpp \
32	driver/rsdScriptGroup.cpp \
33	driver/rsdShader.cpp \
34	driver/rsdShaderCache.cpp \
35	driver/rsdVertexArray.cpp
36
37
38LOCAL_SHARED_LIBRARIES += libRS libRSCpuRef
39LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
40LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM libui libgui libsync
41
42LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
43LOCAL_C_INCLUDES += frameworks/rs/cpu_ref/linkloader/include
44
45LOCAL_CFLAGS += $(rs_base_CFLAGS)
46
47LOCAL_LDLIBS := -lpthread -ldl
48LOCAL_MODULE_TAGS := optional
49
50include $(BUILD_SHARED_LIBRARY)
51
52# Build rsg-generator ====================
53include $(CLEAR_VARS)
54
55LOCAL_MODULE := rsg-generator
56
57# These symbols are normally defined by BUILD_XXX, but we need to define them
58# here so that local-intermediates-dir works.
59
60LOCAL_IS_HOST_MODULE := true
61LOCAL_MODULE_CLASS := EXECUTABLES
62intermediates := $(local-intermediates-dir)
63
64LOCAL_SRC_FILES:= \
65    spec.l \
66    rsg_generator.c
67
68include $(BUILD_HOST_EXECUTABLE)
69
70# TODO: This should go into build/core/config.mk
71RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
72
73include $(CLEAR_VARS)
74LOCAL_CLANG := true
75LOCAL_MODULE := libRS
76
77LOCAL_MODULE_CLASS := SHARED_LIBRARIES
78intermediates:= $(local-intermediates-dir)
79
80# Generate custom headers
81
82GEN := $(addprefix $(intermediates)/, \
83            rsgApiStructs.h \
84            rsgApiFuncDecl.h \
85        )
86
87$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
88$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
89$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
90$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
91	$(transform-generated-source)
92
93# used in jni/Android.mk
94rs_generated_source += $(GEN)
95LOCAL_GENERATED_SOURCES += $(GEN)
96
97# Generate custom source files
98
99GEN := $(addprefix $(intermediates)/, \
100            rsgApi.cpp \
101            rsgApiReplay.cpp \
102        )
103
104$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
105$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
106$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
107$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
108	$(transform-generated-source)
109
110# used in jni/Android.mk
111rs_generated_source += $(GEN)
112
113LOCAL_GENERATED_SOURCES += $(GEN)
114
115LOCAL_SRC_FILES:= \
116	rsAdapter.cpp \
117	rsAllocation.cpp \
118	rsAnimation.cpp \
119	rsComponent.cpp \
120	rsContext.cpp \
121	rsCppUtils.cpp \
122	rsDevice.cpp \
123	rsElement.cpp \
124	rsFBOCache.cpp \
125	rsFifoSocket.cpp \
126	rsFileA3D.cpp \
127	rsFont.cpp \
128	rsObjectBase.cpp \
129	rsMatrix2x2.cpp \
130	rsMatrix3x3.cpp \
131	rsMatrix4x4.cpp \
132	rsMesh.cpp \
133	rsMutex.cpp \
134	rsPath.cpp \
135	rsProgram.cpp \
136	rsProgramFragment.cpp \
137	rsProgramStore.cpp \
138	rsProgramRaster.cpp \
139	rsProgramVertex.cpp \
140	rsSampler.cpp \
141	rsScript.cpp \
142	rsScriptC.cpp \
143	rsScriptC_Lib.cpp \
144	rsScriptC_LibGL.cpp \
145	rsScriptGroup.cpp \
146	rsScriptIntrinsic.cpp \
147	rsSignal.cpp \
148	rsStream.cpp \
149	rsThreadIO.cpp \
150	rsType.cpp
151
152LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2 libbcc
153LOCAL_SHARED_LIBRARIES += libui libbcinfo libLLVM libgui libsync libdl
154LOCAL_SHARED_LIBRARIES += libft2 libpng libz
155
156LOCAL_C_INCLUDES += external/freetype/include
157LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
158
159LOCAL_CFLAGS += $(rs_base_CFLAGS)
160
161LOCAL_LDLIBS := -lpthread -ldl
162LOCAL_MODULE_TAGS := optional
163
164include $(BUILD_SHARED_LIBRARY)
165
166# Now build a host version for serialization
167include $(CLEAR_VARS)
168LOCAL_MODULE:= libRS
169LOCAL_MODULE_TAGS := optional
170
171intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,)
172
173# Generate custom headers
174
175GEN := $(addprefix $(intermediates)/, \
176            rsgApiStructs.h \
177            rsgApiFuncDecl.h \
178        )
179
180$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
181$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
182$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
183$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
184	$(transform-generated-source)
185
186LOCAL_GENERATED_SOURCES += $(GEN)
187
188# Generate custom source files
189
190GEN := $(addprefix $(intermediates)/, \
191            rsgApi.cpp \
192            rsgApiReplay.cpp \
193        )
194
195$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
196$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
197$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
198$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
199	$(transform-generated-source)
200
201LOCAL_GENERATED_SOURCES += $(GEN)
202
203LOCAL_CFLAGS += $(rs_base_CFLAGS)
204LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
205LOCAL_CFLAGS += -fPIC
206
207LOCAL_SRC_FILES:= \
208	rsAdapter.cpp \
209	rsAllocation.cpp \
210	rsAnimation.cpp \
211	rsComponent.cpp \
212	rsContext.cpp \
213	rsDevice.cpp \
214	rsElement.cpp \
215	rsFBOCache.cpp \
216	rsFifoSocket.cpp \
217	rsFileA3D.cpp \
218	rsFont.cpp \
219	rsObjectBase.cpp \
220	rsMatrix2x2.cpp \
221	rsMatrix3x3.cpp \
222	rsMatrix4x4.cpp \
223	rsMesh.cpp \
224	rsMutex.cpp \
225	rsPath.cpp \
226	rsProgram.cpp \
227	rsProgramFragment.cpp \
228	rsProgramStore.cpp \
229	rsProgramRaster.cpp \
230	rsProgramVertex.cpp \
231	rsSampler.cpp \
232	rsScript.cpp \
233	rsScriptC.cpp \
234	rsScriptC_Lib.cpp \
235	rsScriptC_LibGL.cpp \
236	rsScriptGroup.cpp \
237	rsScriptIntrinsic.cpp \
238	rsSignal.cpp \
239	rsStream.cpp \
240	rsThreadIO.cpp \
241	rsType.cpp
242
243LOCAL_STATIC_LIBRARIES := libcutils libutils liblog
244
245LOCAL_LDLIBS := -lpthread
246
247include $(BUILD_HOST_STATIC_LIBRARY)
248
249
250LLVM_ROOT_PATH := external/llvm
251
252#=============================================================================
253# android librsloader for libbcc (Device)
254#-----------------------------------------------------------------------------
255
256rsloader_SRC_FILES := \
257  cpu_ref/linkloader/android/librsloader.cpp \
258  cpu_ref/linkloader/lib/ELFHeader.cpp \
259  cpu_ref/linkloader/lib/ELFSymbol.cpp \
260  cpu_ref/linkloader/lib/ELFSectionHeader.cpp \
261  cpu_ref/linkloader/lib/ELFTypes.cpp \
262  cpu_ref/linkloader/lib/GOT.cpp \
263  cpu_ref/linkloader/lib/MemChunk.cpp \
264  cpu_ref/linkloader/lib/StubLayout.cpp \
265  cpu_ref/linkloader/utils/helper.cpp \
266  cpu_ref/linkloader/utils/raw_ostream.cpp \
267  cpu_ref/linkloader/utils/rsl_assert.cpp
268
269include $(CLEAR_VARS)
270
271LOCAL_MODULE := librsloader
272
273LOCAL_MODULE_TAGS := optional
274
275LOCAL_SRC_FILES := $(rsloader_SRC_FILES)
276
277LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
278
279LOCAL_CFLAGS += $(rs_base_CFLAGS)
280
281LOCAL_C_INCLUDES := \
282  $(LOCAL_PATH)/cpu_ref/linkloader \
283  $(LOCAL_PATH)/cpu_ref/linkloader/include \
284  $(LOCAL_C_INCLUDES)
285
286include $(LLVM_ROOT_PATH)/llvm-device-build.mk
287include $(BUILD_STATIC_LIBRARY)
288
289
290#=============================================================================
291# android librsloader for libbcc (Host)
292#-----------------------------------------------------------------------------
293
294include $(CLEAR_VARS)
295
296LOCAL_MODULE := librsloader
297
298LOCAL_MODULE_TAGS := optional
299
300LOCAL_SRC_FILES := $(rsloader_SRC_FILES)
301
302ifdef USE_MINGW
303LOCAL_SRC_FILES += driver/linkloader/lib/mmanWindows.cpp
304endif
305
306LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
307
308LOCAL_CFLAGS += $(rs_base_CFLAGS)
309LOCAL_CFLAGS += -D__HOST__
310
311LOCAL_C_INCLUDES := \
312  $(LOCAL_PATH)/cpu_ref/linkloader \
313  $(LOCAL_PATH)/cpu_ref/linkloader/include \
314  $(LOCAL_C_INCLUDES)
315
316include $(LLVM_ROOT_PATH)/llvm-host-build.mk
317include $(BUILD_HOST_STATIC_LIBRARY)
318
319include $(call all-makefiles-under,$(LOCAL_PATH))
320