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