Jack Palevich eaff30744e Fix RenderScript JNI code build issue.
We should not try to build the JNI file until after we have built the
the generated header files that it includes.
2009-05-26 17:23:34 -07:00

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