Merck Hung | 90c0c55 | 2018-09-28 16:08:14 +0800 | [diff] [blame] | 1 | LOCAL_PATH := $(call my-dir) |
| 2 | swiftshader_src_root := $(LOCAL_PATH) |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 3 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 4 | COMMON_C_INCLUDES += \ |
| 5 | bionic \ |
Nicolas Capens | b7510aa | 2016-05-16 13:16:32 -0400 | [diff] [blame] | 6 | $(LOCAL_PATH)/../include \ |
Nicolas Capens | 9c025c0 | 2015-12-07 20:58:40 -0500 | [diff] [blame] | 7 | $(LOCAL_PATH)/OpenGL/ \ |
Nicolas Capens | 708c24b | 2017-10-26 13:07:10 -0400 | [diff] [blame] | 8 | $(LOCAL_PATH) |
Nicolas Capens | 9c025c0 | 2015-12-07 20:58:40 -0500 | [diff] [blame] | 9 | |
Logan Chien | 6c9fb0e | 2019-02-26 13:39:52 +0800 | [diff] [blame] | 10 | ifeq ($(REACTOR_USE_SUBZERO),true) |
Logan Chien | 17b7589 | 2018-08-27 10:49:24 +0800 | [diff] [blame] | 11 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 12 | COMMON_C_INCLUDES += \ |
Nicolas Capens | 5aebe18 | 2017-05-03 14:23:06 -0400 | [diff] [blame] | 13 | $(LOCAL_PATH)/../third_party/subzero/ \ |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 14 | $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \ |
| 15 | $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \ |
Nicolas Capens | 5aebe18 | 2017-05-03 14:23:06 -0400 | [diff] [blame] | 16 | $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/ |
Logan Chien | 17b7589 | 2018-08-27 10:49:24 +0800 | [diff] [blame] | 17 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 18 | else |
Logan Chien | 17b7589 | 2018-08-27 10:49:24 +0800 | [diff] [blame] | 19 | |
Logan Chien | 17b7589 | 2018-08-27 10:49:24 +0800 | [diff] [blame] | 20 | COMMON_C_INCLUDES += \ |
| 21 | $(LOCAL_PATH)/../third_party/llvm-7.0/llvm/include \ |
| 22 | $(LOCAL_PATH)/../third_party/llvm-7.0/configs/android/include \ |
| 23 | $(LOCAL_PATH)/../third_party/llvm-7.0/configs/common/include |
Logan Chien | 17b7589 | 2018-08-27 10:49:24 +0800 | [diff] [blame] | 24 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 25 | endif |
| 26 | |
Greg Hartman | 7e45f6d | 2018-03-16 00:02:23 -0700 | [diff] [blame] | 27 | # Project Treble is introduced from Oreo MR1 |
| 28 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27 && echo OreoMR1),OreoMR1) |
Jiyong Park | a114ed5 | 2017-08-18 19:07:26 +0900 | [diff] [blame] | 29 | COMMON_SHARED_LIBRARIES := libnativewindow liblog |
| 30 | COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers |
| 31 | COMMON_STATIC_LIBRARIES := libarect |
Nicolas Capens | c33b473 | 2017-08-03 15:53:25 -0400 | [diff] [blame] | 32 | endif |
| 33 | |
Nicolas Capens | 9c025c0 | 2015-12-07 20:58:40 -0500 | [diff] [blame] | 34 | # Marshmallow does not have stlport, but comes with libc++ by default |
| 35 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow) |
| 36 | COMMON_C_INCLUDES += external/stlport/stlport |
| 37 | endif |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 38 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 39 | COMMON_SRC_FILES := \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 40 | Common/CPUID.cpp \ |
| 41 | Common/Configurator.cpp \ |
| 42 | Common/DebugAndroid.cpp \ |
Greg Hartman | f66c110 | 2015-04-17 17:29:14 -0700 | [diff] [blame] | 43 | Common/GrallocAndroid.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 44 | Common/Half.cpp \ |
| 45 | Common/Math.cpp \ |
| 46 | Common/Memory.cpp \ |
| 47 | Common/Resource.cpp \ |
| 48 | Common/Socket.cpp \ |
| 49 | Common/Thread.cpp \ |
| 50 | Common/Timer.cpp |
| 51 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 52 | COMMON_SRC_FILES += \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 53 | Main/Config.cpp \ |
| 54 | Main/FrameBuffer.cpp \ |
| 55 | Main/FrameBufferAndroid.cpp \ |
Nicolas Capens | 518e41a | 2016-04-27 23:18:01 -0400 | [diff] [blame] | 56 | Main/SwiftConfig.cpp |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 57 | |
Nicolas Capens | c07dc4b | 2018-08-06 14:20:45 -0400 | [diff] [blame] | 58 | COMMON_SRC_FILES += \ |
Nicolas Capens | b6d4ce3 | 2019-03-12 23:00:24 -0400 | [diff] [blame] | 59 | Reactor/Reactor.cpp \ |
Nicolas Capens | c07dc4b | 2018-08-06 14:20:45 -0400 | [diff] [blame] | 60 | Reactor/Debug.cpp \ |
| 61 | Reactor/DebugAndroid.cpp \ |
Nicolas Capens | 1a3ce87 | 2018-10-10 10:42:36 -0400 | [diff] [blame] | 62 | Reactor/ExecutableMemory.cpp |
Nicolas Capens | c07dc4b | 2018-08-06 14:20:45 -0400 | [diff] [blame] | 63 | |
Logan Chien | 6c9fb0e | 2019-02-26 13:39:52 +0800 | [diff] [blame] | 64 | ifeq ($(REACTOR_USE_SUBZERO),true) |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 65 | COMMON_SRC_FILES += \ |
| 66 | Reactor/SubzeroReactor.cpp \ |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 67 | Reactor/Optimizer.cpp |
| 68 | else |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 69 | COMMON_SRC_FILES += \ |
Nicolas Capens | 5763d17 | 2016-09-26 13:44:20 -0400 | [diff] [blame] | 70 | Reactor/LLVMReactor.cpp \ |
Nicolas Capens | c07dc4b | 2018-08-06 14:20:45 -0400 | [diff] [blame] | 71 | Reactor/CPUID.cpp |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 72 | endif |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 73 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 74 | COMMON_SRC_FILES += \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 75 | Renderer/Blitter.cpp \ |
| 76 | Renderer/Clipper.cpp \ |
| 77 | Renderer/Color.cpp \ |
| 78 | Renderer/Context.cpp \ |
Alexis Hetu | 0de50d4 | 2015-09-09 13:56:41 -0400 | [diff] [blame] | 79 | Renderer/ETC_Decoder.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 80 | Renderer/Matrix.cpp \ |
| 81 | Renderer/PixelProcessor.cpp \ |
| 82 | Renderer/Plane.cpp \ |
| 83 | Renderer/Point.cpp \ |
| 84 | Renderer/QuadRasterizer.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 85 | Renderer/Renderer.cpp \ |
| 86 | Renderer/Sampler.cpp \ |
| 87 | Renderer/SetupProcessor.cpp \ |
| 88 | Renderer/Surface.cpp \ |
| 89 | Renderer/TextureStage.cpp \ |
| 90 | Renderer/Vector.cpp \ |
| 91 | Renderer/VertexProcessor.cpp \ |
| 92 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 93 | COMMON_SRC_FILES += \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 94 | Shader/Constants.cpp \ |
Alexis Hetu | f2a8c37 | 2015-07-13 11:08:41 -0400 | [diff] [blame] | 95 | Shader/PixelPipeline.cpp \ |
| 96 | Shader/PixelProgram.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 97 | Shader/PixelRoutine.cpp \ |
| 98 | Shader/PixelShader.cpp \ |
| 99 | Shader/SamplerCore.cpp \ |
| 100 | Shader/SetupRoutine.cpp \ |
| 101 | Shader/Shader.cpp \ |
| 102 | Shader/ShaderCore.cpp \ |
| 103 | Shader/VertexPipeline.cpp \ |
| 104 | Shader/VertexProgram.cpp \ |
| 105 | Shader/VertexRoutine.cpp \ |
| 106 | Shader/VertexShader.cpp \ |
| 107 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 108 | COMMON_SRC_FILES += \ |
Nicolas Capens | deda34b | 2015-04-28 15:21:53 -0700 | [diff] [blame] | 109 | OpenGL/common/Image.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 110 | OpenGL/common/Object.cpp \ |
| 111 | OpenGL/common/MatrixStack.cpp \ |
| 112 | |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 113 | COMMON_CFLAGS := \ |
| 114 | -DLOG_TAG=\"swiftshader\" \ |
Chih-Hung Hsieh | 4be9171 | 2017-10-11 14:23:57 -0700 | [diff] [blame] | 115 | -Wall \ |
| 116 | -Werror \ |
| 117 | -Wno-format \ |
| 118 | -Wno-switch \ |
| 119 | -Wno-unused-local-typedef \ |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 120 | -Wno-unused-parameter \ |
Chih-Hung Hsieh | 4be9171 | 2017-10-11 14:23:57 -0700 | [diff] [blame] | 121 | -Wno-unused-value \ |
| 122 | -Wno-unused-variable \ |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 123 | -Wno-implicit-exception-spec-mismatch \ |
Nicolas Capens | 7cfb50c | 2018-12-08 12:35:32 -0800 | [diff] [blame] | 124 | -Wno-implicit-fallthrough \ |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 125 | -Wno-overloaded-virtual \ |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 126 | -Wno-non-virtual-dtor \ |
Nicolas Capens | dc20933 | 2017-08-04 09:40:46 -0400 | [diff] [blame] | 127 | -Wno-attributes \ |
| 128 | -Wno-unknown-attributes \ |
| 129 | -Wno-unknown-warning-option \ |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 130 | -fno-operator-names \ |
| 131 | -msse2 \ |
| 132 | -D__STDC_CONSTANT_MACROS \ |
| 133 | -D__STDC_LIMIT_MACROS \ |
| 134 | -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ |
Nicolas Capens | 506cc5e | 2017-07-24 11:30:55 -0400 | [diff] [blame] | 135 | -std=c++11 \ |
| 136 | -DNO_SANITIZE_FUNCTION= |
Nicolas Capens | 135f634 | 2015-11-11 10:49:08 -0500 | [diff] [blame] | 137 | |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 138 | ifneq (16,${PLATFORM_SDK_VERSION}) |
| 139 | COMMON_CFLAGS += -Xclang -fuse-init-array |
| 140 | else |
| 141 | COMMON_CFLAGS += -D__STDC_INT64__ |
| 142 | endif |
| 143 | |
Jaesung Chung | fccddfe | 2017-06-22 20:02:09 +0900 | [diff] [blame] | 144 | # gralloc1 is introduced from N MR1 |
| 145 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) |
| 146 | COMMON_CFLAGS += -DHAVE_GRALLOC1 |
| 147 | COMMON_C_INCLUDES += \ |
| 148 | system/core/libsync/include \ |
| 149 | system/core/libsync |
| 150 | endif |
| 151 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 152 | # Common Subzero defines |
| 153 | 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 |
| 154 | |
| 155 | # Subzero target |
| 156 | LOCAL_CFLAGS_x86 += -DSZTARGET=X8632 |
| 157 | LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664 |
| 158 | LOCAL_CFLAGS_arm += -DSZTARGET=ARM32 |
| 159 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 160 | include $(CLEAR_VARS) |
| 161 | LOCAL_CLANG := true |
| 162 | LOCAL_MODULE := swiftshader_top_release |
Jiyong Park | a114ed5 | 2017-08-18 19:07:26 +0900 | [diff] [blame] | 163 | LOCAL_VENDOR_MODULE := true |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 164 | LOCAL_MODULE_TAGS := optional |
| 165 | LOCAL_SRC_FILES := $(COMMON_SRC_FILES) |
| 166 | LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE |
| 167 | LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) |
Nicolas Capens | c33b473 | 2017-08-03 15:53:25 -0400 | [diff] [blame] | 168 | LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) |
Jiyong Park | a114ed5 | 2017-08-18 19:07:26 +0900 | [diff] [blame] | 169 | LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) |
| 170 | LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES) |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 171 | include $(BUILD_STATIC_LIBRARY) |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 172 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 173 | include $(CLEAR_VARS) |
| 174 | LOCAL_CLANG := true |
| 175 | LOCAL_MODULE := swiftshader_top_debug |
Jiyong Park | a114ed5 | 2017-08-18 19:07:26 +0900 | [diff] [blame] | 176 | LOCAL_VENDOR_MODULE := true |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 177 | LOCAL_MODULE_TAGS := optional |
| 178 | LOCAL_SRC_FILES := $(COMMON_SRC_FILES) |
Greg Hartman | 5d6c1c7 | 2015-10-02 16:29:40 -0700 | [diff] [blame] | 179 | LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1 |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 180 | LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) |
Nicolas Capens | c33b473 | 2017-08-03 15:53:25 -0400 | [diff] [blame] | 181 | LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) |
Jiyong Park | a114ed5 | 2017-08-18 19:07:26 +0900 | [diff] [blame] | 182 | LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES) |
| 183 | LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES) |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 184 | include $(BUILD_STATIC_LIBRARY) |
Greg Hartman | 8527e47 | 2015-11-02 13:08:12 -0800 | [diff] [blame] | 185 | |
Merck Hung | 90c0c55 | 2018-09-28 16:08:14 +0800 | [diff] [blame] | 186 | include $(swiftshader_src_root)/Reactor/Android.mk |
| 187 | include $(swiftshader_src_root)/OpenGL/libGLESv2/Android.mk |
| 188 | include $(swiftshader_src_root)/OpenGL/libGLES_CM/Android.mk |
| 189 | include $(swiftshader_src_root)/OpenGL/libEGL/Android.mk |
| 190 | include $(swiftshader_src_root)/OpenGL/compiler/Android.mk |