Android.mk revision bfdc92c517a50078689f9621386005ff45bb12d3
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) 57LOCAL_GENERATED_SOURCES += $(GEN) 58 59# Generate custom source files 60 61GEN := $(addprefix $(intermediates)/, \ 62 rsgApi.cpp \ 63 rsgApiReplay.cpp \ 64 ) 65 66$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(TOP_LOCAL_PATH)/rs.spec 67$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 68$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 69 $(transform-generated-source) 70LOCAL_GENERATED_SOURCES += $(GEN) 71 72LOCAL_SRC_FILES:= \ 73 rsAdapter.cpp \ 74 rsAllocation.cpp \ 75 rsComponent.cpp \ 76 rsContext.cpp \ 77 rsDevice.cpp \ 78 rsElement.cpp \ 79 rsLocklessFifo.cpp \ 80 rsObjectBase.cpp \ 81 rsMatrix.cpp \ 82 rsProgram.cpp \ 83 rsProgramFragment.cpp \ 84 rsProgramFragmentStore.cpp \ 85 rsProgramVertex.cpp \ 86 rsSampler.cpp \ 87 rsScript.cpp \ 88 rsScriptC.cpp \ 89 rsThreadIO.cpp \ 90 rsType.cpp \ 91 rsTriangleMesh.cpp 92 93LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui 94LOCAL_LDLIBS := -lpthread -ldl 95LOCAL_MODULE:= libRS 96 97#LOCAL_MODULE_TAGS := tests 98 99include $(BUILD_SHARED_LIBRARY) 100 101# Build JNI library 102 103LOCAL_PATH:= $(TOP_LOCAL_PATH)/jni 104include $(CLEAR_VARS) 105 106LOCAL_SRC_FILES:= \ 107 RenderScript_jni.cpp 108 109LOCAL_SHARED_LIBRARIES := \ 110 libandroid_runtime \ 111 libnativehelper \ 112 libRS \ 113 libcutils \ 114 libutils \ 115 libui 116 117LOCAL_STATIC_LIBRARIES := 118 119LOCAL_C_INCLUDES += \ 120 $(JNI_H_INCLUDE) \ 121 $(RS_GENERATED_INCLUDE_DIR) \ 122 $(call include-path-for, corecg graphics) 123 124LOCAL_CFLAGS += 125 126LOCAL_LDLIBS := -lpthread 127 128LOCAL_MODULE:= libRS_jni 129 130include $(BUILD_SHARED_LIBRARY) 131 132include $(call all-subdir-makefiles) 133endif # BUILD_RENDERSCRIPT 134