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