1LOCAL_PATH:= $(call my-dir) 2 3COMMON_CFLAGS := \ 4 -DLOG_TAG=\"libGLES_CM_swiftshader\" \ 5 -std=c++11 \ 6 -fno-operator-names \ 7 -msse2 \ 8 -D__STDC_CONSTANT_MACROS \ 9 -D__STDC_LIMIT_MACROS \ 10 -DEGLAPI= \ 11 -DGL_API= \ 12 -DGL_APICALL= \ 13 -DGL_GLEXT_PROTOTYPES \ 14 -Wno-unused-parameter \ 15 -Wno-implicit-exception-spec-mismatch \ 16 -Wno-overloaded-virtual \ 17 -Wno-attributes \ 18 -Wno-unknown-attributes \ 19 -Wno-unknown-warning-option \ 20 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) 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 Framebuffer.cpp \ 33 IndexDataManager.cpp \ 34 libGLES_CM.cpp \ 35 main.cpp \ 36 Renderbuffer.cpp \ 37 ResourceManager.cpp \ 38 Texture.cpp \ 39 utilities.cpp \ 40 VertexDataManager.cpp 41 42COMMON_C_INCLUDES := \ 43 bionic \ 44 $(LOCAL_PATH)/../../../include \ 45 $(LOCAL_PATH)/../ \ 46 $(LOCAL_PATH)/../../ \ 47 $(LOCAL_PATH)/../../Renderer/ \ 48 $(LOCAL_PATH)/../../Common/ \ 49 $(LOCAL_PATH)/../../Shader/ \ 50 $(LOCAL_PATH)/../../Main/ 51 52ifdef use_subzero 53COMMON_STATIC_LIBRARIES := libsubzero 54else 55COMMON_STATIC_LIBRARIES := libLLVM_swiftshader 56endif 57 58COMMON_SHARED_LIBRARIES := \ 59 libdl \ 60 liblog \ 61 libcutils \ 62 libhardware 63 64# libnativewindow is introduced from O 65ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo O),O) 66COMMON_SHARED_LIBRARIES += libnativewindow 67COMMON_STATIC_LIBRARIES += libarect 68COMMON_HEADER_LIBRARIES := libnativebase_headers 69endif 70 71# gralloc1 is introduced from N MR1 72ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) 73COMMON_CFLAGS += -DHAVE_GRALLOC1 74COMMON_SHARED_LIBRARIES += libsync 75endif 76 77# Marshmallow does not have stlport, but comes with libc++ by default 78ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) 79COMMON_SHARED_LIBRARIES += libstlport 80COMMON_C_INCLUDES += external/stlport/stlport 81endif 82 83COMMON_LDFLAGS := \ 84 -Wl,--gc-sections \ 85 -Wl,--version-script=$(LOCAL_PATH)/exports.map \ 86 -Wl,--hash-style=sysv 87 88include $(CLEAR_VARS) 89LOCAL_MODULE := libGLESv1_CM_swiftshader_debug 90ifdef TARGET_2ND_ARCH 91ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 92LOCAL_MULTILIB := first 93LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 94else 95LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl 96LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl 97endif 98else 99LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 100endif 101LOCAL_MODULE_TAGS := optional 102LOCAL_CLANG := true 103LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 104LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 105LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) 106LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 107LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 108LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 109LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 110include $(BUILD_SHARED_LIBRARY) 111 112include $(CLEAR_VARS) 113LOCAL_MODULE := libGLESv1_CM_swiftshader 114ifdef TARGET_2ND_ARCH 115ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 116LOCAL_MULTILIB := first 117LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 118else 119LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl 120LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl 121endif 122else 123LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl 124endif 125LOCAL_MODULE_TAGS := optional 126LOCAL_CLANG := true 127LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 128LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 129LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES) 130LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 131LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 132LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 133LOCAL_CFLAGS += \ 134 $(COMMON_CFLAGS) \ 135 -fomit-frame-pointer \ 136 -ffunction-sections \ 137 -fdata-sections \ 138 -DANGLE_DISABLE_TRACE 139include $(BUILD_SHARED_LIBRARY) 140