Android.mk revision e195a3f57ace3b66d313a6ee88c6e93d5c9d87f4
14f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
24f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_PATH:=$(call my-dir)
34f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
44f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberrs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable
54f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberifeq ($(TARGET_BUILD_PDK), true)
64f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  rs_base_CFLAGS += -D__RS_PDK__
74f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberendif
84f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
94f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberifneq ($(OVERRIDE_RS_DRIVER),)
104f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber  rs_base_CFLAGS += -DOVERRIDE_RS_DRIVER=$(OVERRIDE_RS_DRIVER)
114f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberendif
124f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
134f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(CLEAR_VARS)
144f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CLANG := true
154f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE := libRSDriver
164f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_TARGET_ARCH_WARN := arm mips x86 x86_64 arm64
174f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
184f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SRC_FILES:= \
194f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdAllocation.cpp \
204f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdBcc.cpp \
214f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdCore.cpp \
224f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdFrameBuffer.cpp \
234f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdFrameBufferObj.cpp \
244f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdGL.cpp \
254f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdMesh.cpp \
264f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdMeshObj.cpp \
274f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdPath.cpp \
284f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdProgram.cpp \
294f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdProgramRaster.cpp \
304f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdProgramStore.cpp \
314f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdRuntimeStubs.cpp \
324f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdSampler.cpp \
334f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdScriptGroup.cpp \
344f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdShader.cpp \
354f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdShaderCache.cpp \
364f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	driver/rsdVertexArray.cpp
374f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
384f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
394f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES += libRS libRSCpuRef
404f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
414f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES += libui libgui libsync
424f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
434f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# FIXME for 64-bit
444f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES_32 += libbcc libbcinfo libLLVM
454f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
464f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_C_INCLUDES += frameworks/compile/libbcc/include
474f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_C_INCLUDES += frameworks/rs/cpu_ref/linkloader/include
484f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
494f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS += $(rs_base_CFLAGS)
504f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
514f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS_64 += -DFAKE_ARM64_BUILD=1
524f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
534f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_LDLIBS := -lpthread -ldl
544f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_TAGS := optional
554f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
564f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(BUILD_SHARED_LIBRARY)
574f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
584f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# Build rsg-generator ====================
594f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(CLEAR_VARS)
604f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
614f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE := rsg-generator
624f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
634f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# These symbols are normally defined by BUILD_XXX, but we need to define them
644f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# here so that local-intermediates-dir works.
654f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
664f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_IS_HOST_MODULE := true
674f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_CLASS := EXECUTABLES
684f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberintermediates := $(local-intermediates-dir)
694f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
704f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SRC_FILES:= \
714f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber    spec.l \
724f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber    rsg_generator.c
734f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
744f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(BUILD_HOST_EXECUTABLE)
754f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
764f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# TODO: This should go into build/core/config.mk
774f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberRSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
784f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
794f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(CLEAR_VARS)
804f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CLANG := true
814f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE := libRS
824f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_TARGET_ARCH_WARN := arm mips x86 x86_64 arm64
834f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
844f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_CLASS := SHARED_LIBRARIES
854f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Hubergenerated_sources:= $(local-generated-sources-dir)
864f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
874f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# Generate custom headers
884f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
894f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberGEN := $(addprefix $(generated_sources)/, \
904f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApiStructs.h \
914f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApiFuncDecl.h \
924f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber        )
934f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
944f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
954f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
964f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
974f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN): $(generated_sources)/%.h : $(LOCAL_PATH)/%.h.rsg
984f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	$(transform-generated-source)
994f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1004f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# used in jni/Android.mk
1014f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberrs_generated_source += $(GEN)
1024f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_GENERATED_SOURCES += $(GEN)
1034f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1044f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# Generate custom source files
1054f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1064f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberGEN := $(addprefix $(generated_sources)/, \
1074f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApi.cpp \
1084f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApiReplay.cpp \
1094f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber        )
1104f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1114f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
1124f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
1134f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
1144f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN): $(generated_sources)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
1154f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	$(transform-generated-source)
1164f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1174f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# used in jni/Android.mk
1184f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberrs_generated_source += $(GEN)
1194f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1204f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_GENERATED_SOURCES += $(GEN)
1214f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1224f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SRC_FILES:= \
1234f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsAdapter.cpp \
1244f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsAllocation.cpp \
1254f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsAnimation.cpp \
1264f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsComponent.cpp \
1274f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsContext.cpp \
1284f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsCppUtils.cpp \
1294f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsDevice.cpp \
1304f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsElement.cpp \
1314f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFBOCache.cpp \
1324f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFifoSocket.cpp \
1334f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFileA3D.cpp \
1344f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFont.cpp \
1354f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsGrallocConsumer.cpp \
1364f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsObjectBase.cpp \
1374f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMatrix2x2.cpp \
1384f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMatrix3x3.cpp \
1394f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMatrix4x4.cpp \
1404f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMesh.cpp \
1414f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMutex.cpp \
1424f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsPath.cpp \
1434f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgram.cpp \
1444f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramFragment.cpp \
1454f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramStore.cpp \
1464f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramRaster.cpp \
1474f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramVertex.cpp \
1484f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsSampler.cpp \
1494f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScript.cpp \
1504f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptC.cpp \
1514f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptC_Lib.cpp \
1524f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptC_LibGL.cpp \
1534f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptGroup.cpp \
1544f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptIntrinsic.cpp \
1554f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsSignal.cpp \
1564f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsStream.cpp \
1574f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsThreadIO.cpp \
1584f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsType.cpp
1594f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1604f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES += liblog libcutils libutils libEGL libGLESv1_CM libGLESv2
1614f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES += libgui libsync libdl libui
1624f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES += libft2 libpng libz
1634f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1644f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# FIXME for 64-bit
1654f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SHARED_LIBRARIES_32 += libbcc libbcinfo libLLVM
1664f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1674f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1684f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_C_INCLUDES += external/freetype/include
1694f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_C_INCLUDES += frameworks/compile/libbcc/include
1704f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1714f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS += $(rs_base_CFLAGS)
1724f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1734f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# FIXME for 64-bit
1744f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS_64 += -DFAKE_ARM64_BUILD=1
1754f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1764f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_LDLIBS := -lpthread -ldl
1774f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_TAGS := optional
1784f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1794f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(BUILD_SHARED_LIBRARY)
1804f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1814f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# Now build a host version for serialization
1824f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(CLEAR_VARS)
1834f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE:= libRS
1844f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_MODULE_TAGS := optional
1854f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1864f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberintermediates := $(call intermediates-dir-for,STATIC_LIBRARIES,libRS,HOST,)
1874f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1884f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# Generate custom headers
1894f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1904f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberGEN := $(addprefix $(intermediates)/, \
1914f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApiStructs.h \
1924f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApiFuncDecl.h \
1934f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber        )
1944f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
1954f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
1964f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
1974f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
1984f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
1994f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	$(transform-generated-source)
2004f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2014f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_GENERATED_SOURCES += $(GEN)
2024f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2034f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber# Generate custom source files
2044f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2054f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberGEN := $(addprefix $(intermediates)/, \
2064f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApi.cpp \
2074f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber            rsgApiReplay.cpp \
2084f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber        )
2094f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2104f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
2114f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : PRIVATE_CUSTOM_TOOL = cat $(PRIVATE_PATH)/rs.spec $(PRIVATE_PATH)/rsg.spec $(PRIVATE_PATH)/rs_native.spec | $(RSG_GENERATOR) $< $@
2124f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec $(LOCAL_PATH)/rsg.spec $(LOCAL_PATH)/rs_native.spec
2134f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
2144f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	$(transform-generated-source)
2154f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2164f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_GENERATED_SOURCES += $(GEN)
2174f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2184f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS += $(rs_base_CFLAGS)
2194f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS += -DANDROID_RS_SERIALIZE
2204f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_CFLAGS += -fPIC
2214f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2224f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_SRC_FILES:= \
2234f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsAdapter.cpp \
2244f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsAllocation.cpp \
2254f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsAnimation.cpp \
2264f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsComponent.cpp \
2274f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsContext.cpp \
2284f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsDevice.cpp \
2294f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsElement.cpp \
2304f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFBOCache.cpp \
2314f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFifoSocket.cpp \
2324f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFileA3D.cpp \
2334f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsFont.cpp \
2344f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsObjectBase.cpp \
2354f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMatrix2x2.cpp \
2364f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMatrix3x3.cpp \
2374f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMatrix4x4.cpp \
2384f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMesh.cpp \
2394f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsMutex.cpp \
2404f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsPath.cpp \
2414f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgram.cpp \
2424f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramFragment.cpp \
2434f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramStore.cpp \
2444f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramRaster.cpp \
2454f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsProgramVertex.cpp \
2464f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsSampler.cpp \
2474f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScript.cpp \
2484f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptC.cpp \
2494f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptC_Lib.cpp \
2504f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptC_LibGL.cpp \
2514f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptGroup.cpp \
2524f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsScriptIntrinsic.cpp \
2534f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsSignal.cpp \
2544f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsStream.cpp \
2554f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsThreadIO.cpp \
2564f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber	rsType.cpp
2574f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2584f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_STATIC_LIBRARIES := libcutils libutils liblog
2594f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2604f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas HuberLOCAL_LDLIBS := -lpthread
2614f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
2624f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huberinclude $(BUILD_HOST_STATIC_LIBRARY)
2634f1efc098cb5791c3e9f483f2af84aef70d2d0a0Andreas Huber
264LLVM_ROOT_PATH := external/llvm
265
266#=============================================================================
267# android librsloader for libbcc (Device)
268#-----------------------------------------------------------------------------
269
270rsloader_SRC_FILES := \
271  cpu_ref/linkloader/android/librsloader.cpp \
272  cpu_ref/linkloader/lib/ELFHeader.cpp \
273  cpu_ref/linkloader/lib/ELFSymbol.cpp \
274  cpu_ref/linkloader/lib/ELFSectionHeader.cpp \
275  cpu_ref/linkloader/lib/ELFTypes.cpp \
276  cpu_ref/linkloader/lib/GOT.cpp \
277  cpu_ref/linkloader/lib/MemChunk.cpp \
278  cpu_ref/linkloader/lib/StubLayout.cpp \
279  cpu_ref/linkloader/utils/helper.cpp \
280  cpu_ref/linkloader/utils/raw_ostream.cpp \
281  cpu_ref/linkloader/utils/rsl_assert.cpp
282
283include $(CLEAR_VARS)
284
285
286LOCAL_MODULE := librsloader
287
288LOCAL_MODULE_TAGS := optional
289
290LOCAL_SRC_FILES := $(rsloader_SRC_FILES)
291
292LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
293
294LOCAL_CFLAGS += $(rs_base_CFLAGS)
295
296LOCAL_C_INCLUDES := \
297  $(LOCAL_PATH)/cpu_ref/linkloader \
298  $(LOCAL_PATH)/cpu_ref/linkloader/include \
299  $(LOCAL_C_INCLUDES)
300
301include $(LLVM_ROOT_PATH)/llvm-device-build.mk
302include $(BUILD_STATIC_LIBRARY)
303
304#=============================================================================
305# android librsloader for libbcc (Host)
306#-----------------------------------------------------------------------------
307
308include $(CLEAR_VARS)
309
310LOCAL_MODULE := librsloader
311
312LOCAL_MODULE_TAGS := optional
313
314LOCAL_SRC_FILES := $(rsloader_SRC_FILES)
315
316ifdef USE_MINGW
317LOCAL_SRC_FILES += cpu_ref/linkloader/lib/mmanWindows.cpp
318endif
319
320LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
321
322LOCAL_CFLAGS += $(rs_base_CFLAGS)
323LOCAL_CFLAGS += -D__HOST__
324
325LOCAL_C_INCLUDES := \
326  $(LOCAL_PATH)/cpu_ref/linkloader \
327  $(LOCAL_PATH)/cpu_ref/linkloader/include \
328  $(LOCAL_C_INCLUDES)
329
330include $(LLVM_ROOT_PATH)/llvm-host-build.mk
331include $(BUILD_HOST_STATIC_LIBRARY)
332
333include $(call all-makefiles-under,$(LOCAL_PATH))
334
335