1 LOCAL_PATH:= $(call my-dir) 2 3 COMMON_CFLAGS := \ 4 -DLOG_TAG=\"libEGL_swiftshader\" \ 5 -std=c++11 \ 6 -DEGLAPI= \ 7 -DEGL_EGLEXT_PROTOTYPES \ 8 -Wall \ 9 -Werror \ 10 -Wno-format \ 11 -Wno-unused-function \ 12 -Wno-unused-parameter \ 13 -Wno-implicit-exception-spec-mismatch \ 14 -Wno-overloaded-virtual \ 15 -Wno-attributes \ 16 -Wno-unknown-attributes \ 17 -Wno-unknown-warning-option \ 18 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ 19 -DNO_SANITIZE_FUNCTION= 20 21 ifneq (16,${PLATFORM_SDK_VERSION}) 22 COMMON_CFLAGS += -Xclang -fuse-init-array 23 else 24 COMMON_CFLAGS += -D__STDC_INT64__ 25 endif 26 27 COMMON_SRC_FILES := \ 28 Config.cpp \ 29 Display.cpp \ 30 Surface.cpp \ 31 libEGL.cpp \ 32 main.cpp 33 34 COMMON_C_INCLUDES := \ 35 bionic \ 36 $(LOCAL_PATH)/../../../include \ 37 $(LOCAL_PATH)/../ \ 38 $(LOCAL_PATH)/../../ 39 40 COMMON_SHARED_LIBRARIES := \ 41 libdl \ 42 liblog \ 43 libcutils \ 44 libhardware 45 46 # Project Treble is introduced from Oreo MR1 47 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) 48 COMMON_SHARED_LIBRARIES += libnativewindow 49 COMMON_STATIC_LIBRARIES += libarect 50 COMMON_HEADER_LIBRARIES += libnativebase_headers 51 endif 52 53 # gralloc1 is introduced from N MR1 54 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) 55 COMMON_CFLAGS += -DHAVE_GRALLOC1 56 COMMON_SHARED_LIBRARIES += libsync 57 endif 58 59 # Marshmallow does not have stlport, but comes with libc++ by default 60 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) 61 COMMON_SHARED_LIBRARIES += libstlport 62 COMMON_C_INCLUDES += external/stlport/stlport 63 endif 64 65 COMMON_LDFLAGS := \ 66 -Wl,--version-script=$(LOCAL_PATH)/libEGL.lds \ 67 -Wl,--gc-sections \ 68 -Wl,--hash-style=sysv 69 70 include $(CLEAR_VARS) 71 LOCAL_MODULE := libEGL_swiftshader_debug 72 73 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 74 LOCAL_MULTILIB := first 75 endif 76 77 ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) 78 LOCAL_MODULE_RELATIVE_PATH := egl 79 else 80 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl 81 endif 82 83 LOCAL_VENDOR_MODULE := true 84 LOCAL_MODULE_TAGS := optional 85 LOCAL_CLANG := true 86 LOCAL_SRC_FILES := $(COMMON_SRC_FILES) 87 LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 88 LOCAL_STATIC_LIBRARIES += swiftshader_top_debug $(COMMON_STATIC_LIBRARIES) 89 LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 90 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 91 LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 92 LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0 93 include $(BUILD_SHARED_LIBRARY) 94 95 include $(CLEAR_VARS) 96 LOCAL_MODULE := libEGL_swiftshader 97 98 ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true) 99 LOCAL_MULTILIB := first 100 endif 101 102 ifeq (HasRelativePath,$(shell test $(PLATFORM_SDK_VERSION) -ge 21 && echo HasRelativePath)) 103 LOCAL_MODULE_RELATIVE_PATH := egl 104 else 105 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl 106 endif 107 108 LOCAL_VENDOR_MODULE := true 109 LOCAL_MODULE_TAGS := optional 110 LOCAL_CLANG := true 111 LOCAL_SRC_FILES := $(COMMON_SRC_FILES) 112 LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES) 113 LOCAL_STATIC_LIBRARIES += swiftshader_top_release $(COMMON_STATIC_LIBRARIES) 114 LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES) 115 LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 116 LOCAL_LDFLAGS += $(COMMON_LDFLAGS) 117 LOCAL_CFLAGS += $(COMMON_CFLAGS) -DANGLE_DISABLE_TRACE 118 include $(BUILD_SHARED_LIBRARY) 119