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 -Wall \ 15 -Werror \ 16 -Wno-format \ 17 -Wno-format-extra-args \ 18 -Wno-unused-parameter \ 19 -Wno-unused-variable \ 20 -Wno-implicit-exception-spec-mismatch \ 21 -Wno-overloaded-virtual \ 22 -Wno-attributes \ 23 -Wno-unknown-attributes \ 24 -Wno-unknown-warning-option \ 25 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) 26 27ifneq (16,${PLATFORM_SDK_VERSION}) 28COMMON_CFLAGS += -Xclang -fuse-init-array 29else 30COMMON_CFLAGS += -D__STDC_INT64__ 31endif 32 33COMMON_SRC_FILES := \ 34 Buffer.cpp \ 35 Context.cpp \ 36 Device.cpp \ 37 Framebuffer.cpp \ 38 IndexDataManager.cpp \ 39 libGLES_CM.cpp \ 40 main.cpp \ 41 Renderbuffer.cpp \ 42 ResourceManager.cpp \ 43 Texture.cpp \ 44 utilities.cpp \ 45 VertexDataManager.cpp 46 47COMMON_C_INCLUDES := \ 48 bionic \ 49 $(LOCAL_PATH)/../../../include \ 50 $(LOCAL_PATH)/../ \ 51 $(LOCAL_PATH)/../../ \ 52 $(LOCAL_PATH)/../../Renderer/ \ 53 $(LOCAL_PATH)/../../Common/ \ 54 $(LOCAL_PATH)/../../Shader/ \ 55 $(LOCAL_PATH)/../../Main/ 56 57ifdef use_subzero 58COMMON_STATIC_LIBRARIES := libsubzero 59else 60COMMON_STATIC_LIBRARIES := libLLVM_swiftshader 61endif 62 63COMMON_SHARED_LIBRARIES := \ 64 libdl \ 65 liblog \ 66 libcutils \ 67 libhardware 68 69# Project Treble is introduced from Oreo MR1 70ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) 71COMMON_SHARED_LIBRARIES += libnativewindow 72COMMON_STATIC_LIBRARIES += libarect 73COMMON_HEADER_LIBRARIES := libnativebase_headers 74endif 75 76# gralloc1 is introduced from N MR1 77ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) 78COMMON_CFLAGS += -DHAVE_GRALLOC1 79COMMON_SHARED_LIBRARIES += libsync 80endif 81 82# Marshmallow does not have stlport, but comes with libc++ by default 83ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) 84COMMON_SHARED_LIBRARIES += libstlport 85COMMON_C_INCLUDES += external/stlport/stlport 86endif 87 88COMMON_LDFLAGS := \ 89 -Wl,--version-script=$(LOCAL_PATH)/libGLES_CM.lds \ 90 -Wl,--gc-sections \ 91 -Wl,--hash-style=sysv 92 93include $(CLEAR_VARS) 94LOCAL_MODULE := libGLESv1_CM_swiftshader_debug 95 96ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 97LOCAL_MULTILIB := first 98endif 99 100ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) 101LOCAL_MODULE_RELATIVE_PATH := egl 102else 103LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl 104endif 105 106LOCAL_VENDOR_MODULE := true 107LOCAL_MODULE_TAGS := optional 108LOCAL_CLANG := true 109LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 110LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 111LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) 112LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 113LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 114LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 115LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 116include $(BUILD_SHARED_LIBRARY) 117 118include $(CLEAR_VARS) 119LOCAL_MODULE := libGLESv1_CM_swiftshader 120 121ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 122LOCAL_MULTILIB := first 123endif 124 125ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) 126LOCAL_MODULE_RELATIVE_PATH := egl 127else 128LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl 129endif 130 131LOCAL_VENDOR_MODULE := true 132LOCAL_MODULE_TAGS := optional 133LOCAL_CLANG := true 134LOCAL_SRC_FILES += $(COMMON_SRC_FILES) 135LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 136LOCAL_STATIC_LIBRARIES += 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