| LOCAL_PATH := $(call my-dir) |
| swiftshader_src_root := $(LOCAL_PATH) |
| |
| COMMON_C_INCLUDES += \ |
| bionic \ |
| $(LOCAL_PATH)/../include \ |
| $(LOCAL_PATH)/OpenGL/ \ |
| $(LOCAL_PATH) |
| |
| ifeq ($(REACTOR_USE_SUBZERO),true) |
| |
| COMMON_C_INCLUDES += \ |
| $(LOCAL_PATH)/../third_party/subzero/ \ |
| $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \ |
| $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \ |
| $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/ |
| |
| else |
| |
| COMMON_C_INCLUDES += \ |
| $(LOCAL_PATH)/../third_party/llvm-7.0/llvm/include \ |
| $(LOCAL_PATH)/../third_party/llvm-7.0/configs/android/include \ |
| $(LOCAL_PATH)/../third_party/llvm-7.0/configs/common/include |
| |
| endif |
| |
| # Project Treble is introduced from Oreo MR1 |
| ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) |
| COMMON_SHARED_LIBRARIES := libnativewindow liblog |
| COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers |
| COMMON_STATIC_LIBRARIES := libarect |
| endif |
| |
| # Marshmallow does not have stlport, but comes with libc++ by default |
| ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) |
| COMMON_C_INCLUDES += external/stlport/stlport |
| endif |
| |
| COMMON_SRC_FILES := \ |
| Common/CPUID.cpp \ |
| Common/Configurator.cpp \ |
| Common/DebugAndroid.cpp \ |
| Common/GrallocAndroid.cpp \ |
| Common/Half.cpp \ |
| Common/Math.cpp \ |
| Common/Memory.cpp \ |
| Common/Resource.cpp \ |
| Common/Socket.cpp \ |
| Common/Thread.cpp \ |
| Common/Timer.cpp |
| |
| COMMON_SRC_FILES += \ |
| Main/Config.cpp \ |
| Main/FrameBuffer.cpp \ |
| Main/FrameBufferAndroid.cpp \ |
| Main/SwiftConfig.cpp |
| |
| COMMON_SRC_FILES += \ |
| Reactor/Reactor.cpp \ |
| Reactor/Routine.cpp \ |
| Reactor/Debug.cpp \ |
| Reactor/DebugAndroid.cpp \ |
| Reactor/ExecutableMemory.cpp |
| |
| ifeq ($(REACTOR_USE_SUBZERO),true) |
| COMMON_SRC_FILES += \ |
| Reactor/SubzeroReactor.cpp \ |
| Reactor/Optimizer.cpp |
| else |
| COMMON_SRC_FILES += \ |
| Reactor/LLVMReactor.cpp \ |
| Reactor/LLVMRoutine.cpp \ |
| Reactor/CPUID.cpp |
| endif |
| |
| COMMON_SRC_FILES += \ |
| Renderer/Blitter.cpp \ |
| Renderer/Clipper.cpp \ |
| Renderer/Color.cpp \ |
| Renderer/Context.cpp \ |
| Renderer/ETC_Decoder.cpp \ |
| Renderer/Matrix.cpp \ |
| Renderer/PixelProcessor.cpp \ |
| Renderer/Plane.cpp \ |
| Renderer/Point.cpp \ |
| Renderer/QuadRasterizer.cpp \ |
| Renderer/Renderer.cpp \ |
| Renderer/Sampler.cpp \ |
| Renderer/SetupProcessor.cpp \ |
| Renderer/Surface.cpp \ |
| Renderer/TextureStage.cpp \ |
| Renderer/Vector.cpp \ |
| Renderer/VertexProcessor.cpp \ |
| |
| COMMON_SRC_FILES += \ |
| Shader/Constants.cpp \ |
| Shader/PixelPipeline.cpp \ |
| Shader/PixelProgram.cpp \ |
| Shader/PixelRoutine.cpp \ |
| Shader/PixelShader.cpp \ |
| Shader/SamplerCore.cpp \ |
| Shader/SetupRoutine.cpp \ |
| Shader/Shader.cpp \ |
| Shader/ShaderCore.cpp \ |
| Shader/VertexPipeline.cpp \ |
| Shader/VertexProgram.cpp \ |
| Shader/VertexRoutine.cpp \ |
| Shader/VertexShader.cpp \ |
| |
| COMMON_SRC_FILES += \ |
| OpenGL/common/Image.cpp \ |
| OpenGL/common/Object.cpp \ |
| OpenGL/common/MatrixStack.cpp \ |
| |
| COMMON_CFLAGS := \ |
| -DLOG_TAG=\"swiftshader\" \ |
| -Wall \ |
| -Werror \ |
| -Wno-format \ |
| -Wno-switch \ |
| -Wno-unused-local-typedef \ |
| -Wno-unused-parameter \ |
| -Wno-unused-value \ |
| -Wno-unused-variable \ |
| -Wno-implicit-exception-spec-mismatch \ |
| -Wno-implicit-fallthrough \ |
| -Wno-overloaded-virtual \ |
| -Wno-non-virtual-dtor \ |
| -Wno-attributes \ |
| -Wno-unknown-attributes \ |
| -Wno-unknown-warning-option \ |
| -fno-operator-names \ |
| -msse2 \ |
| -D__STDC_CONSTANT_MACROS \ |
| -D__STDC_LIMIT_MACROS \ |
| -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ |
| -std=c++11 \ |
| -DNO_SANITIZE_FUNCTION= |
| |
| ifneq (16,${PLATFORM_SDK_VERSION}) |
| COMMON_CFLAGS += -Xclang -fuse-init-array |
| else |
| COMMON_CFLAGS += -D__STDC_INT64__ |
| endif |
| |
| # gralloc1 is introduced from N MR1 |
| ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) |
| COMMON_CFLAGS += -DHAVE_GRALLOC1 |
| COMMON_C_INCLUDES += \ |
| system/core/libsync/include \ |
| system/core/libsync |
| endif |
| |
| # Common Subzero defines |
| 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 |
| |
| # Subzero target |
| LOCAL_CFLAGS_x86 += -DSZTARGET=X8632 |
| LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664 |
| LOCAL_CFLAGS_arm += -DSZTARGET=ARM32 |
| |
| include $(CLEAR_VARS) |
| LOCAL_CLANG := true |
| LOCAL_MODULE := swiftshader_top_release |
| LOCAL_VENDOR_MODULE := true |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_SRC_FILES := $(COMMON_SRC_FILES) |
| LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE |
| LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) |
| LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) |
| LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) |
| LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES) |
| include $(BUILD_STATIC_LIBRARY) |
| |
| include $(CLEAR_VARS) |
| LOCAL_CLANG := true |
| LOCAL_MODULE := swiftshader_top_debug |
| LOCAL_VENDOR_MODULE := true |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_SRC_FILES := $(COMMON_SRC_FILES) |
| LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1 |
| LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) |
| LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) |
| LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) |
| LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES) |
| include $(BUILD_STATIC_LIBRARY) |
| |
| include $(swiftshader_src_root)/Reactor/Android.mk |
| include $(swiftshader_src_root)/OpenGL/libGLESv2/Android.mk |
| include $(swiftshader_src_root)/OpenGL/libGLES_CM/Android.mk |
| include $(swiftshader_src_root)/OpenGL/libEGL/Android.mk |
| include $(swiftshader_src_root)/OpenGL/compiler/Android.mk |