Android.mk revision b80dfa72dfdd146a9ddee948ad76635dbea3c0cd
1# Only build if BUILD_RENDERSCRIPT is defined to true in the environment. 2ifeq ($(BUILD_RENDERSCRIPT),true) 3 4LOCAL_PATH:=$(call my-dir) 5 6 7# Build rsg-generator ==================== 8include $(CLEAR_VARS) 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 34# TODO: This should go into build/core/config.mk 35RSG_GENERATOR:=$(LOCAL_BUILT_MODULE) 36 37 38 39# Build render script lib ==================== 40include $(CLEAR_VARS) 41LOCAL_MODULE := libRS 42 43LOCAL_MODULE_CLASS := SHARED_LIBRARIES 44intermediates:= $(local-intermediates-dir) 45 46# Generate custom headers 47 48GEN := $(addprefix $(intermediates)/, \ 49 rsgApiStructs.h \ 50 rsgApiFuncDecl.h \ 51 ) 52 53$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 54$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 55$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 56$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg 57 $(transform-generated-source) 58 59# used in jni/Android.mk 60rs_generated_source += $(GEN) 61LOCAL_GENERATED_SOURCES += $(GEN) 62 63# Generate custom source files 64 65GEN := $(addprefix $(intermediates)/, \ 66 rsgApi.cpp \ 67 rsgApiReplay.cpp \ 68 ) 69 70$(GEN) : PRIVATE_PATH := $(LOCAL_PATH) 71$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec 72$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec 73$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg 74 $(transform-generated-source) 75 76# used in jni/Android.mk 77rs_generated_source += $(GEN) 78 79LOCAL_GENERATED_SOURCES += $(GEN) 80 81LOCAL_SRC_FILES:= \ 82 rsAdapter.cpp \ 83 rsAllocation.cpp \ 84 rsComponent.cpp \ 85 rsContext.cpp \ 86 rsDevice.cpp \ 87 rsElement.cpp \ 88 rsFileA3D.cpp \ 89 rsLight.cpp \ 90 rsLocklessFifo.cpp \ 91 rsObjectBase.cpp \ 92 rsMatrix.cpp \ 93 rsMesh.cpp \ 94 rsProgram.cpp \ 95 rsProgramFragment.cpp \ 96 rsProgramFragmentStore.cpp \ 97 rsProgramVertex.cpp \ 98 rsSampler.cpp \ 99 rsScript.cpp \ 100 rsScriptC.cpp \ 101 rsThreadIO.cpp \ 102 rsType.cpp \ 103 rsTriangleMesh.cpp 104 105LOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libui libacc 106LOCAL_LDLIBS := -lpthread -ldl 107LOCAL_MODULE:= libRS 108LOCAL_PRELINK_MODULE := false 109 110LOCAL_MODULE_TAGS := optional 111 112include $(BUILD_SHARED_LIBRARY) 113 114# Include the subdirectories ==================== 115include $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk,\ 116 jni \ 117 java \ 118 )) 119 120endif # BUILD_RENDERSCRIPT 121