blob: 3212eb9068a67f98dc408fd6f21e15d6698575de [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
Chris Wailes93d6bc82014-07-28 16:54:38 -07004rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable -fno-exceptions -std=c++11
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
Tim Murray6e6cdbc2014-09-10 15:58:54 -070013ifneq ($(DISABLE_RS_64_BIT_DRIVER),)
14 rs_base_CFLAGS += -DDISABLE_RS_64_BIT_DRIVER
15endif
16
Tim Murraye3af53b2014-06-10 09:46:51 -070017ifeq ($(RS_FIND_OFFSETS), true)
18 rs_base_CFLAGS += -DRS_FIND_OFFSETS
19endif
20
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080021include $(CLEAR_VARS)
Logan Chien8d501742014-05-26 23:07:47 +080022ifneq ($(HOST_OS),windows)
Stephen Hinesf0984242012-05-11 17:41:36 -070023LOCAL_CLANG := true
Logan Chien8d501742014-05-26 23:07:47 +080024endif
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080025LOCAL_MODULE := libRSDriver
Duane Sande8e408a2014-05-13 16:46:02 -070026LOCAL_MODULE_TARGET_ARCH_WARN := arm mips mips64 x86 x86_64 arm64
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080027
28LOCAL_SRC_FILES:= \
29 driver/rsdAllocation.cpp \
30 driver/rsdBcc.cpp \
31 driver/rsdCore.cpp \
Jason Samsa36c50a2014-06-17 12:06:06 -070032 driver/rsdElement.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080033 driver/rsdFrameBuffer.cpp \
34 driver/rsdFrameBufferObj.cpp \
35 driver/rsdGL.cpp \
36 driver/rsdMesh.cpp \
37 driver/rsdMeshObj.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080038 driver/rsdProgram.cpp \
39 driver/rsdProgramRaster.cpp \
40 driver/rsdProgramStore.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080041 driver/rsdRuntimeStubs.cpp \
42 driver/rsdSampler.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -070043 driver/rsdScriptGroup.cpp \
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080044 driver/rsdShader.cpp \
45 driver/rsdShaderCache.cpp \
Jason Samsa36c50a2014-06-17 12:06:06 -070046 driver/rsdType.cpp \
Jason Sams6d958bc2012-09-04 15:14:05 -070047 driver/rsdVertexArray.cpp
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080048
Jason Samse1e08b42012-09-04 16:49:19 -070049
Hans Boehm564e53a2014-10-01 16:14:48 -070050LOCAL_SHARED_LIBRARIES += libRS libRSCpuRef
Ying Wangb2411812013-04-09 21:56:34 -070051LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
Tim Murraye195a3f2014-03-13 15:04:58 -070052LOCAL_SHARED_LIBRARIES += libui libgui libsync
53
Tim Murray8c24cd62014-04-10 18:04:39 -070054LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080055
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080056LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
Hans Boehm564e53a2014-10-01 16:14:48 -070057
58LOCAL_CXX_STL := libc++
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080059
Stephen Hinesebee9482012-05-09 11:53:24 -070060LOCAL_CFLAGS += $(rs_base_CFLAGS)
Tim Murray8c24cd62014-04-10 18:04:39 -070061LOCAL_CPPFLAGS += -fno-exceptions
Tim Murraye195a3f2014-03-13 15:04:58 -070062
Alex Sakhartchouk5e3c9682012-03-09 15:04:23 -080063LOCAL_MODULE_TAGS := optional
64
Stephen Hines414a4612012-09-05 18:05:08 -070065include $(BUILD_SHARED_LIBRARY)
Jason Samsc7f6ce42009-06-10 16:09:05 -070066
67# Build rsg-generator ====================
68include $(CLEAR_VARS)
Jason Sams326e0dd2009-05-22 14:03:28 -070069
70LOCAL_MODULE := rsg-generator
71
72# These symbols are normally defined by BUILD_XXX, but we need to define them
73# here so that local-intermediates-dir works.
74
75LOCAL_IS_HOST_MODULE := true
76LOCAL_MODULE_CLASS := EXECUTABLES
Jason Samsc7f6ce42009-06-10 16:09:05 -070077intermediates := $(local-intermediates-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -070078
Jason Sams326e0dd2009-05-22 14:03:28 -070079LOCAL_SRC_FILES:= \
Joe Onorato84614dd2009-08-10 15:01:51 -070080 spec.l \
Jason Sams326e0dd2009-05-22 14:03:28 -070081 rsg_generator.c
Jason Samsc7f6ce42009-06-10 16:09:05 -070082
Stephen Hines4b898862014-11-07 12:30:02 -080083LOCAL_CXX_STL := none
Dan Albertabe54a22014-12-05 22:23:29 -080084LOCAL_ADDRESS_SANITIZER := false
Stephen Hines4b898862014-11-07 12:30:02 -080085
Jason Sams326e0dd2009-05-22 14:03:28 -070086include $(BUILD_HOST_EXECUTABLE)
87
Jason Samsc7f6ce42009-06-10 16:09:05 -070088# TODO: This should go into build/core/config.mk
Jason Sams326e0dd2009-05-22 14:03:28 -070089RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
90
Jason Sams326e0dd2009-05-22 14:03:28 -070091include $(CLEAR_VARS)
Logan Chien8d501742014-05-26 23:07:47 +080092ifneq ($(HOST_OS),windows)
Stephen Hinesf0984242012-05-11 17:41:36 -070093LOCAL_CLANG := true
Logan Chien8d501742014-05-26 23:07:47 +080094endif
Jason Sams326e0dd2009-05-22 14:03:28 -070095LOCAL_MODULE := libRS
Duane Sande8e408a2014-05-13 16:46:02 -070096LOCAL_MODULE_TARGET_ARCH_WARN := arm mips mips64 x86 x86_64 arm64
Jason Sams326e0dd2009-05-22 14:03:28 -070097
98LOCAL_MODULE_CLASS := SHARED_LIBRARIES
Colin Cross165aa632014-02-06 17:14:48 -080099generated_sources:= $(local-generated-sources-dir)
Jason Sams326e0dd2009-05-22 14:03:28 -0700100
Jason Sams326e0dd2009-05-22 14:03:28 -0700101# Generate custom headers
102
Colin Cross165aa632014-02-06 17:14:48 -0800103GEN := $(addprefix $(generated_sources)/, \
Jason Sams326e0dd2009-05-22 14:03:28 -0700104 rsgApiStructs.h \
105 rsgApiFuncDecl.h \
106 )
107
Jason Sams81e48fa2009-06-10 18:35:42 -0700108$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700109$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
110$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Colin Cross165aa632014-02-06 17:14:48 -0800111$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg
Jason Sams326e0dd2009-05-22 14:03:28 -0700112 $(transform-generated-source)
Jack Palevicha5e094b2009-05-26 17:23:34 -0700113
Jason Samsc7f6ce42009-06-10 16:09:05 -0700114# used in jni/Android.mk
115rs_generated_source += $(GEN)
Jason Sams326e0dd2009-05-22 14:03:28 -0700116LOCAL_GENERATED_SOURCES += $(GEN)
117
118# Generate custom source files
119
Colin Cross165aa632014-02-06 17:14:48 -0800120GEN := $(addprefix $(generated_sources)/, \
Jason Sams326e0dd2009-05-22 14:03:28 -0700121 rsgApi.cpp \
122 rsgApiReplay.cpp \
123 )
Jack Palevicha5e094b2009-05-26 17:23:34 -0700124
Jason Sams81e48fa2009-06-10 18:35:42 -0700125$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700126$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
127$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Colin Cross165aa632014-02-06 17:14:48 -0800128$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
Jason Sams326e0dd2009-05-22 14:03:28 -0700129 $(transform-generated-source)
Jack Palevicha5e094b2009-05-26 17:23:34 -0700130
Jason Samsc7f6ce42009-06-10 16:09:05 -0700131# used in jni/Android.mk
132rs_generated_source += $(GEN)
Jason Sams81e48fa2009-06-10 18:35:42 -0700133
Jason Sams326e0dd2009-05-22 14:03:28 -0700134LOCAL_GENERATED_SOURCES += $(GEN)
135
136LOCAL_SRC_FILES:= \
137 rsAdapter.cpp \
138 rsAllocation.cpp \
Jason Samsc1ed5892010-03-10 17:30:41 -0800139 rsAnimation.cpp \
Jason Samsd01d9702009-12-23 14:35:29 -0800140 rsComponent.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700141 rsContext.cpp \
Yang Ni1ffd86b2015-01-07 09:16:40 -0800142 rsClosure.cpp \
Jason Samsf313dc32013-07-09 14:29:39 -0700143 rsCppUtils.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700144 rsDevice.cpp \
Jason Sams0ca7cba2015-03-11 15:22:38 -0700145 rsDriverLoader.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700146 rsElement.cpp \
Alex Sakhartchouk7d9c5ff2011-04-01 14:19:01 -0700147 rsFBOCache.cpp \
Jason Sams20087472011-05-06 14:14:30 -0700148 rsFifoSocket.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700149 rsFileA3D.cpp \
150 rsFont.cpp \
Jason Samsddceab92013-08-07 13:02:32 -0700151 rsGrallocConsumer.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700152 rsObjectBase.cpp \
Jason Sams87fe59a2011-04-20 15:09:01 -0700153 rsMatrix2x2.cpp \
154 rsMatrix3x3.cpp \
155 rsMatrix4x4.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700156 rsMesh.cpp \
157 rsMutex.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700158 rsProgram.cpp \
159 rsProgramFragment.cpp \
Jason Samsccc010b2010-05-13 18:30:11 -0700160 rsProgramStore.cpp \
Jason Sams5fd09d82009-09-23 13:57:02 -0700161 rsProgramRaster.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700162 rsProgramVertex.cpp \
163 rsSampler.cpp \
164 rsScript.cpp \
165 rsScriptC.cpp \
Jason Samse45ac6e2009-07-20 14:31:06 -0700166 rsScriptC_Lib.cpp \
Jason Samsaeb094b2010-05-18 13:35:45 -0700167 rsScriptC_LibGL.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -0700168 rsScriptGroup.cpp \
Yang Ni1ffd86b2015-01-07 09:16:40 -0800169 rsScriptGroup2.cpp \
Jason Sams8eaba4f2012-08-14 14:38:05 -0700170 rsScriptIntrinsic.cpp \
Jason Sams12b14ae2010-03-18 11:39:44 -0700171 rsSignal.cpp \
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700172 rsStream.cpp \
Jason Sams326e0dd2009-05-22 14:03:28 -0700173 rsThreadIO.cpp \
Jason Samsa662edd2012-04-02 15:00:10 -0700174 rsType.cpp
Jason Samsc460e552009-11-25 13:22:07 -0800175
Hans Boehm564e53a2014-10-01 16:14:48 -0700176LOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
Tim Murraye195a3f2014-03-13 15:04:58 -0700177LOCAL_SHARED_LIBRARIES += libgui libsync libdl libui
Victoria Leaseb9a4d822013-06-27 11:12:27 -0700178LOCAL_SHARED_LIBRARIES += libft2 libpng libz
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700179
Tim Murray8c24cd62014-04-10 18:04:39 -0700180LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM
Tim Murraye195a3f2014-03-13 15:04:58 -0700181
Alex Sakhartchouk5bab6bf2012-04-10 10:38:39 -0700182LOCAL_C_INCLUDES += external/freetype/include
Shih-wei Liao2b2e6212011-01-14 06:21:28 -0800183LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
Hans Boehm564e53a2014-10-01 16:14:48 -0700184
185LOCAL_CXX_STL := libc++
Alex Sakhartchoukd3e0ad42010-06-24 17:15:34 -0700186
Stephen Hinesebee9482012-05-09 11:53:24 -0700187LOCAL_CFLAGS += $(rs_base_CFLAGS)
Stephen Hinesd2d07ac2014-08-20 15:46:36 -0700188# TODO: external/freetype still uses the register keyword
189# Bug: 17163086
190LOCAL_CFLAGS += -Wno-deprecated-register
Stephen Hines6a121812011-03-01 17:34:59 -0800191
Tim Murray8c24cd62014-04-10 18:04:39 -0700192LOCAL_CPPFLAGS += -fno-exceptions
Tim Murraye195a3f2014-03-13 15:04:58 -0700193
Jason Samsc7f6ce42009-06-10 16:09:05 -0700194LOCAL_MODULE_TAGS := optional
Jason Sams326e0dd2009-05-22 14:03:28 -0700195
196include $(BUILD_SHARED_LIBRARY)
197
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800198# Now build a host version for serialization
199include $(CLEAR_VARS)
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700200LOCAL_MODULE:= libRS
201LOCAL_MODULE_TAGS := optional
Ying Wangc6a7c1c2014-05-20 15:53:43 -0700202LOCAL_MODULE_CLASS := STATIC_LIBRARIES
203LOCAL_IS_HOST_MODULE := true
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700204
Ying Wangc6a7c1c2014-05-20 15:53:43 -0700205intermediates := $(call local-generated-sources-dir)
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700206
207# Generate custom headers
208
209GEN := $(addprefix $(intermediates)/, \
210 rsgApiStructs.h \
211 rsgApiFuncDecl.h \
212 )
213
214$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700215$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
216$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700217$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
218 $(transform-generated-source)
219
220LOCAL_GENERATED_SOURCES += $(GEN)
221
222# Generate custom source files
223
224GEN := $(addprefix $(intermediates)/, \
225 rsgApi.cpp \
226 rsgApiReplay.cpp \
227 )
228
229$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
Tim Murray2487bb72013-03-18 16:41:32 -0700230$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
231$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700232$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
233 $(transform-generated-source)
234
235LOCAL_GENERATED_SOURCES += $(GEN)
236
Stephen Hinesebee9482012-05-09 11:53:24 -0700237LOCAL_CFLAGS += $(rs_base_CFLAGS)
Alex Sakhartchouk77d9f4b2011-01-31 14:53:24 -0800238LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
Alex Sakhartchouk5bab6bf2012-04-10 10:38:39 -0700239LOCAL_CFLAGS += -fPIC
Tim Murray8c24cd62014-04-10 18:04:39 -0700240LOCAL_CPPFLAGS += -fno-exceptions
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800241
242LOCAL_SRC_FILES:= \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700243 rsAdapter.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800244 rsAllocation.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700245 rsAnimation.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800246 rsComponent.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700247 rsContext.cpp \
Yang Ni1ffd86b2015-01-07 09:16:40 -0800248 rsClosure.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700249 rsDevice.cpp \
Jason Sams0ca7cba2015-03-11 15:22:38 -0700250 rsDriverLoader.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800251 rsElement.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700252 rsFBOCache.cpp \
253 rsFifoSocket.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800254 rsFileA3D.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700255 rsFont.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800256 rsObjectBase.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700257 rsMatrix2x2.cpp \
258 rsMatrix3x3.cpp \
259 rsMatrix4x4.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800260 rsMesh.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700261 rsMutex.cpp \
262 rsProgram.cpp \
263 rsProgramFragment.cpp \
264 rsProgramStore.cpp \
265 rsProgramRaster.cpp \
266 rsProgramVertex.cpp \
267 rsSampler.cpp \
268 rsScript.cpp \
269 rsScriptC.cpp \
270 rsScriptC_Lib.cpp \
271 rsScriptC_LibGL.cpp \
Jason Samsdbe66d62012-09-17 13:54:41 -0700272 rsScriptGroup.cpp \
Yang Ni1ffd86b2015-01-07 09:16:40 -0800273 rsScriptGroup2.cpp \
Jason Sams8eaba4f2012-08-14 14:38:05 -0700274 rsScriptIntrinsic.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700275 rsSignal.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800276 rsStream.cpp \
Alex Sakhartchoukb81a0eb2011-06-03 10:18:01 -0700277 rsThreadIO.cpp \
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800278 rsType.cpp
279
Ying Wangb2411812013-04-09 21:56:34 -0700280LOCAL_STATIC_LIBRARIES := libcutils libutils liblog
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800281
Tim Murray434098c2014-08-13 15:07:40 -0700282LOCAL_CLANG := true
283
Alex Sakhartchouk099d7d32011-01-28 09:31:47 -0800284include $(BUILD_HOST_STATIC_LIBRARY)
Jason Sams709a0972012-11-15 18:18:04 -0800285
Stephen Hinesf12f8ed2013-05-23 13:40:57 -0700286include $(call all-makefiles-under,$(LOCAL_PATH))