We should not try to build the JNI file until after we have built the the generated header files that it includes.
140 lines
3.0 KiB
Makefile
140 lines
3.0 KiB
Makefile
# Only build if BUILD_RENDERSCRIPT is defined to true in the environment.
|
|
ifeq ($(BUILD_RENDERSCRIPT),true)
|
|
|
|
TOP_LOCAL_PATH:=$(call my-dir)
|
|
include $(CLEAR_VARS)
|
|
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) $< $@ <$(TOP_LOCAL_PATH)/rs.spec
|
|
$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
|
|
$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
|
|
$(transform-generated-source)
|
|
|
|
RS_GENERATED_SOURCES += $(GEN)
|
|
LOCAL_GENERATED_SOURCES += $(GEN)
|
|
|
|
# Generate custom source files
|
|
|
|
GEN := $(addprefix $(intermediates)/, \
|
|
rsgApi.cpp \
|
|
rsgApiReplay.cpp \
|
|
)
|
|
|
|
$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec
|
|
$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
|
|
$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
|
|
$(transform-generated-source)
|
|
|
|
RS_GENERATED_SOURCES += $(GEN)
|
|
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
|
|
|
|
LOCAL_ADDITIONAL_DEPENDENCIES += $(RS_GENERATED_SOURCES)
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
include $(call all-subdir-makefiles)
|
|
endif # BUILD_RENDERSCRIPT
|