1 LOCAL_PATH:= $(call my-dir)
3 # Use Subzero as the Reactor JIT back-end on ARM, else LLVM.
4 ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm))
10 $(LOCAL_PATH)/../include \
11 $(LOCAL_PATH)/OpenGL/ \
13 $(LOCAL_PATH)/Renderer/ \
14 $(LOCAL_PATH)/Common/ \
15 $(LOCAL_PATH)/Shader/ \
19 COMMON_C_INCLUDES += \
20 $(LOCAL_PATH)/../third_party/subzero/ \
21 $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \
22 $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \
23 $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/
25 COMMON_C_INCLUDES += \
26 $(LOCAL_PATH)/../third_party/LLVM/include
29 # Marshmallow does not have stlport, but comes with libc++ by default
30 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
31 COMMON_C_INCLUDES += external/stlport/stlport
36 Common/Configurator.cpp \
37 Common/DebugAndroid.cpp \
38 Common/GrallocAndroid.cpp \
49 Main/FrameBuffer.cpp \
50 Main/FrameBufferAndroid.cpp \
55 Reactor/SubzeroReactor.cpp \
60 Reactor/LLVMReactor.cpp \
62 Reactor/LLVMRoutine.cpp \
63 Reactor/LLVMRoutineManager.cpp
67 Renderer/Blitter.cpp \
68 Renderer/Clipper.cpp \
70 Renderer/Context.cpp \
71 Renderer/ETC_Decoder.cpp \
73 Renderer/PixelProcessor.cpp \
76 Renderer/QuadRasterizer.cpp \
77 Renderer/Renderer.cpp \
78 Renderer/Sampler.cpp \
79 Renderer/SetupProcessor.cpp \
80 Renderer/Surface.cpp \
81 Renderer/TextureStage.cpp \
83 Renderer/VertexProcessor.cpp \
86 Shader/Constants.cpp \
87 Shader/PixelPipeline.cpp \
88 Shader/PixelProgram.cpp \
89 Shader/PixelRoutine.cpp \
90 Shader/PixelShader.cpp \
91 Shader/SamplerCore.cpp \
92 Shader/SetupRoutine.cpp \
94 Shader/ShaderCore.cpp \
95 Shader/VertexPipeline.cpp \
96 Shader/VertexProgram.cpp \
97 Shader/VertexRoutine.cpp \
98 Shader/VertexShader.cpp \
100 COMMON_SRC_FILES += \
101 OpenGL/common/Image.cpp \
102 OpenGL/common/Object.cpp \
103 OpenGL/common/MatrixStack.cpp \
106 -DLOG_TAG=\"swiftshader\" \
107 -Wno-unused-parameter \
108 -Wno-implicit-exception-spec-mismatch \
109 -Wno-overloaded-virtual \
110 -Wno-non-virtual-dtor \
111 -fno-operator-names \
113 -D__STDC_CONSTANT_MACROS \
114 -D__STDC_LIMIT_MACROS \
115 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
117 -DNO_SANITIZE_FUNCTION=
119 ifneq (16,${PLATFORM_SDK_VERSION})
120 COMMON_CFLAGS += -Xclang -fuse-init-array
122 COMMON_CFLAGS += -D__STDC_INT64__
125 # gralloc1 is introduced from N MR1
126 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
127 COMMON_CFLAGS += -DHAVE_GRALLOC1
128 COMMON_C_INCLUDES += \
129 system/core/libsync/include \
133 # Common Subzero defines
134 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
137 LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
138 LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
139 LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
141 include $(CLEAR_VARS)
143 LOCAL_MODULE := swiftshader_top_release
144 LOCAL_MODULE_TAGS := optional
145 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
146 LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
147 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
148 include $(BUILD_STATIC_LIBRARY)
150 include $(CLEAR_VARS)
152 LOCAL_MODULE := swiftshader_top_debug
153 LOCAL_MODULE_TAGS := optional
154 LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
155 LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
156 LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
157 include $(BUILD_STATIC_LIBRARY)
159 include $(call all-makefiles-under,$(LOCAL_PATH))