blob: 3b46f308c0f3cc5bad08fff9b8d065f4c689fb5d [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
Miao Wang759de532016-11-16 21:19:29 -08004.PHONY: rs-prebuilts-full
5rs-prebuilts-full: \
6 bcc_compat \
7 llvm-rs-cc \
8 libRSSupport \
9 libRSSupportIO \
10 libRScpp_static \
11 libblasV8 \
12 libcompiler_rt \
13 librsrt_arm.bc \
14 librsrt_arm64.bc \
15 librsrt_mips.bc \
16 librsrt_x86.bc \
17 librsrt_x86_64.bc
18
19ifneq ($(HOST_OS),darwin)
20rs-prebuilts-full: \
21 host_cross_llvm-rs-cc \
22 host_cross_bcc_compat
23endif
24
Jean-Luc Brouillet86323722017-01-19 22:11:40 -080025rs_base_CFLAGS := -Werror -Wall -Wextra \
Miao Wangdd4c8f12017-01-20 15:39:17 -080026 -Wno-unused-parameter -Wno-unused-variable
Stephen Hinesebee9482012-05-09 11:53:24 -070027
Stephen Hines91dfcdb2012-09-07 18:23:35 -070028ifneq ($(OVERRIDE_RS_DRIVER),)
29 rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER)
30endif
31
Tim Murray6e6cdbc2014-09-10 15:58:54 -070032ifneq ($(DISABLE_RS_64_BIT_DRIVER),)
33 rs_base_CFLAGS += -DDISABLE_RS_64_BIT_DRIVER
34endif
35
Tim Murraye3af53b2014-06-10 09:46:51 -070036ifeq ($(RS_FIND_OFFSETS), true)
37 rs_base_CFLAGS += -DRS_FIND_OFFSETS
38endif
39
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080040include $(CLEAR_VARS)
41LOCAL_MODULE := libRSDriver
42
43LOCAL_SRC_FILES:= \
44 driver/rsdAllocation.cpp \
45 driver/rsdBcc.cpp \
46 driver/rsdCore.cpp \
Jason Samsa36c50a2014-06-17 12:06:06 -070047 driver/rsdElement.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080048 driver/rsdFrameBuffer.cpp \
49 driver/rsdFrameBufferObj.cpp \
50 driver/rsdGL.cpp \
51 driver/rsdMesh.cpp \
52 driver/rsdMeshObj.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080053 driver/rsdProgram.cpp \
54 driver/rsdProgramRaster.cpp \
55 driver/rsdProgramStore.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080056 driver/rsdRuntimeStubs.cpp \
57 driver/rsdSampler.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -070058 driver/rsdScriptGroup.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080059 driver/rsdShader.cpp \
60 driver/rsdShaderCache.cpp \
Jason Samsa36c50a2014-06-17 12:06:06 -070061 driver/rsdType.cpp \
Jason Sams6d958bc2012-09-04 15:14:05 -070062 driver/rsdVertexArray.cpp
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080063
Jason Samse1e08b42012-09-04 16:49:19 -070064
Yang Ni3df9bb02016-03-18 15:33:52 -070065LOCAL_SHARED_LIBRARIES += libRS_internal libRSCpuRef
Miao Wang2a611682017-02-27 17:36:40 -080066LOCAL_SHARED_LIBRARIES += liblog libutils libEGL libGLESv1_CM libGLESv2
Miao Wang5d955c92017-03-01 11:57:47 -080067LOCAL_SHARED_LIBRARIES += libui libgui libandroid
Tim Murraye195a3f2014-03-13 15:04:58 -070068
Pirama Arumuga Nainarbbf62782016-07-26 13:46:45 -070069LOCAL_SHARED_LIBRARIES += libbcinfo
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080070
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080071LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
Hans Boehm564e53a2014-10-01 16:14:48 -070072
Stephen Hinesebee9482012-05-09 11:53:24 -070073LOCAL_CFLAGS += $(rs_base_CFLAGS)
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080074
Stephen Hines414a4612012-09-05 18:05:08 -070075include $(BUILD_SHARED_LIBRARY)
Jason Samsc7f6ce42009-06-10 16:09:05 -070076
77# Build rsg-generator ====================
78include $(CLEAR_VARS)
Jason Sams326e0dd2009-05-22 14:03:28 -070079
80LOCAL_MODULE := rsg-generator
81
82# These symbols are normally defined by BUILD_XXX, but we need to define them
83# here so that local-intermediates-dir works.
84
85LOCAL_IS_HOST_MODULE := true
86LOCAL_MODULE_CLASS := EXECUTABLES
Jason Samsc7f6ce42009-06-10 16:09:05 -070087intermediates := $(local-intermediates-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -070088
Jason Sams326e0dd2009-05-22 14:03:28 -070089LOCAL_SRC_FILES:= \
Joe Onorato84614dd2009-08-10 15:01:51 -070090 spec.l \
Jason Sams326e0dd2009-05-22 14:03:28 -070091 rsg_generator.c
Jason Samsc7f6ce42009-06-10 16:09:05 -070092
Stephen Hines4b898862014-11-07 12:30:02 -080093LOCAL_CXX_STL := none
Dan Albertb288e2f2015-06-16 14:00:00 -070094LOCAL_SANITIZE := never
Stephen Hines4b898862014-11-07 12:30:02 -080095
Jason Sams326e0dd2009-05-22 14:03:28 -070096include $(BUILD_HOST_EXECUTABLE)
97
98RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
99
Jason Sams326e0dd2009-05-22 14:03:28 -0700100include $(CLEAR_VARS)
Yang Ni3df9bb02016-03-18 15:33:52 -0700101LOCAL_MODULE := libRS_internal
Jason Sams326e0dd2009-05-22 14:03:28 -0700102
103LOCAL_MODULE_CLASS := SHARED_LIBRARIES
Colin Cross165aa632014-02-06 17:14:48 -0800104generated_sources:= $(local-generated-sources-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -0700105
Jason Sams326e0dd2009-05-22 14:03:28 -0700106# Generate custom headers
107
Colin Cross165aa632014-02-06 17:14:48 -0800108GEN := $(addprefix $(generated_sources)/, \
Jason Sams326e0dd2009-05-22 14:03:28 -0700109 rsgApiStructs.h \
110 rsgApiFuncDecl.h \
111 )
112
Jason Sams81e48fa2009-06-10 18:35:42 -0700113$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Logan Chien36a3ebc2015-04-19 21:30:12 +0800114$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@
115$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec
Colin Cross165aa632014-02-06 17:14:48 -0800116$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg
Jason Sams326e0dd2009-05-22 14:03:28 -0700117 $(transform-generated-source)
Jack Palevicha5e094b2009-05-26 17:23:34 -0700118
Jason Samsc7f6ce42009-06-10 16:09:05 -0700119# used in jni/Android.mk
120rs_generated_source += $(GEN)
Jason Sams326e0dd2009-05-22 14:03:28 -0700121LOCAL_GENERATED_SOURCES += $(GEN)
122
123# Generate custom source files
124
Colin Cross165aa632014-02-06 17:14:48 -0800125GEN := $(addprefix $(generated_sources)/, \
Miao Wangdd4c8f12017-01-20 15:39:17 -0800126 rsgApi.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700127 rsgApiReplay.cpp \
128 )
Jack Palevicha5e094b2009-05-26 17:23:34 -0700129
Jason Sams81e48fa2009-06-10 18:35:42 -0700130$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Logan Chien36a3ebc2015-04-19 21:30:12 +0800131$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@
132$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec
Colin Cross165aa632014-02-06 17:14:48 -0800133$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
Jason Sams326e0dd2009-05-22 14:03:28 -0700134 $(transform-generated-source)
Jack Palevicha5e094b2009-05-26 17:23:34 -0700135
Jason Samsc7f6ce42009-06-10 16:09:05 -0700136# used in jni/Android.mk
137rs_generated_source += $(GEN)
Jason Sams81e48fa2009-06-10 18:35:42 -0700138
Jason Sams326e0dd2009-05-22 14:03:28 -0700139LOCAL_GENERATED_SOURCES += $(GEN)
140
141LOCAL_SRC_FILES:= \
Miao Wangdd4c8f12017-01-20 15:39:17 -0800142 rsApiAllocation.cpp \
143 rsApiContext.cpp \
144 rsApiDevice.cpp \
145 rsApiElement.cpp \
146 rsApiFileA3D.cpp \
147 rsApiMesh.cpp \
148 rsApiType.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700149 rsAllocation.cpp \
Jason Samsc1ed5892010-03-10 17:30:41 -0800150 rsAnimation.cpp \
Jason Samsd01d9702009-12-23 14:35:29 -0800151 rsComponent.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700152 rsContext.cpp \
Yang Ni1ffd86b2015-01-07 09:16:40 -0800153 rsClosure.cpp \
Jason Samsf313dc32013-07-09 14:29:39 -0700154 rsCppUtils.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700155 rsDevice.cpp \
Jason Sams0ca7cba2015-03-11 15:22:38 -0700156 rsDriverLoader.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700157 rsElement.cpp \
Alex Sakhartchouk7d9c5ff2011-04-01 14:19:01 -0700158 rsFBOCache.cpp \
Jason Sams20087472011-05-06 14:14:30 -0700159 rsFifoSocket.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700160 rsFileA3D.cpp \
161 rsFont.cpp \
Jason Samsddceab92013-08-07 13:02:32 -0700162 rsGrallocConsumer.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700163 rsObjectBase.cpp \
Jason Sams87fe59a2011-04-20 15:09:01 -0700164 rsMatrix2x2.cpp \
165 rsMatrix3x3.cpp \
166 rsMatrix4x4.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700167 rsMesh.cpp \
168 rsMutex.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700169 rsProgram.cpp \
170 rsProgramFragment.cpp \
Jason Samsccc010b2010-05-13 18:30:11 -0700171 rsProgramStore.cpp \
Jason Sams5fd09d82009-09-23 13:57:02 -0700172 rsProgramRaster.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700173 rsProgramVertex.cpp \
174 rsSampler.cpp \
175 rsScript.cpp \
176 rsScriptC.cpp \
Jason Samse45ac6e2009-07-20 14:31:06 -0700177 rsScriptC_Lib.cpp \
Jason Samsaeb094b2010-05-18 13:35:45 -0700178 rsScriptC_LibGL.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -0700179 rsScriptGroup.cpp \
Yang Ni1ffd86b2015-01-07 09:16:40 -0800180 rsScriptGroup2.cpp \
Jason Sams8eaba4f2012-08-14 14:38:05 -0700181 rsScriptIntrinsic.cpp \
Jason Sams12b14ae2010-03-18 11:39:44 -0700182 rsSignal.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700183 rsStream.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700184 rsThreadIO.cpp \
Jason Samsa662edd2012-04-02 15:00:10 -0700185 rsType.cpp
Jason Samsc460e552009-11-25 13:22:07 -0800186
Miao Wang2a611682017-02-27 17:36:40 -0800187LOCAL_SHARED_LIBRARIES += liblog libutils libEGL libGLESv1_CM libGLESv2
Yang Nid8094b52017-01-06 14:41:14 -0800188LOCAL_SHARED_LIBRARIES += libdl libgui libui
189LOCAL_SHARED_LIBRARIES += libft2 libpng
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700190
Pirama Arumuga Nainarbbf62782016-07-26 13:46:45 -0700191LOCAL_SHARED_LIBRARIES += libbcinfo
Tim Murraye195a3f2014-03-13 15:04:58 -0700192
Stephen Hinesebee9482012-05-09 11:53:24 -0700193LOCAL_CFLAGS += $(rs_base_CFLAGS)
Stephen Hines6a121812011-03-01 17:34:59 -0800194
Pirama Arumuga Nainarcbbc75f2016-11-30 15:24:07 -0800195# These runtime modules, including libcompiler_rt.so, are required for
196# RenderScript.
197LOCAL_REQUIRED_MODULES := \
198 libclcore.bc \
199 libclcore_debug.bc \
200 libclcore_g.bc \
201 libcompiler_rt
202
203LOCAL_REQUIRED_MODULES_x86 += libclcore_x86.bc
204LOCAL_REQUIRED_MODULES_x86_64 += libclcore_x86.bc
205
206ifeq ($(ARCH_ARM_HAVE_NEON),true)
207 LOCAL_REQUIRED_MODULES_arm += libclcore_neon.bc
208endif
209
Miao Wangdd4c8f12017-01-20 15:39:17 -0800210LOCAL_MODULE_TAGS := optional
211
Yang Ni3df9bb02016-03-18 15:33:52 -0700212include $(BUILD_SHARED_LIBRARY)
213
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800214include $(CLEAR_VARS)
Miao Wangdd4c8f12017-01-20 15:39:17 -0800215LOCAL_MODULE := libRS
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700216
Miao Wangdd4c8f12017-01-20 15:39:17 -0800217LOCAL_MODULE_CLASS := SHARED_LIBRARIES
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800218
219LOCAL_SRC_FILES:= \
Miao Wangdd4c8f12017-01-20 15:39:17 -0800220 rsApiStubs.cpp \
221 rsHidlAdaptation.cpp \
222 rsFallbackAdaptation.cpp
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800223
Miao Wangdd4c8f12017-01-20 15:39:17 -0800224# Default CPU fallback
225LOCAL_REQUIRED_MODULES := libRS_internal libRSDriver
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800226
Miao Wangdd4c8f12017-01-20 15:39:17 -0800227# Treble configuration
228LOCAL_SHARED_LIBRARIES += libhidlbase libhidltransport libhwbinder libutils android.hardware.renderscript@1.0
229
230LOCAL_SHARED_LIBRARIES += liblog libcutils
231
232LOCAL_STATIC_LIBRARIES := \
233 libRSDispatch
234
235LOCAL_CFLAGS += $(rs_base_CFLAGS)
236
237LOCAL_LDFLAGS += -Wl,--version-script,${LOCAL_PATH}/libRS.map
238
239include $(BUILD_SHARED_LIBRARY)
Jason Sams709a0972012-11-15 18:18:04 -0800240
Stephen Hinesf12f8ed2013-05-23 13:40:57 -0700241include $(call all-makefiles-under,$(LOCAL_PATH))