1 2LOCAL_PATH:=$(call my-dir) 3 4rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable 5ifeq ($(ARCH_ARM_HAVE_NEON), true) 6 rs_base_CFLAGS += -DARCH_ARM_HAVE_NEON 7endif 8ifeq ($(TARGET_BUILD_PDK), true) 9 rs_base_CFLAGS += -D__RS_PDK__ 10endif 11 12include $(CLEAR_VARS) 13LOCAL_MODULE := libRSDriver 14 15LOCAL_SRC_FILES:= \ 16 driver/rsdAllocation.cpp \ 17 driver/rsdBcc.cpp \ 18 driver/rsdCore.cpp \ 19 driver/rsdFrameBuffer.cpp \ 20 driver/rsdFrameBufferObj.cpp \ 21 driver/rsdGL.cpp \ 22 driver/rsdMesh.cpp \ 23 driver/rsdMeshObj.cpp \ 24 driver/rsdPath.cpp \ 25 driver/rsdProgram.cpp \ 26 driver/rsdProgramRaster.cpp \ 27 driver/rsdProgramStore.cpp \ 28 driver/rsdRuntimeMath.cpp \ 29 driver/rsdRuntimeStubs.cpp \ 30 driver/rsdSampler.cpp \ 31 driver/rsdShader.cpp \ 32 driver/rsdShaderCache.cpp \ 33 driver/rsdVertexArray.cpp 34 35LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 36LOCAL_SHARED_LIBRARIES += libbcc libbcinfo libgui 37 38LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 39 40LOCAL_CFLAGS += $(rs_base_CFLAGS) 41 42LOCAL_LDLIBS := -lpthread -ldl 43LOCAL_MODULE_TAGS := optional 44 45include $(BUILD_STATIC_LIBRARY) 46 47# Build rsg-generator ==================== 48include $(CLEAR_VARS) 49 50LOCAL_MODULE := rsg-generator 51 52# These symbols are normally defined by BUILD_XXX, but we need to define them 53# here so that local-intermediates-dir works. 54 55LOCAL_IS_HOST_MODULE := true 56LOCAL_MODULE_CLASS := EXECUTABLES 57intermediates := $(local-intermediates-dir) 58 59LOCAL_SRC_FILES:= \ 60 spec.l \ 61 rsg_generator.c 62 63include $(BUILD_HOST_EXECUTABLE) 64 65# TODO: This should go into build/core/config.mk 66RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) 67 68include $(CLEAR_VARS) 69LOCAL_MODULE := libRS 70 71LOCAL_MODULE_CLASS := SHARED_LIBRARIES 72intermediates:= $(local-intermediates-dir) 73 74# Generate custom headers 75 76GEN := $(addprefix $(intermediates)/, \ 77 rsgApiStructs.h \ 78 rsgApiFuncDecl.h \ 79 ) 80 81$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 82$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 83$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 84$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 85 $(transform-generated-source) 86 87# used in jni/Android.mk 88rs_generated_source += $(GEN) 89LOCAL_GENERATED_SOURCES += $(GEN) 90 91# Generate custom source files 92 93GEN := $(addprefix $(intermediates)/, \ 94 rsgApi.cpp \ 95 rsgApiReplay.cpp \ 96 ) 97 98$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 99$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 100$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 101$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 102 $(transform-generated-source) 103 104# used in jni/Android.mk 105rs_generated_source += $(GEN) 106 107LOCAL_GENERATED_SOURCES += $(GEN) 108 109LOCAL_SRC_FILES:= \ 110 rsAdapter.cpp \ 111 rsAllocation.cpp \ 112 rsAnimation.cpp \ 113 rsComponent.cpp \ 114 rsContext.cpp \ 115 rsDevice.cpp \ 116 rsElement.cpp \ 117 rsFBOCache.cpp \ 118 rsFifoSocket.cpp \ 119 rsFileA3D.cpp \ 120 rsFont.cpp \ 121 rsObjectBase.cpp \ 122 rsMatrix2x2.cpp \ 123 rsMatrix3x3.cpp \ 124 rsMatrix4x4.cpp \ 125 rsMesh.cpp \ 126 rsMutex.cpp \ 127 rsPath.cpp \ 128 rsProgram.cpp \ 129 rsProgramFragment.cpp \ 130 rsProgramStore.cpp \ 131 rsProgramRaster.cpp \ 132 rsProgramVertex.cpp \ 133 rsSampler.cpp \ 134 rsScript.cpp \ 135 rsScriptC.cpp \ 136 rsScriptC_Lib.cpp \ 137 rsScriptC_LibGL.cpp \ 138 rsSignal.cpp \ 139 rsStream.cpp \ 140 rsThreadIO.cpp \ 141 rsType.cpp 142 143LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libbcc 144LOCAL_SHARED_LIBRARIES += libui libbcinfo libgui 145 146LOCAL_STATIC_LIBRARIES := libft2 libRSDriver 147 148LOCAL_C_INCLUDES += external/freetype/include 149LOCAL_C_INCLUDES += frameworks/compile/libbcc/include 150 151LOCAL_CFLAGS += $(rs_base_CFLAGS) 152 153LOCAL_LDLIBS := -lpthread -ldl 154LOCAL_MODULE:= libRS 155LOCAL_MODULE_TAGS := optional 156 157include $(BUILD_SHARED_LIBRARY) 158 159# Now build a host version for serialization 160include $(CLEAR_VARS) 161LOCAL_MODULE:= libRS 162LOCAL_MODULE_TAGS := optional 163 164intermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,) 165 166# Generate custom headers 167 168GEN := $(addprefix $(intermediates)/, \ 169 rsgApiStructs.h \ 170 rsgApiFuncDecl.h \ 171 ) 172 173$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 174$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 175$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 176$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 177 $(transform-generated-source) 178 179LOCAL_GENERATED_SOURCES += $(GEN) 180 181# Generate custom source files 182 183GEN := $(addprefix $(intermediates)/, \ 184 rsgApi.cpp \ 185 rsgApiReplay.cpp \ 186 ) 187 188$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 189$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 190$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 191$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 192 $(transform-generated-source) 193 194LOCAL_GENERATED_SOURCES += $(GEN) 195 196LOCAL_CFLAGS += $(rs_base_CFLAGS) 197LOCAL_CFLAGS += -DANDROID_RS_SERIALIZE 198LOCAL_CFLAGS += -fPIC 199 200LOCAL_SRC_FILES:= \ 201 rsAdapter.cpp \ 202 rsAllocation.cpp \ 203 rsAnimation.cpp \ 204 rsComponent.cpp \ 205 rsContext.cpp \ 206 rsDevice.cpp \ 207 rsElement.cpp \ 208 rsFBOCache.cpp \ 209 rsFifoSocket.cpp \ 210 rsFileA3D.cpp \ 211 rsFont.cpp \ 212 rsObjectBase.cpp \ 213 rsMatrix2x2.cpp \ 214 rsMatrix3x3.cpp \ 215 rsMatrix4x4.cpp \ 216 rsMesh.cpp \ 217 rsMutex.cpp \ 218 rsPath.cpp \ 219 rsProgram.cpp \ 220 rsProgramFragment.cpp \ 221 rsProgramStore.cpp \ 222 rsProgramRaster.cpp \ 223 rsProgramVertex.cpp \ 224 rsSampler.cpp \ 225 rsScript.cpp \ 226 rsScriptC.cpp \ 227 rsScriptC_Lib.cpp \ 228 rsScriptC_LibGL.cpp \ 229 rsSignal.cpp \ 230 rsStream.cpp \ 231 rsThreadIO.cpp \ 232 rsType.cpp 233 234LOCAL_STATIC_LIBRARIES := libcutils libutils 235 236LOCAL_LDLIBS := -lpthread 237 238include $(BUILD_HOST_STATIC_LIBRARY) 239