1 LOCAL_PATH:= $(call my-dir)
5 $(LOCAL_PATH)/../include \
6 $(LOCAL_PATH)/OpenGL/ \
8 $(LOCAL_PATH)/Renderer/ \
9 $(LOCAL_PATH)/Common/ \
10 $(LOCAL_PATH)/Shader/ \
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/
20 COMMON_C_INCLUDES += \
21 $(LOCAL_PATH)/../third_party/LLVM/include
24 # Project Treble is introduced from Oreo
25 ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo Oreo),Oreo)
26 COMMON_SHARED_LIBRARIES := libnativewindow liblog
27 COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
28 COMMON_STATIC_LIBRARIES := libarect
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
38 Common/Configurator.cpp \
39 Common/DebugAndroid.cpp \
40 Common/GrallocAndroid.cpp \
51 Main/FrameBuffer.cpp \
52 Main/FrameBufferAndroid.cpp \
57 Reactor/SubzeroReactor.cpp \
62 Reactor/LLVMReactor.cpp \
64 Reactor/LLVMRoutine.cpp \
65 Reactor/LLVMRoutineManager.cpp
69 Renderer/Blitter.cpp \
70 Renderer/Clipper.cpp \
72 Renderer/Context.cpp \
73 Renderer/ETC_Decoder.cpp \
75 Renderer/PixelProcessor.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 \
85 Renderer/VertexProcessor.cpp \
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 \
96 Shader/ShaderCore.cpp \
97 Shader/VertexPipeline.cpp \
98 Shader/VertexProgram.cpp \
99 Shader/VertexRoutine.cpp \
100 Shader/VertexShader.cpp \
102 COMMON_SRC_FILES += \
103 OpenGL/common/Image.cpp \
104 OpenGL/common/Object.cpp \
105 OpenGL/common/MatrixStack.cpp \
108 -DLOG_TAG=\"swiftshader\" \
109 -Wno-unused-parameter \
110 -Wno-implicit-exception-spec-mismatch \
111 -Wno-overloaded-virtual \
112 -Wno-non-virtual-dtor \
114 -Wno-unknown-attributes \
115 -Wno-unknown-warning-option \
116 -fno-operator-names \
118 -D__STDC_CONSTANT_MACROS \
119 -D__STDC_LIMIT_MACROS \
120 -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
122 -DNO_SANITIZE_FUNCTION=
124 ifneq (16,${PLATFORM_SDK_VERSION})
125 COMMON_CFLAGS += -Xclang -fuse-init-array
127 COMMON_CFLAGS += -D__STDC_INT64__
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 \
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
142 LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
143 LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
144 LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
146 include $(CLEAR_VARS)
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)
159 include $(CLEAR_VARS)
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)
172 include $(call all-makefiles-under,$(LOCAL_PATH))