1LOCAL_PATH:= $(call my-dir) 2 3COMMON_C_INCLUDES += \ 4 bionic \ 5 $(LOCAL_PATH)/../include \ 6 $(LOCAL_PATH)/OpenGL/ \ 7 $(LOCAL_PATH) 8 9ifdef use_subzero 10COMMON_C_INCLUDES += \ 11 $(LOCAL_PATH)/../third_party/subzero/ \ 12 $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \ 13 $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \ 14 $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/ 15else 16COMMON_C_INCLUDES += \ 17 $(LOCAL_PATH)/../third_party/LLVM/include 18endif 19 20# Project Treble is introduced from Oreo MR1 21ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) 22COMMON_SHARED_LIBRARIES := libnativewindow liblog 23COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers 24COMMON_STATIC_LIBRARIES := libarect 25endif 26 27# Marshmallow does not have stlport, but comes with libc++ by default 28ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) 29COMMON_C_INCLUDES += external/stlport/stlport 30endif 31 32COMMON_SRC_FILES := \ 33 Common/CPUID.cpp \ 34 Common/Configurator.cpp \ 35 Common/DebugAndroid.cpp \ 36 Common/GrallocAndroid.cpp \ 37 Common/Half.cpp \ 38 Common/Math.cpp \ 39 Common/Memory.cpp \ 40 Common/Resource.cpp \ 41 Common/Socket.cpp \ 42 Common/Thread.cpp \ 43 Common/Timer.cpp 44 45COMMON_SRC_FILES += \ 46 Main/Config.cpp \ 47 Main/FrameBuffer.cpp \ 48 Main/FrameBufferAndroid.cpp \ 49 Main/SwiftConfig.cpp 50 51ifdef use_subzero 52COMMON_SRC_FILES += \ 53 Reactor/SubzeroReactor.cpp \ 54 Reactor/Routine.cpp \ 55 Reactor/Optimizer.cpp 56else 57COMMON_SRC_FILES += \ 58 Reactor/LLVMReactor.cpp \ 59 Reactor/Routine.cpp \ 60 Reactor/LLVMRoutine.cpp \ 61 Reactor/LLVMRoutineManager.cpp 62endif 63 64COMMON_SRC_FILES += \ 65 Renderer/Blitter.cpp \ 66 Renderer/Clipper.cpp \ 67 Renderer/Color.cpp \ 68 Renderer/Context.cpp \ 69 Renderer/ETC_Decoder.cpp \ 70 Renderer/Matrix.cpp \ 71 Renderer/PixelProcessor.cpp \ 72 Renderer/Plane.cpp \ 73 Renderer/Point.cpp \ 74 Renderer/QuadRasterizer.cpp \ 75 Renderer/Renderer.cpp \ 76 Renderer/Sampler.cpp \ 77 Renderer/SetupProcessor.cpp \ 78 Renderer/Surface.cpp \ 79 Renderer/TextureStage.cpp \ 80 Renderer/Vector.cpp \ 81 Renderer/VertexProcessor.cpp \ 82 83COMMON_SRC_FILES += \ 84 Shader/Constants.cpp \ 85 Shader/PixelPipeline.cpp \ 86 Shader/PixelProgram.cpp \ 87 Shader/PixelRoutine.cpp \ 88 Shader/PixelShader.cpp \ 89 Shader/SamplerCore.cpp \ 90 Shader/SetupRoutine.cpp \ 91 Shader/Shader.cpp \ 92 Shader/ShaderCore.cpp \ 93 Shader/VertexPipeline.cpp \ 94 Shader/VertexProgram.cpp \ 95 Shader/VertexRoutine.cpp \ 96 Shader/VertexShader.cpp \ 97 98COMMON_SRC_FILES += \ 99 OpenGL/common/Image.cpp \ 100 OpenGL/common/Object.cpp \ 101 OpenGL/common/MatrixStack.cpp \ 102 103COMMON_CFLAGS := \ 104 -DLOG_TAG=\"swiftshader\" \ 105 -Wall \ 106 -Werror \ 107 -Wno-format \ 108 -Wno-switch \ 109 -Wno-unused-local-typedef \ 110 -Wno-unused-parameter \ 111 -Wno-unused-value \ 112 -Wno-unused-variable \ 113 -Wno-implicit-exception-spec-mismatch \ 114 -Wno-overloaded-virtual \ 115 -Wno-non-virtual-dtor \ 116 -Wno-attributes \ 117 -Wno-unknown-attributes \ 118 -Wno-unknown-warning-option \ 119 -fno-operator-names \ 120 -msse2 \ 121 -D__STDC_CONSTANT_MACROS \ 122 -D__STDC_LIMIT_MACROS \ 123 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ 124 -std=c++11 \ 125 -DNO_SANITIZE_FUNCTION= 126 127ifneq (16,${PLATFORM_SDK_VERSION}) 128COMMON_CFLAGS += -Xclang -fuse-init-array 129else 130COMMON_CFLAGS += -D__STDC_INT64__ 131endif 132 133# gralloc1 is introduced from N MR1 134ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) 135COMMON_CFLAGS += -DHAVE_GRALLOC1 136COMMON_C_INCLUDES += \ 137 system/core/libsync/include \ 138 system/core/libsync 139endif 140 141# Common Subzero defines 142COMMON_CFLAGS += -DALLOW_DUMP=0 -DALLOW_TIMERS=0 -DALLOW_LLVM_CL=0 -DALLOW_LLVM_IR=0 -DALLOW_LLVM_IR_AS_INPUT=0 -DALLOW_MINIMAL_BUILD=0 -DALLOW_WASM=0 -DICE_THREAD_LOCAL_HACK=1 143 144# Subzero target 145LOCAL_CFLAGS_x86 += -DSZTARGET=X8632 146LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664 147LOCAL_CFLAGS_arm += -DSZTARGET=ARM32 148 149include $(CLEAR_VARS) 150LOCAL_CLANG := true 151LOCAL_MODULE := swiftshader_top_release 152LOCAL_VENDOR_MODULE := true 153LOCAL_MODULE_TAGS := optional 154LOCAL_SRC_FILES := $(COMMON_SRC_FILES) 155LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE 156LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) 157LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) 158LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 159LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES) 160include $(BUILD_STATIC_LIBRARY) 161 162include $(CLEAR_VARS) 163LOCAL_CLANG := true 164LOCAL_MODULE := swiftshader_top_debug 165LOCAL_VENDOR_MODULE := true 166LOCAL_MODULE_TAGS := optional 167LOCAL_SRC_FILES := $(COMMON_SRC_FILES) 168LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1 169LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) 170LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) 171LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) 172LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES) 173include $(BUILD_STATIC_LIBRARY) 174 175include $(call all-makefiles-under,$(LOCAL_PATH)) 176