Android.mk revision a5e094ba1288cd7aa9e319df7f458e45395f8d49
1# Only build if BUILD_RENDERSCRIPT is defined to true in the environment. 2ifeq ($(BUILD_RENDERSCRIPT),true) 3 4TOP_LOCAL_PATH:=$(call my-dir) 5include $(CLEAR_VARS) 6LOCAL_PATH:= $(TOP_LOCAL_PATH) 7 8# Build rsg-generator 9 10LOCAL_MODULE := rsg-generator 11 12# These symbols are normally defined by BUILD_XXX, but we need to define them 13# here so that local-intermediates-dir works. 14 15LOCAL_IS_HOST_MODULE := true 16LOCAL_MODULE_CLASS := EXECUTABLES 17intermediates:= $(local-intermediates-dir) 18 19GEN := $(addprefix $(intermediates)/, \ 20 lex.yy.c \ 21 ) 22$(GEN): PRIVATE_CUSTOM_TOOL = flex -o $@ $< 23 24$(intermediates)/lex.yy.c : $(LOCAL_PATH)/spec.lex 25 $(transform-generated-source) 26 27$(LOCAL_PATH)/rsg_generator.c : $(intermediates)/lex.yy.c 28 29LOCAL_SRC_FILES:= \ 30 rsg_generator.c 31 32include $(BUILD_HOST_EXECUTABLE) 33 34RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) 35 36# Build render script lib 37 38include $(CLEAR_VARS) 39LOCAL_MODULE := libRS 40 41LOCAL_MODULE_CLASS := SHARED_LIBRARIES 42intermediates:= $(local-intermediates-dir) 43 44RS_GENERATED_INCLUDE_DIR:=$(intermediates) 45 46# Generate custom headers 47 48GEN := $(addprefix $(intermediates)/, \ 49 rsgApiStructs.h \ 50 rsgApiFuncDecl.h \ 51 ) 52 53$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec 54$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 55$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 56 $(transform-generated-source) 57 58RS_GENERATED_SOURCES += $(GEN) 59LOCAL_GENERATED_SOURCES += $(GEN) 60 61# Generate custom source files 62 63GEN := $(addprefix $(intermediates)/, \ 64 rsgApi.cpp \ 65 rsgApiReplay.cpp \ 66 ) 67 68$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec 69$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 70$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 71 $(transform-generated-source) 72 73RS_GENERATED_SOURCES += $(GEN) 74LOCAL_GENERATED_SOURCES += $(GEN) 75 76LOCAL_SRC_FILES:= \ 77 rsAdapter.cpp \ 78 rsAllocation.cpp \ 79 rsComponent.cpp \ 80 rsContext.cpp \ 81 rsDevice.cpp \ 82 rsElement.cpp \ 83 rsLocklessFifo.cpp \ 84 rsObjectBase.cpp \ 85 rsMatrix.cpp \ 86 rsProgram.cpp \ 87 rsProgramFragment.cpp \ 88 rsProgramFragmentStore.cpp \ 89 rsProgramVertex.cpp \ 90 rsSampler.cpp \ 91 rsScript.cpp \ 92 rsScriptC.cpp \ 93 rsThreadIO.cpp \ 94 rsType.cpp \ 95 rsTriangleMesh.cpp 96 97LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui 98LOCAL_LDLIBS := -lpthread -ldl 99LOCAL_MODULE:= libRS 100 101#LOCAL_MODULE_TAGS := tests 102 103include $(BUILD_SHARED_LIBRARY) 104 105# Build JNI library 106 107LOCAL_PATH:= $(TOP_LOCAL_PATH)/jni 108include $(CLEAR_VARS) 109 110LOCAL_SRC_FILES:= \ 111 RenderScript_jni.cpp 112 113LOCAL_SHARED_LIBRARIES := \ 114 libandroid_runtime \ 115 libnativehelper \ 116 libRS \ 117 libcutils \ 118 libutils \ 119 libui 120 121LOCAL_STATIC_LIBRARIES := 122 123LOCAL_C_INCLUDES += \ 124 $(JNI_H_INCLUDE) \ 125 $(RS_GENERATED_INCLUDE_DIR) \ 126 $(call include-path-for, corecg graphics) 127 128LOCAL_CFLAGS += 129 130LOCAL_LDLIBS := -lpthread 131 132LOCAL_MODULE:= libRS_jni 133 134LOCAL_ADDITIONAL_DEPENDENCIES += $(RS_GENERATED_SOURCES) 135 136include $(BUILD_SHARED_LIBRARY) 137 138include $(call all-subdir-makefiles) 139endif # BUILD_RENDERSCRIPT 140