Android.mk revision fd19dc9fc3e76caf5c37645ea5131b2a2cf10ef7
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 libacc \ 116 libnativehelper \ 117 libRS \ 118 libcutils \ 119 libutils \ 120 libui 121 122LOCAL_STATIC_LIBRARIES := 123 124LOCAL_C_INCLUDES += \ 125 $(JNI_H_INCLUDE) \ 126 $(RS_GENERATED_INCLUDE_DIR) \ 127 $(call include-path-for, corecg graphics) 128 129LOCAL_CFLAGS += 130 131LOCAL_LDLIBS := -lpthread 132 133LOCAL_MODULE:= libRS_jni 134 135LOCAL_ADDITIONAL_DEPENDENCIES += $(RS_GENERATED_SOURCES) 136 137include $(BUILD_SHARED_LIBRARY) 138 139include $(call all-subdir-makefiles) 140endif # BUILD_RENDERSCRIPT 141