blob: 12d580483fbf9bc330b1329bbf9a5ae4f6e8e59f [file] [log] [blame]
Jason Sams5e172b02009-07-23 16:10:46 -07001
Jason Samsc7f6ce42009-06-10 16:09:05 -07002LOCAL_PATH:=$(call my-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -07003
Stephen Hinesebee9482012-05-09 11:53:24 -07004rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable
Stephen Hinesebee9482012-05-09 11:53:24 -07005ifeq ($(TARGET_BUILD_PDK), true)
6 rs_base_CFLAGS += -D__RS_PDK__
7endif
8
Stephen Hines91dfcdb2012-09-07 18:23:35 -07009ifneq ($(OVERRIDE_RS_DRIVER),)
10 rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER)
11endif
12
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080013include $(CLEAR_VARS)
Stephen Hinesf0984242012-05-11 17:41:36 -070014LOCAL_CLANG := true
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080015LOCAL_MODULE := libRSDriver
Colin Cross165aa632014-02-06 17:14:48 -080016LOCAL_MODULE_TARGET_ARCH_WARN := arm mips x86 x86_64
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080017
18LOCAL_SRC_FILES:= \
19 driver/rsdAllocation.cpp \
20 driver/rsdBcc.cpp \
21 driver/rsdCore.cpp \
22 driver/rsdFrameBuffer.cpp \
23 driver/rsdFrameBufferObj.cpp \
24 driver/rsdGL.cpp \
25 driver/rsdMesh.cpp \
26 driver/rsdMeshObj.cpp \
27 driver/rsdPath.cpp \
28 driver/rsdProgram.cpp \
29 driver/rsdProgramRaster.cpp \
30 driver/rsdProgramStore.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080031 driver/rsdRuntimeStubs.cpp \
32 driver/rsdSampler.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -070033 driver/rsdScriptGroup.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080034 driver/rsdShader.cpp \
35 driver/rsdShaderCache.cpp \
Jason Sams6d958bc2012-09-04 15:14:05 -070036 driver/rsdVertexArray.cpp
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080037
Jason Samse1e08b42012-09-04 16:49:19 -070038
Jason Sams709a0972012-11-15 18:18:04 -080039LOCAL_SHARED_LIBRARIES += libRS libRSCpuRef
Ying Wangb2411812013-04-09 21:56:34 -070040LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
Stephen Hines985573c2013-02-27 23:23:19 -080041LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM libui libgui libsync
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080042
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080043LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
Stephen Hines6ba6c662013-07-12 20:16:51 -070044LOCAL_C_INCLUDES += frameworks/rs/cpu_ref/linkloader/include
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080045
Stephen Hinesebee9482012-05-09 11:53:24 -070046LOCAL_CFLAGS += $(rs_base_CFLAGS)
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080047
48LOCAL_LDLIBS := -lpthread -ldl
49LOCAL_MODULE_TAGS := optional
50
Stephen Hines414a4612012-09-05 18:05:08 -070051include $(BUILD_SHARED_LIBRARY)
Jason Samsc7f6ce42009-06-10 16:09:05 -070052
53# Build rsg-generator ====================
54include $(CLEAR_VARS)
Jason Sams326e0dd2009-05-22 14:03:28 -070055
56LOCAL_MODULE := rsg-generator
57
58# These symbols are normally defined by BUILD_XXX, but we need to define them
59# here so that local-intermediates-dir works.
60
61LOCAL_IS_HOST_MODULE := true
62LOCAL_MODULE_CLASS := EXECUTABLES
Jason Samsc7f6ce42009-06-10 16:09:05 -070063intermediates := $(local-intermediates-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -070064
Jason Sams326e0dd2009-05-22 14:03:28 -070065LOCAL_SRC_FILES:= \
Joe Onorato84614dd2009-08-10 15:01:51 -070066 spec.l \
Jason Sams326e0dd2009-05-22 14:03:28 -070067 rsg_generator.c
Jason Samsc7f6ce42009-06-10 16:09:05 -070068
Jason Sams326e0dd2009-05-22 14:03:28 -070069include $(BUILD_HOST_EXECUTABLE)
70
Jason Samsc7f6ce42009-06-10 16:09:05 -070071# TODO: This should go into build/core/config.mk
Jason Sams326e0dd2009-05-22 14:03:28 -070072RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
73
Jason Sams326e0dd2009-05-22 14:03:28 -070074include $(CLEAR_VARS)
Stephen Hinesf0984242012-05-11 17:41:36 -070075LOCAL_CLANG := true
Jason Sams326e0dd2009-05-22 14:03:28 -070076LOCAL_MODULE := libRS
Colin Cross165aa632014-02-06 17:14:48 -080077LOCAL_MODULE_TARGET_ARCH_WARN := arm mips x86 x86_64
Jason Sams326e0dd2009-05-22 14:03:28 -070078
79LOCAL_MODULE_CLASS := SHARED_LIBRARIES
Colin Cross165aa632014-02-06 17:14:48 -080080generated_sources:= $(local-generated-sources-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -070081
Jason Sams326e0dd2009-05-22 14:03:28 -070082# Generate custom headers
83
Colin Cross165aa632014-02-06 17:14:48 -080084GEN := $(addprefix $(generated_sources)/, \
Jason Sams326e0dd2009-05-22 14:03:28 -070085 rsgApiStructs.h \
86 rsgApiFuncDecl.h \
87 )
88
Jason Sams81e48fa2009-06-10 18:35:42 -070089$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -070090$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
91$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Colin Cross165aa632014-02-06 17:14:48 -080092$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg
Jason Sams326e0dd2009-05-22 14:03:28 -070093 $(transform-generated-source)
Jack Palevicha5e094b2009-05-26 17:23:34 -070094
Jason Samsc7f6ce42009-06-10 16:09:05 -070095# used in jni/Android.mk
96rs_generated_source += $(GEN)
Jason Sams326e0dd2009-05-22 14:03:28 -070097LOCAL_GENERATED_SOURCES += $(GEN)
98
99# Generate custom source files
100
Colin Cross165aa632014-02-06 17:14:48 -0800101GEN := $(addprefix $(generated_sources)/, \
Jason Sams326e0dd2009-05-22 14:03:28 -0700102 rsgApi.cpp \
103 rsgApiReplay.cpp \
104 )
Jack Palevicha5e094b2009-05-26 17:23:34 -0700105
Jason Sams81e48fa2009-06-10 18:35:42 -0700106$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700107$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
108$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Colin Cross165aa632014-02-06 17:14:48 -0800109$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
Jason Sams326e0dd2009-05-22 14:03:28 -0700110 $(transform-generated-source)
Jack Palevicha5e094b2009-05-26 17:23:34 -0700111
Jason Samsc7f6ce42009-06-10 16:09:05 -0700112# used in jni/Android.mk
113rs_generated_source += $(GEN)
Jason Sams81e48fa2009-06-10 18:35:42 -0700114
Jason Sams326e0dd2009-05-22 14:03:28 -0700115LOCAL_GENERATED_SOURCES += $(GEN)
116
117LOCAL_SRC_FILES:= \
118 rsAdapter.cpp \
119 rsAllocation.cpp \
Jason Samsc1ed5892010-03-10 17:30:41 -0800120 rsAnimation.cpp \
Jason Samsd01d9702009-12-23 14:35:29 -0800121 rsComponent.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700122 rsContext.cpp \
Jason Samsf313dc32013-07-09 14:29:39 -0700123 rsCppUtils.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700124 rsDevice.cpp \
125 rsElement.cpp \
Alex Sakhartchouk7d9c5ff2011-04-01 14:19:01 -0700126 rsFBOCache.cpp \
Jason Sams20087472011-05-06 14:14:30 -0700127 rsFifoSocket.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700128 rsFileA3D.cpp \
129 rsFont.cpp \
Jason Samsddceab92013-08-07 13:02:32 -0700130 rsGrallocConsumer.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700131 rsObjectBase.cpp \
Jason Sams87fe59a2011-04-20 15:09:01 -0700132 rsMatrix2x2.cpp \
133 rsMatrix3x3.cpp \
134 rsMatrix4x4.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700135 rsMesh.cpp \
136 rsMutex.cpp \
Jason Sams9e0afb52011-10-31 13:23:43 -0700137 rsPath.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700138 rsProgram.cpp \
139 rsProgramFragment.cpp \
Jason Samsccc010b2010-05-13 18:30:11 -0700140 rsProgramStore.cpp \
Jason Sams5fd09d82009-09-23 13:57:02 -0700141 rsProgramRaster.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700142 rsProgramVertex.cpp \
143 rsSampler.cpp \
144 rsScript.cpp \
145 rsScriptC.cpp \
Jason Samse45ac6e2009-07-20 14:31:06 -0700146 rsScriptC_Lib.cpp \
Jason Samsaeb094b2010-05-18 13:35:45 -0700147 rsScriptC_LibGL.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -0700148 rsScriptGroup.cpp \
Jason Sams8eaba4f2012-08-14 14:38:05 -0700149 rsScriptIntrinsic.cpp \
Jason Sams12b14ae2010-03-18 11:39:44 -0700150 rsSignal.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700151 rsStream.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700152 rsThreadIO.cpp \
Jason Samsa662edd2012-04-02 15:00:10 -0700153 rsType.cpp
Jason Samsc460e552009-11-25 13:22:07 -0800154
Ying Wangb2411812013-04-09 21:56:34 -0700155LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2 libbcc
Stephen Hines985573c2013-02-27 23:23:19 -0800156LOCAL_SHARED_LIBRARIES += libui libbcinfo libLLVM libgui libsync libdl
Victoria Leaseb9a4d822013-06-27 11:12:27 -0700157LOCAL_SHARED_LIBRARIES += libft2 libpng libz
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700158
Alex Sakhartchouk5bab6bf2012-04-10 10:38:39 -0700159LOCAL_C_INCLUDES += external/freetype/include
Shih-wei Liao2b2e6212011-01-14 06:21:28 -0800160LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700161
Stephen Hinesebee9482012-05-09 11:53:24 -0700162LOCAL_CFLAGS += $(rs_base_CFLAGS)
Stephen Hines6a121812011-03-01 17:34:59 -0800163
Jason Sams326e0dd2009-05-22 14:03:28 -0700164LOCAL_LDLIBS := -lpthread -ldl
Jason Samsc7f6ce42009-06-10 16:09:05 -0700165LOCAL_MODULE_TAGS := optional
Jason Sams326e0dd2009-05-22 14:03:28 -0700166
167include $(BUILD_SHARED_LIBRARY)
168
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800169# Now build a host version for serialization
170include $(CLEAR_VARS)
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700171LOCAL_MODULE:= libRS
172LOCAL_MODULE_TAGS := optional
173
174intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,)
175
176# Generate custom headers
177
178GEN := $(addprefix $(intermediates)/, \
179 rsgApiStructs.h \
180 rsgApiFuncDecl.h \
181 )
182
183$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700184$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
185$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700186$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
187 $(transform-generated-source)
188
189LOCAL_GENERATED_SOURCES += $(GEN)
190
191# Generate custom source files
192
193GEN := $(addprefix $(intermediates)/, \
194 rsgApi.cpp \
195 rsgApiReplay.cpp \
196 )
197
198$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700199$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
200$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700201$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
202 $(transform-generated-source)
203
204LOCAL_GENERATED_SOURCES += $(GEN)
205
Stephen Hinesebee9482012-05-09 11:53:24 -0700206LOCAL_CFLAGS += $(rs_base_CFLAGS)
Alex Sakhartchouk77d9f4b2011-01-31 14:53:24 -0800207LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
Alex Sakhartchouk5bab6bf2012-04-10 10:38:39 -0700208LOCAL_CFLAGS += -fPIC
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800209
210LOCAL_SRC_FILES:= \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700211 rsAdapter.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800212 rsAllocation.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700213 rsAnimation.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800214 rsComponent.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700215 rsContext.cpp \
216 rsDevice.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800217 rsElement.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700218 rsFBOCache.cpp \
219 rsFifoSocket.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800220 rsFileA3D.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700221 rsFont.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800222 rsObjectBase.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700223 rsMatrix2x2.cpp \
224 rsMatrix3x3.cpp \
225 rsMatrix4x4.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800226 rsMesh.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700227 rsMutex.cpp \
Jason Sams9e0afb52011-10-31 13:23:43 -0700228 rsPath.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700229 rsProgram.cpp \
230 rsProgramFragment.cpp \
231 rsProgramStore.cpp \
232 rsProgramRaster.cpp \
233 rsProgramVertex.cpp \
234 rsSampler.cpp \
235 rsScript.cpp \
236 rsScriptC.cpp \
237 rsScriptC_Lib.cpp \
238 rsScriptC_LibGL.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -0700239 rsScriptGroup.cpp \
Jason Sams8eaba4f2012-08-14 14:38:05 -0700240 rsScriptIntrinsic.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700241 rsSignal.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800242 rsStream.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700243 rsThreadIO.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800244 rsType.cpp
245
Ying Wangb2411812013-04-09 21:56:34 -0700246LOCAL_STATIC_LIBRARIES := libcutils libutils liblog
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800247
248LOCAL_LDLIBS := -lpthread
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800249
250include $(BUILD_HOST_STATIC_LIBRARY)
Jason Sams709a0972012-11-15 18:18:04 -0800251
Stephen Hinesb53c8a52013-04-05 22:17:36 -0700252
253LLVM_ROOT_PATH := external/llvm
254
255#=============================================================================
256# android librsloader for libbcc (Device)
257#-----------------------------------------------------------------------------
258
259rsloader_SRC_FILES := \
Stephen Hines6ba6c662013-07-12 20:16:51 -0700260 cpu_ref/linkloader/android/librsloader.cpp \
261 cpu_ref/linkloader/lib/ELFHeader.cpp \
262 cpu_ref/linkloader/lib/ELFSymbol.cpp \
263 cpu_ref/linkloader/lib/ELFSectionHeader.cpp \
264 cpu_ref/linkloader/lib/ELFTypes.cpp \
265 cpu_ref/linkloader/lib/GOT.cpp \
266 cpu_ref/linkloader/lib/MemChunk.cpp \
267 cpu_ref/linkloader/lib/StubLayout.cpp \
268 cpu_ref/linkloader/utils/helper.cpp \
269 cpu_ref/linkloader/utils/raw_ostream.cpp \
270 cpu_ref/linkloader/utils/rsl_assert.cpp
Stephen Hinesb53c8a52013-04-05 22:17:36 -0700271
272include $(CLEAR_VARS)
273
274LOCAL_MODULE := librsloader
275
276LOCAL_MODULE_TAGS := optional
277
278LOCAL_SRC_FILES := $(rsloader_SRC_FILES)
279
280LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
281
282LOCAL_CFLAGS += $(rs_base_CFLAGS)
283
284LOCAL_C_INCLUDES := \
Stephen Hines6ba6c662013-07-12 20:16:51 -0700285 $(LOCAL_PATH)/cpu_ref/linkloader \
286 $(LOCAL_PATH)/cpu_ref/linkloader/include \
Stephen Hinesb53c8a52013-04-05 22:17:36 -0700287 $(LOCAL_C_INCLUDES)
288
289include $(LLVM_ROOT_PATH)/llvm-device-build.mk
290include $(BUILD_STATIC_LIBRARY)
291
292
293#=============================================================================
294# android librsloader for libbcc (Host)
295#-----------------------------------------------------------------------------
296
297include $(CLEAR_VARS)
298
299LOCAL_MODULE := librsloader
300
301LOCAL_MODULE_TAGS := optional
302
303LOCAL_SRC_FILES := $(rsloader_SRC_FILES)
304
Raphael Moll1033b592013-07-23 19:03:29 -0700305ifdef USE_MINGW
Stephen Hines32d93692013-08-08 14:27:07 -0700306LOCAL_SRC_FILES += cpu_ref/linkloader/lib/mmanWindows.cpp
Raphael Moll1033b592013-07-23 19:03:29 -0700307endif
308
Stephen Hinesb53c8a52013-04-05 22:17:36 -0700309LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
310
311LOCAL_CFLAGS += $(rs_base_CFLAGS)
312LOCAL_CFLAGS += -D__HOST__
313
314LOCAL_C_INCLUDES := \
Stephen Hines6ba6c662013-07-12 20:16:51 -0700315 $(LOCAL_PATH)/cpu_ref/linkloader \
316 $(LOCAL_PATH)/cpu_ref/linkloader/include \
Stephen Hinesb53c8a52013-04-05 22:17:36 -0700317 $(LOCAL_C_INCLUDES)
318
319include $(LLVM_ROOT_PATH)/llvm-host-build.mk
320include $(BUILD_HOST_STATIC_LIBRARY)
321
Stephen Hinesf12f8ed2013-05-23 13:40:57 -0700322include $(call all-makefiles-under,$(LOCAL_PATH))