LOCAL_PATH:= $(call my-dir) COMMON_SWIFTSHADER_RELATIVE_PATH := $(if $(BOARD_SWIFTSHADER_RELATIVE_PATH),$(BOARD_SWIFTSHADER_RELATIVE_PATH),egl) COMMON_CFLAGS := \ -DLOG_TAG=\"libGLESv2_swiftshader\" \ -fno-operator-names \ -msse2 \ -D__STDC_CONSTANT_MACROS \ -D__STDC_LIMIT_MACROS \ -std=c++11 \ -DGL_API= \ -DGL_APICALL= \ -DGL_GLEXT_PROTOTYPES \ -Wall \ -Werror \ -Wno-format \ -Wno-sign-compare \ -Wno-unused-parameter \ -Wno-unused-private-field \ -Wno-unused-variable \ -Wno-implicit-exception-spec-mismatch \ -Wno-implicit-fallthrough \ -Wno-overloaded-virtual \ -Wno-attributes \ -Wno-unknown-attributes \ -Wno-unknown-warning-option \ -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ -DNO_SANITIZE_FUNCTION= ifneq (16,${PLATFORM_SDK_VERSION}) COMMON_CFLAGS += -Xclang -fuse-init-array else COMMON_CFLAGS += -D__STDC_INT64__ endif COMMON_SRC_FILES := \ Buffer.cpp \ Context.cpp \ Device.cpp \ Fence.cpp \ Framebuffer.cpp \ IndexDataManager.cpp \ libGLESv2.cpp \ libGLESv3.cpp \ main.cpp \ entry_points.cpp \ Program.cpp \ Query.cpp \ Renderbuffer.cpp \ ResourceManager.cpp \ Shader.cpp \ Texture.cpp \ TransformFeedback.cpp \ utilities.cpp \ VertexArray.cpp \ VertexDataManager.cpp \ ../../Common/SharedLibrary.cpp COMMON_C_INCLUDES := \ bionic \ $(LOCAL_PATH)/../../../include \ $(LOCAL_PATH)/../ \ $(LOCAL_PATH)/../../ \ $(LOCAL_PATH)/../../Renderer/ \ $(LOCAL_PATH)/../../Common/ \ $(LOCAL_PATH)/../../Shader/ \ $(LOCAL_PATH)/../../Main/ COMMON_STATIC_LIBRARIES := libLLVM_swiftshader COMMON_SHARED_LIBRARIES := \ libdl \ liblog \ libcutils \ libhardware # Project Treble is introduced from Oreo MR1 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) COMMON_SHARED_LIBRARIES += libnativewindow COMMON_STATIC_LIBRARIES += libarect COMMON_HEADER_LIBRARIES := libnativebase_headers endif # gralloc1 is introduced from N MR1 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) COMMON_CFLAGS += -DHAVE_GRALLOC1 COMMON_SHARED_LIBRARIES += libsync endif # Marshmallow does not have stlport, but comes with libc++ by default ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) COMMON_SHARED_LIBRARIES += libstlport COMMON_C_INCLUDES += external/stlport/stlport endif COMMON_LDFLAGS := \ -Wl,--version-script=$(LOCAL_PATH)/libGLESv2.lds \ -Wl,--gc-sections \ -Wl,--hash-style=sysv include $(CLEAR_VARS) LOCAL_MODULE := libGLESv2_swiftshader_debug ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) LOCAL_MULTILIB := first endif ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH) else LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH) endif LOCAL_VENDOR_MODULE := true LOCAL_MODULE_TAGS := optional LOCAL_CLANG := true LOCAL_SRC_FILES += $(COMMON_SRC_FILES) LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) LOCAL_LDFLAGS += $(COMMON_LDFLAGS) LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := libGLESv2_swiftshader ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) LOCAL_MULTILIB := first endif ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) LOCAL_MODULE_RELATIVE_PATH := $(COMMON_SWIFTSHADER_RELATIVE_PATH) else LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/$(COMMON_SWIFTSHADER_RELATIVE_PATH) endif LOCAL_VENDOR_MODULE := true LOCAL_MODULE_TAGS := optional LOCAL_CLANG := true LOCAL_SRC_FILES += $(COMMON_SRC_FILES) LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES) LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) LOCAL_LDFLAGS += $(COMMON_LDFLAGS) LOCAL_CFLAGS += \ $(COMMON_CFLAGS) \ -fomit-frame-pointer \ -ffunction-sections \ -fdata-sections \ -DANGLE_DISABLE_TRACE include $(BUILD_SHARED_LIBRARY)