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