15e172b0817603d4ef0d7e80221a2cc4ecea1fb1bJason Sams
2c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason SamsLOCAL_PATH:=$(call my-dir)
3c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Sams
493d6bc872b7d9fba63abfa7513d56b38d9c3d371Chris Wailesrs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable -fno-exceptions -std=c++11
5ebee9480507562109314cca00753a09002a91e7dStephen Hinesifeq ($(TARGET_BUILD_PDK), true)
6ebee9480507562109314cca00753a09002a91e7dStephen Hines  rs_base_CFLAGS += -D__RS_PDK__
7ebee9480507562109314cca00753a09002a91e7dStephen Hinesendif
8ebee9480507562109314cca00753a09002a91e7dStephen Hines
991dfcdb0f9d5402c26dd65d26d1163f05c2f1e50Stephen Hinesifneq ($(OVERRIDE_RS_DRIVER),)
1091dfcdb0f9d5402c26dd65d26d1163f05c2f1e50Stephen Hines  rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER)
1191dfcdb0f9d5402c26dd65d26d1163f05c2f1e50Stephen Hinesendif
1291dfcdb0f9d5402c26dd65d26d1163f05c2f1e50Stephen Hines
136e6cdbc303bef581cfb7d1fd0902cb42c89010ccTim Murrayifneq ($(DISABLE_RS_64_BIT_DRIVER),)
146e6cdbc303bef581cfb7d1fd0902cb42c89010ccTim Murray  rs_base_CFLAGS += -DDISABLE_RS_64_BIT_DRIVER
156e6cdbc303bef581cfb7d1fd0902cb42c89010ccTim Murrayendif
166e6cdbc303bef581cfb7d1fd0902cb42c89010ccTim Murray
17e3af53b643677c40d228ffd3624cf259f4dc68edTim Murrayifeq ($(RS_FIND_OFFSETS), true)
18e3af53b643677c40d228ffd3624cf259f4dc68edTim Murray  rs_base_CFLAGS += -DRS_FIND_OFFSETS
19e3af53b643677c40d228ffd3624cf259f4dc68edTim Murrayendif
20e3af53b643677c40d228ffd3624cf259f4dc68edTim Murray
215e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchoukinclude $(CLEAR_VARS)
228d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienifneq ($(HOST_OS),windows)
23f098424e0391d477ab48440e03c163a7f04fbbdbStephen HinesLOCAL_CLANG := true
248d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienendif
255e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex SakhartchoukLOCAL_MODULE := libRSDriver
26e8e408ada85b77e0a7314ef8e734aa9fc981a237Duane SandLOCAL_MODULE_TARGET_ARCH_WARN := arm mips mips64 x86 x86_64 arm64
275e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk
285e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex SakhartchoukLOCAL_SRC_FILES:= \
295e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdAllocation.cpp \
305e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdBcc.cpp \
315e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdCore.cpp \
32a36c50a6ab87f4c9049318d4c6c8ec7b0a1e6e12Jason Sams	driver/rsdElement.cpp \
335e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdFrameBuffer.cpp \
345e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdFrameBufferObj.cpp \
355e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdGL.cpp \
365e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdMesh.cpp \
375e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdMeshObj.cpp \
385e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdProgram.cpp \
395e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdProgramRaster.cpp \
405e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdProgramStore.cpp \
415e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdRuntimeStubs.cpp \
425e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdSampler.cpp \
43dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams	driver/rsdScriptGroup.cpp \
445e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdShader.cpp \
455e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk	driver/rsdShaderCache.cpp \
46a36c50a6ab87f4c9049318d4c6c8ec7b0a1e6e12Jason Sams	driver/rsdType.cpp \
476d958bc9ac6efc404be2b502c5c579e00837bff1Jason Sams	driver/rsdVertexArray.cpp
485e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk
49e1e08b4c9cc80c51224fdaf3aeab0804daf073e6Jason Sams
50564e53af06a44a990e3c259f942002f3cf859d48Hans BoehmLOCAL_SHARED_LIBRARIES += libRS libRSCpuRef
51b2411816414d33e5c3dd1488be1702b3ef67b250Ying WangLOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
52e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim MurrayLOCAL_SHARED_LIBRARIES += libui libgui libsync
53e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray
548c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM
555e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk
565e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex SakhartchoukLOCAL_C_INCLUDES += frameworks/compile/libbcc/include
57564e53af06a44a990e3c259f942002f3cf859d48Hans Boehm
58564e53af06a44a990e3c259f942002f3cf859d48Hans BoehmLOCAL_CXX_STL := libc++
595e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk
60ebee9480507562109314cca00753a09002a91e7dStephen HinesLOCAL_CFLAGS += $(rs_base_CFLAGS)
618c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_CPPFLAGS += -fno-exceptions
62e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray
635e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex SakhartchoukLOCAL_MODULE_TAGS := optional
645e3c968860fcc71b2ffdca4b6558cf7aa43049fdAlex Sakhartchouk
65414a46166126da6864258bd25ff183f9a3c6261dStephen Hinesinclude $(BUILD_SHARED_LIBRARY)
66326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
67c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Sams# Build rsg-generator ====================
68c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Samsinclude $(CLEAR_VARS)
69326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
70326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_MODULE := rsg-generator
71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
72326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams# These symbols are normally defined by BUILD_XXX, but we need to define them
73326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams# here so that local-intermediates-dir works.
74326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
75326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_IS_HOST_MODULE := true
76326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_MODULE_CLASS := EXECUTABLES
77c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Samsintermediates := $(local-intermediates-dir)
78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
79326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_SRC_FILES:= \
8084614dd02411e1cf9a4c37aa421898c471cfad20Joe Onorato    spec.l \
81326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    rsg_generator.c
82c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Sams
834b898868bc717b036629ba7a1ac700cc92945e79Stephen HinesLOCAL_CXX_STL := none
84abe54a2fa4856196ddfe54805e15bf24ab9636a2Dan AlbertLOCAL_ADDRESS_SANITIZER := false
854b898868bc717b036629ba7a1ac700cc92945e79Stephen Hines
86326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsinclude $(BUILD_HOST_EXECUTABLE)
87326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
88c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Sams# TODO: This should go into build/core/config.mk
89326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsRSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
90326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
91326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsinclude $(CLEAR_VARS)
928d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienifneq ($(HOST_OS),windows)
93f098424e0391d477ab48440e03c163a7f04fbbdbStephen HinesLOCAL_CLANG := true
948d50174ff0e80bc3846f9dfd6f7d154fc4949db4Logan Chienendif
95326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_MODULE := libRS
96e8e408ada85b77e0a7314ef8e734aa9fc981a237Duane SandLOCAL_MODULE_TARGET_ARCH_WARN := arm mips mips64 x86 x86_64 arm64
97326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
98326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_MODULE_CLASS := SHARED_LIBRARIES
99165aa63b99b77abc8c486679a9f90104ce9fff73Colin Crossgenerated_sources:= $(local-generated-sources-dir)
100326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
101326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams# Generate custom headers
102326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
103165aa63b99b77abc8c486679a9f90104ce9fff73Colin CrossGEN := $(addprefix $(generated_sources)/, \
104326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams            rsgApiStructs.h \
105326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams            rsgApiFuncDecl.h \
106326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        )
107326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
10881e48fa63c918b7bd80018c0b99255ddb6e1d058Jason Sams$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
10936a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@
11036a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec
111165aa63b99b77abc8c486679a9f90104ce9fff73Colin Cross$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg
112326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	$(transform-generated-source)
113a5e094ba1288cd7aa9e319df7f458e45395f8d49Jack Palevich
114c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Sams# used in jni/Android.mk
115c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Samsrs_generated_source += $(GEN)
116326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_GENERATED_SOURCES += $(GEN)
117326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
118326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams# Generate custom source files
119326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
120165aa63b99b77abc8c486679a9f90104ce9fff73Colin CrossGEN := $(addprefix $(generated_sources)/, \
121326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams            rsgApi.cpp \
122326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams            rsgApiReplay.cpp \
123326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams        )
124a5e094ba1288cd7aa9e319df7f458e45395f8d49Jack Palevich
12581e48fa63c918b7bd80018c0b99255ddb6e1d058Jason Sams$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
12636a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@
12736a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec
128165aa63b99b77abc8c486679a9f90104ce9fff73Colin Cross$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
129326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	$(transform-generated-source)
130a5e094ba1288cd7aa9e319df7f458e45395f8d49Jack Palevich
131c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Sams# used in jni/Android.mk
132c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason Samsrs_generated_source += $(GEN)
13381e48fa63c918b7bd80018c0b99255ddb6e1d058Jason Sams
134326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_GENERATED_SOURCES += $(GEN)
135326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
136326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsLOCAL_SRC_FILES:= \
137326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsAdapter.cpp \
138326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsAllocation.cpp \
139c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	rsAnimation.cpp \
140d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	rsComponent.cpp \
141326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsContext.cpp \
1421ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni	rsClosure.cpp \
143f313dc32d5ea68a7c48fb4ec6e131ec2fb97ce2dJason Sams	rsCppUtils.cpp \
144326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsDevice.cpp \
1450ca7cbaea8d5cf18f25d1148be75fbb6e2d86c62Jason Sams	rsDriverLoader.cpp \
146326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsElement.cpp \
1477d9c5ffccb7a5e682860f752403e5a03aed587beAlex Sakhartchouk	rsFBOCache.cpp \
1482008747941749ad27fe80663d23036ac320e998fJason Sams	rsFifoSocket.cpp \
149d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	rsFileA3D.cpp \
150d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	rsFont.cpp \
151ddceab9a001f07a3395226c5e06e3b420720af0fJason Sams	rsGrallocConsumer.cpp \
152326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsObjectBase.cpp \
15387fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams	rsMatrix2x2.cpp \
15487fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams	rsMatrix3x3.cpp \
15587fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams	rsMatrix4x4.cpp \
156d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	rsMesh.cpp \
157d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	rsMutex.cpp \
158326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsProgram.cpp \
159326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsProgramFragment.cpp \
160ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams	rsProgramStore.cpp \
1615fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	rsProgramRaster.cpp \
162326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsProgramVertex.cpp \
163326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsSampler.cpp \
164326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsScript.cpp \
165326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsScriptC.cpp \
166e45ac6e91864f2a6617b6a2c0aa87cdb62cf58fdJason Sams	rsScriptC_Lib.cpp \
167aeb094b520d8ea49b74129927578f18f758c873eJason Sams	rsScriptC_LibGL.cpp \
168dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams	rsScriptGroup.cpp \
1691ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni	rsScriptGroup2.cpp \
1708eaba4fee0c7b5325742c87187622fdff51d5effJason Sams	rsScriptIntrinsic.cpp \
17112b14ae9fa34f4fd0bf21a2a4ac95a4864248fe9Jason Sams	rsSignal.cpp \
172d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	rsStream.cpp \
173326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	rsThreadIO.cpp \
174a662edd85843c2eb7078900b0279e38d6635795eJason Sams	rsType.cpp
175c460e55d78cbe8bee95c5c947dfe541218142a5bJason Sams
176564e53af06a44a990e3c259f942002f3cf859d48Hans BoehmLOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
177e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim MurrayLOCAL_SHARED_LIBRARIES += libgui libsync libdl libui
178b9a4d82a07715750649e4dd6bdbabc890c18a1f1Victoria LeaseLOCAL_SHARED_LIBRARIES += libft2 libpng libz
179d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk
1808c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_SHARED_LIBRARIES += libbcc libbcinfo libLLVM
181e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray
1825bab6bfc4e4403dfa638af6c2cd3f45e004331caAlex SakhartchoukLOCAL_C_INCLUDES += external/freetype/include
1832b2e62117780d89bcd38f3ae453c4105a360ff79Shih-wei LiaoLOCAL_C_INCLUDES += frameworks/compile/libbcc/include
184564e53af06a44a990e3c259f942002f3cf859d48Hans Boehm
185564e53af06a44a990e3c259f942002f3cf859d48Hans BoehmLOCAL_CXX_STL := libc++
186d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk
187ebee9480507562109314cca00753a09002a91e7dStephen HinesLOCAL_CFLAGS += $(rs_base_CFLAGS)
188d2d07ac17115b8f7867b0f1dabef829c1c8002abStephen Hines# TODO: external/freetype still uses the register keyword
189d2d07ac17115b8f7867b0f1dabef829c1c8002abStephen Hines# Bug: 17163086
190d2d07ac17115b8f7867b0f1dabef829c1c8002abStephen HinesLOCAL_CFLAGS += -Wno-deprecated-register
1916a121811e5d2e56e94747b36d15c7613ab2aedd4Stephen Hines
1928c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_CPPFLAGS += -fno-exceptions
193e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4Tim Murray
194c7f6ce40bf8fcb05d0ac98a1247ecd3daebc4191Jason SamsLOCAL_MODULE_TAGS := optional
195326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
196326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsinclude $(BUILD_SHARED_LIBRARY)
197326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
198099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk# Now build a host version for serialization
199099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchoukinclude $(CLEAR_VARS)
200b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex SakhartchoukLOCAL_MODULE:= libRS
201b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex SakhartchoukLOCAL_MODULE_TAGS := optional
202c6a7c1cb52a5c421fd1aa9d5fefd64e619896db6Ying WangLOCAL_MODULE_CLASS := STATIC_LIBRARIES
203c6a7c1cb52a5c421fd1aa9d5fefd64e619896db6Ying WangLOCAL_IS_HOST_MODULE := true
204b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
205c6a7c1cb52a5c421fd1aa9d5fefd64e619896db6Ying Wangintermediates := $(call local-generated-sources-dir)
206b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
207b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk# Generate custom headers
208b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
209b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex SakhartchoukGEN := $(addprefix $(intermediates)/, \
210b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk            rsgApiStructs.h \
211b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk            rsgApiFuncDecl.h \
212b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk        )
213b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
214b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
21536a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@
21636a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec
217b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
218b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	$(transform-generated-source)
219b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
220b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex SakhartchoukLOCAL_GENERATED_SOURCES += $(GEN)
221b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
222b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk# Generate custom source files
223b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
224b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex SakhartchoukGEN := $(addprefix $(intermediates)/, \
225b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk            rsgApi.cpp \
226b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk            rsgApiReplay.cpp \
227b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk        )
228b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
229b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
23036a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec | $(RSG_GENERATOR) $< $@
23136a3ebcb620ef2ee596c221b3fd6534f44a1cb94Logan Chien$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec
232b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
233b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	$(transform-generated-source)
234b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
235b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex SakhartchoukLOCAL_GENERATED_SOURCES += $(GEN)
236b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk
237ebee9480507562109314cca00753a09002a91e7dStephen HinesLOCAL_CFLAGS += $(rs_base_CFLAGS)
23877d9f4bd05b2d2a161f30c12a2248f9c97eaac42Alex SakhartchoukLOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
2395bab6bfc4e4403dfa638af6c2cd3f45e004331caAlex SakhartchoukLOCAL_CFLAGS += -fPIC
2408c24cd62187fb963cb1b76d2e91ae8c247c7f6fbTim MurrayLOCAL_CPPFLAGS += -fno-exceptions
241099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk
242099d7d33e55afeb3399f6e8cf8d665223ca94939Alex SakhartchoukLOCAL_SRC_FILES:= \
243b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsAdapter.cpp \
244099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsAllocation.cpp \
245b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsAnimation.cpp \
246099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsComponent.cpp \
247b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsContext.cpp \
2481ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni	rsClosure.cpp \
249b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsDevice.cpp \
2500ca7cbaea8d5cf18f25d1148be75fbb6e2d86c62Jason Sams	rsDriverLoader.cpp \
251099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsElement.cpp \
252b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsFBOCache.cpp \
253b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsFifoSocket.cpp \
254099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsFileA3D.cpp \
255b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsFont.cpp \
256099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsObjectBase.cpp \
257b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsMatrix2x2.cpp \
258b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsMatrix3x3.cpp \
259b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsMatrix4x4.cpp \
260099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsMesh.cpp \
261b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsMutex.cpp \
262b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsProgram.cpp \
263b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsProgramFragment.cpp \
264b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsProgramStore.cpp \
265b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsProgramRaster.cpp \
266b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsProgramVertex.cpp \
267b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsSampler.cpp \
268b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsScript.cpp \
269b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsScriptC.cpp \
270b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsScriptC_Lib.cpp \
271b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsScriptC_LibGL.cpp \
272dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams	rsScriptGroup.cpp \
2731ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni	rsScriptGroup2.cpp \
2748eaba4fee0c7b5325742c87187622fdff51d5effJason Sams	rsScriptIntrinsic.cpp \
275b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsSignal.cpp \
276099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsStream.cpp \
277b81a0eb8180791e4eaab1253b59fa8bd562b046bAlex Sakhartchouk	rsThreadIO.cpp \
278099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk	rsType.cpp
279099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk
280b2411816414d33e5c3dd1488be1702b3ef67b250Ying WangLOCAL_STATIC_LIBRARIES := libcutils libutils liblog
281099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchouk
282434098c79aa7b176b4ccc9e4572e3fe592be0fd6Tim MurrayLOCAL_CLANG := true
283434098c79aa7b176b4ccc9e4572e3fe592be0fd6Tim Murray
284099d7d33e55afeb3399f6e8cf8d665223ca94939Alex Sakhartchoukinclude $(BUILD_HOST_STATIC_LIBRARY)
285709a0978ae141198018ca9769f8d96292a8928e6Jason Sams
286f12f8ed439a00ef5cc229787158c270cf1eeae88Stephen Hinesinclude $(call all-makefiles-under,$(LOCAL_PATH))
287