1LOCAL_PATH:= $(call my-dir) 2 3COMMON_CFLAGS := \ 4 -DLOG_TAG=\"libGLESv2_swiftshader\" \ 5 -fno-operator-names \ 6 -msse2 \ 7 -D__STDC_CONSTANT_MACROS \ 8 -D__STDC_LIMIT_MACROS \ 9 -std=c++11 \ 10 -DGL_API= \ 11 -DGL_APICALL= \ 12 -DGL_GLEXT_PROTOTYPES \ 13 -Wno-unused-parameter \ 14 -Wno-implicit-exception-spec-mismatch \ 15 -Wno-overloaded-virtual \ 16 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) 17 18ifneq (16,${PLATFORM_SDK_VERSION}) 19COMMON_CFLAGS += -Xclang -fuse-init-array 20else 21COMMON_CFLAGS += -D__STDC_INT64__ 22endif 23 24COMMON_SRC_FILES := \ 25 Buffer.cpp \ 26 Context.cpp \ 27 Device.cpp \ 28 Fence.cpp \ 29 Framebuffer.cpp \ 30 IndexDataManager.cpp \ 31 libGLESv2.cpp \ 32 libGLESv3.cpp \ 33 main.cpp \ 34 Program.cpp \ 35 Query.cpp \ 36 Renderbuffer.cpp \ 37 ResourceManager.cpp \ 38 Shader.cpp \ 39 Texture.cpp \ 40 TransformFeedback.cpp \ 41 utilities.cpp \ 42 VertexArray.cpp \ 43 VertexDataManager.cpp \ 44 45COMMON_C_INCLUDES := \ 46 bionic \ 47 $(LOCAL_PATH)/../../../include \ 48 $(LOCAL_PATH)/../ \ 49 $(LOCAL_PATH)/../../ \ 50 $(LOCAL_PATH)/../../../third_party/LLVM/include-android \ 51 $(LOCAL_PATH)/../../../third_party/LLVM/include \ 52 $(LOCAL_PATH)/../../../third_party/LLVM/lib/Target/X86 \ 53 $(LOCAL_PATH)/../../Renderer/ \ 54 $(LOCAL_PATH)/../../Common/ \ 55 $(LOCAL_PATH)/../../Shader/ \ 56 $(LOCAL_PATH)/../../Main/ 57 58COMMON_STATIC_LIBRARIES := \ 59 libLLVM_swiftshader 60 61COMMON_SHARED_LIBRARIES := \ 62 libdl \ 63 liblog \ 64 libcutils \ 65 libhardware 66 67# Marshmallow does not have stlport, but comes with libc++ by default 68ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) 69COMMON_SHARED_LIBRARIES += libstlport 70COMMON_C_INCLUDES += external/stlport/stlport 71endif 72 73COMMON_LDFLAGS := \ 74 -Wl,--gc-sections \ 75 -Wl,--version-script=$(LOCAL_PATH)/exports.map \ 76 -Wl,--hash-style=sysv 77 78include $(CLEAR_VARS) 79LOCAL_MODULE := libGLESv2_swiftshader_debug 80ifdef TARGET_2ND_ARCH 81ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 82LOCAL_MULTILIB := first 83LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 84else 85LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl 86LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl 87endif 88else 89LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 90endif 91LOCAL_MODULE_TAGS := optional 92LOCAL_CLANG := true 93LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 94LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 95LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) 96LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 97LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 98LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 99include $(BUILD_SHARED_LIBRARY) 100 101include $(CLEAR_VARS) 102LOCAL_MODULE := libGLESv2_swiftshader 103ifdef TARGET_2ND_ARCH 104ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 105LOCAL_MULTILIB := first 106LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 107else 108LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl 109LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl 110endif 111else 112LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 113endif 114LOCAL_MODULE_TAGS := optional 115LOCAL_CLANG := true 116LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 117LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 118LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES) 119LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 120LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 121LOCAL_CFLAGS += \ 122 $(COMMON_CFLAGS) \ 123 -fomit-frame-pointer \ 124 -ffunction-sections \ 125 -fdata-sections \ 126 -DANGLE_DISABLE_TRACE 127include $(BUILD_SHARED_LIBRARY) 128