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 -Wno-attributes \ 17 -Wno-unknown-attributes \ 18 -Wno-unknown-warning-option \ 19 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ 20 -DNO_SANITIZE_FUNCTION= 21 22ifneq (16,${PLATFORM_SDK_VERSION}) 23COMMON_CFLAGS += -Xclang -fuse-init-array 24else 25COMMON_CFLAGS += -D__STDC_INT64__ 26endif 27 28COMMON_SRC_FILES := \ 29 Buffer.cpp \ 30 Context.cpp \ 31 Device.cpp \ 32 Fence.cpp \ 33 Framebuffer.cpp \ 34 IndexDataManager.cpp \ 35 libGLESv2.cpp \ 36 libGLESv3.cpp \ 37 main.cpp \ 38 Program.cpp \ 39 Query.cpp \ 40 Renderbuffer.cpp \ 41 ResourceManager.cpp \ 42 Shader.cpp \ 43 Texture.cpp \ 44 TransformFeedback.cpp \ 45 utilities.cpp \ 46 VertexArray.cpp \ 47 VertexDataManager.cpp \ 48 49COMMON_C_INCLUDES := \ 50 bionic \ 51 $(LOCAL_PATH)/../../../include \ 52 $(LOCAL_PATH)/../ \ 53 $(LOCAL_PATH)/../../ \ 54 $(LOCAL_PATH)/../../Renderer/ \ 55 $(LOCAL_PATH)/../../Common/ \ 56 $(LOCAL_PATH)/../../Shader/ \ 57 $(LOCAL_PATH)/../../Main/ 58 59ifdef use_subzero 60COMMON_STATIC_LIBRARIES := libsubzero 61else 62COMMON_STATIC_LIBRARIES := libLLVM_swiftshader 63endif 64 65COMMON_SHARED_LIBRARIES := \ 66 libdl \ 67 liblog \ 68 libcutils \ 69 libhardware 70 71# libnativewindow is introduced from O 72ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo O),O) 73COMMON_SHARED_LIBRARIES += libnativewindow 74COMMON_STATIC_LIBRARIES += libarect 75COMMON_HEADER_LIBRARIES := libnativebase_headers 76endif 77 78# gralloc1 is introduced from N MR1 79ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) 80COMMON_CFLAGS += -DHAVE_GRALLOC1 81COMMON_SHARED_LIBRARIES += libsync 82endif 83 84# Marshmallow does not have stlport, but comes with libc++ by default 85ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) 86COMMON_SHARED_LIBRARIES += libstlport 87COMMON_C_INCLUDES += external/stlport/stlport 88endif 89 90COMMON_LDFLAGS := \ 91 -Wl,--gc-sections \ 92 -Wl,--version-script=$(LOCAL_PATH)/exports.map \ 93 -Wl,--hash-style=sysv 94 95include $(CLEAR_VARS) 96LOCAL_MODULE := libGLESv2_swiftshader_debug 97ifdef TARGET_2ND_ARCH 98ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 99LOCAL_MULTILIB := first 100LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 101else 102LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl 103LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl 104endif 105else 106LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 107endif 108LOCAL_MODULE_TAGS := optional 109LOCAL_CLANG := true 110LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 111LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 112LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) 113LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 114LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 115LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 116LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 117include $(BUILD_SHARED_LIBRARY) 118 119include $(CLEAR_VARS) 120LOCAL_MODULE := libGLESv2_swiftshader 121ifdef TARGET_2ND_ARCH 122ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 123LOCAL_MULTILIB := first 124LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 125else 126LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl 127LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl 128endif 129else 130LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 131endif 132LOCAL_MODULE_TAGS := optional 133LOCAL_CLANG := true 134LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 135LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 136LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES) 137LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 138LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 139LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 140LOCAL_CFLAGS += \ 141 $(COMMON_CFLAGS) \ 142 -fomit-frame-pointer \ 143 -ffunction-sections \ 144 -fdata-sections \ 145 -DANGLE_DISABLE_TRACE 146include $(BUILD_SHARED_LIBRARY) 147