Jason Sams d19f10d43a Add the Renderscript library. (Not in the build by default yet.)
This library can be used to create animated 3D User Interfaces.

This library is currently under heavy development, so it's not part of
the build by default.

In order to build this library, you must define

   BUILD_RENDERSCRIPT=true

in your build environment.

You will also have to manually edit

 build/core/prelink-linux-arm.map

And add libRS and libRS_jni at the end like this (exact address may change.)

libRS.so                0x9A100000
libRS_jni.so            0x9A000000
2009-05-22 17:11:00 -07:00

132 lines
2.8 KiB
Makefile

# Only build if BUILD_RENDERSCRIPT is defined to true in the environment.
ifeq ($(BUILD_RENDERSCRIPT),true)
TOP_LOCAL_PATH:=$(call my-dir)
LOCAL_PATH:= $(TOP_LOCAL_PATH)
# Build rsg-generator
LOCAL_MODULE := rsg-generator
# These symbols are normally defined by BUILD_XXX, but we need to define them
# here so that local-intermediates-dir works.
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := EXECUTABLES
intermediates:= $(local-intermediates-dir)
GEN := $(addprefix $(intermediates)/, \
lex.yy.c \
)
$(GEN): PRIVATE_CUSTOM_TOOL = flex -o $@ $<
$(intermediates)/lex.yy.c : $(LOCAL_PATH)/spec.lex
$(transform-generated-source)
$(LOCAL_PATH)/rsg_generator.c : $(intermediates)/lex.yy.c
LOCAL_SRC_FILES:= \
rsg_generator.c
include $(BUILD_HOST_EXECUTABLE)
RSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
# Build render script lib
include $(CLEAR_VARS)
LOCAL_MODULE := libRS
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
intermediates:= $(local-intermediates-dir)
RS_GENERATED_INCLUDE_DIR:=$(intermediates)
# Generate custom headers
GEN := $(addprefix $(intermediates)/, \
rsgApiStructs.h \
rsgApiFuncDecl.h \
)
$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(LOCAL_PATH)/rs.spec
$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
# Generate custom source files
GEN := $(addprefix $(intermediates)/, \
rsgApi.cpp \
rsgApiReplay.cpp \
)
$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(LOCAL_PATH)/rs.spec
$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
$(transform-generated-source)
LOCAL_GENERATED_SOURCES += $(GEN)
LOCAL_SRC_FILES:= \
rsAdapter.cpp \
rsAllocation.cpp \
rsComponent.cpp \
rsContext.cpp \
rsDevice.cpp \
rsElement.cpp \
rsLocklessFifo.cpp \
rsObjectBase.cpp \
rsMatrix.cpp \
rsProgram.cpp \
rsProgramFragment.cpp \
rsProgramFragmentStore.cpp \
rsProgramVertex.cpp \
rsSampler.cpp \
rsScript.cpp \
rsScriptC.cpp \
rsThreadIO.cpp \
rsType.cpp \
rsTriangleMesh.cpp
LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui
LOCAL_LDLIBS := -lpthread -ldl
LOCAL_MODULE:= libRS
#LOCAL_MODULE_TAGS := tests
include $(BUILD_SHARED_LIBRARY)
# Build JNI library
LOCAL_PATH:= $(TOP_LOCAL_PATH)/jni
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
RenderScript_jni.cpp
LOCAL_SHARED_LIBRARIES := \
libandroid_runtime \
libnativehelper \
libRS \
libcutils \
libutils \
libui
LOCAL_STATIC_LIBRARIES :=
LOCAL_C_INCLUDES += \
$(JNI_H_INCLUDE) \
$(RS_GENERATED_INCLUDE_DIR) \
$(call include-path-for, corecg graphics)
LOCAL_CFLAGS +=
LOCAL_LDLIBS := -lpthread
LOCAL_MODULE:= libRS_jni
include $(BUILD_SHARED_LIBRARY)
endif # BUILD_RENDERSCRIPT