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 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 3 | # Use Subzero as the Reactor JIT back-end on ARM, else LLVM. |
| 4 | ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm)) |
| 5 | use_subzero := true |
| 6 | endif |
| 7 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 8 | COMMON_C_INCLUDES += \ |
| 9 | bionic \ |
Nicolas Capens | b7510aa | 2016-05-16 13:16:32 -0400 | [diff] [blame] | 10 | $(LOCAL_PATH)/../include \ |
Nicolas Capens | 9c025c0 | 2015-12-07 20:58:40 -0500 | [diff] [blame] | 11 | $(LOCAL_PATH)/OpenGL/ \ |
| 12 | $(LOCAL_PATH) \ |
| 13 | $(LOCAL_PATH)/Renderer/ \ |
| 14 | $(LOCAL_PATH)/Common/ \ |
| 15 | $(LOCAL_PATH)/Shader/ \ |
Nicolas Capens | 9c025c0 | 2015-12-07 20:58:40 -0500 | [diff] [blame] | 16 | $(LOCAL_PATH)/Main/ |
| 17 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 18 | ifdef use_subzero |
| 19 | COMMON_C_INCLUDES += \ |
Nicolas Capens | 5aebe18 | 2017-05-03 14:23:06 -0400 | [diff] [blame] | 20 | $(LOCAL_PATH)/../third_party/subzero/ \ |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 21 | $(LOCAL_PATH)/../third_party/llvm-subzero/include/ \ |
| 22 | $(LOCAL_PATH)/../third_party/llvm-subzero/build/Android/include/ \ |
Nicolas Capens | 5aebe18 | 2017-05-03 14:23:06 -0400 | [diff] [blame] | 23 | $(LOCAL_PATH)/../third_party/subzero/pnacl-llvm/include/ |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 24 | else |
| 25 | COMMON_C_INCLUDES += \ |
| 26 | $(LOCAL_PATH)/../third_party/LLVM/include |
| 27 | endif |
| 28 | |
Nicolas Capens | c33b473 | 2017-08-03 15:53:25 -0400 | [diff] [blame^] | 29 | # libnativewindow is introduced from O |
| 30 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo O),O) |
| 31 | COMMON_SHARED_LIBRARIES := libnativewindow |
| 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 | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 58 | ifdef use_subzero |
| 59 | COMMON_SRC_FILES += \ |
| 60 | Reactor/SubzeroReactor.cpp \ |
| 61 | Reactor/Routine.cpp \ |
| 62 | Reactor/Optimizer.cpp |
| 63 | else |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 64 | COMMON_SRC_FILES += \ |
Nicolas Capens | 5763d17 | 2016-09-26 13:44:20 -0400 | [diff] [blame] | 65 | Reactor/LLVMReactor.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 66 | Reactor/Routine.cpp \ |
Nicolas Capens | daa5d91 | 2016-09-28 16:56:36 -0400 | [diff] [blame] | 67 | Reactor/LLVMRoutine.cpp \ |
| 68 | Reactor/LLVMRoutineManager.cpp |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 69 | endif |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 70 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 71 | COMMON_SRC_FILES += \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 72 | Renderer/Blitter.cpp \ |
| 73 | Renderer/Clipper.cpp \ |
| 74 | Renderer/Color.cpp \ |
| 75 | Renderer/Context.cpp \ |
Alexis Hetu | 0de50d4 | 2015-09-09 13:56:41 -0400 | [diff] [blame] | 76 | Renderer/ETC_Decoder.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 77 | Renderer/Matrix.cpp \ |
| 78 | Renderer/PixelProcessor.cpp \ |
| 79 | Renderer/Plane.cpp \ |
| 80 | Renderer/Point.cpp \ |
| 81 | Renderer/QuadRasterizer.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 82 | Renderer/Renderer.cpp \ |
| 83 | Renderer/Sampler.cpp \ |
| 84 | Renderer/SetupProcessor.cpp \ |
| 85 | Renderer/Surface.cpp \ |
| 86 | Renderer/TextureStage.cpp \ |
| 87 | Renderer/Vector.cpp \ |
| 88 | Renderer/VertexProcessor.cpp \ |
| 89 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 90 | COMMON_SRC_FILES += \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 91 | Shader/Constants.cpp \ |
Alexis Hetu | f2a8c37 | 2015-07-13 11:08:41 -0400 | [diff] [blame] | 92 | Shader/PixelPipeline.cpp \ |
| 93 | Shader/PixelProgram.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 94 | Shader/PixelRoutine.cpp \ |
| 95 | Shader/PixelShader.cpp \ |
| 96 | Shader/SamplerCore.cpp \ |
| 97 | Shader/SetupRoutine.cpp \ |
| 98 | Shader/Shader.cpp \ |
| 99 | Shader/ShaderCore.cpp \ |
| 100 | Shader/VertexPipeline.cpp \ |
| 101 | Shader/VertexProgram.cpp \ |
| 102 | Shader/VertexRoutine.cpp \ |
| 103 | Shader/VertexShader.cpp \ |
| 104 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 105 | COMMON_SRC_FILES += \ |
Nicolas Capens | deda34b | 2015-04-28 15:21:53 -0700 | [diff] [blame] | 106 | OpenGL/common/Image.cpp \ |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 107 | OpenGL/common/Object.cpp \ |
| 108 | OpenGL/common/MatrixStack.cpp \ |
| 109 | |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 110 | COMMON_CFLAGS := \ |
| 111 | -DLOG_TAG=\"swiftshader\" \ |
| 112 | -Wno-unused-parameter \ |
| 113 | -Wno-implicit-exception-spec-mismatch \ |
| 114 | -Wno-overloaded-virtual \ |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 115 | -Wno-non-virtual-dtor \ |
Nicolas Capens | dc20933 | 2017-08-04 09:40:46 -0400 | [diff] [blame] | 116 | -Wno-attributes \ |
| 117 | -Wno-unknown-attributes \ |
| 118 | -Wno-unknown-warning-option \ |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 119 | -fno-operator-names \ |
| 120 | -msse2 \ |
| 121 | -D__STDC_CONSTANT_MACROS \ |
| 122 | -D__STDC_LIMIT_MACROS \ |
| 123 | -DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \ |
Nicolas Capens | 506cc5e | 2017-07-24 11:30:55 -0400 | [diff] [blame] | 124 | -std=c++11 \ |
| 125 | -DNO_SANITIZE_FUNCTION= |
Nicolas Capens | 135f634 | 2015-11-11 10:49:08 -0500 | [diff] [blame] | 126 | |
Greg Hartman | 3b876b9 | 2015-12-01 20:07:21 -0800 | [diff] [blame] | 127 | ifneq (16,${PLATFORM_SDK_VERSION}) |
| 128 | COMMON_CFLAGS += -Xclang -fuse-init-array |
| 129 | else |
| 130 | COMMON_CFLAGS += -D__STDC_INT64__ |
| 131 | endif |
| 132 | |
Jaesung Chung | fccddfe | 2017-06-22 20:02:09 +0900 | [diff] [blame] | 133 | # gralloc1 is introduced from N MR1 |
| 134 | ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1) |
| 135 | COMMON_CFLAGS += -DHAVE_GRALLOC1 |
| 136 | COMMON_C_INCLUDES += \ |
| 137 | system/core/libsync/include \ |
| 138 | system/core/libsync |
| 139 | endif |
| 140 | |
Nicolas Capens | 1ba2611 | 2017-05-02 11:57:06 -0400 | [diff] [blame] | 141 | # Common Subzero defines |
| 142 | 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 |
| 143 | |
| 144 | # Subzero target |
| 145 | LOCAL_CFLAGS_x86 += -DSZTARGET=X8632 |
| 146 | LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664 |
| 147 | LOCAL_CFLAGS_arm += -DSZTARGET=ARM32 |
| 148 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 149 | include $(CLEAR_VARS) |
| 150 | LOCAL_CLANG := true |
| 151 | LOCAL_MODULE := swiftshader_top_release |
| 152 | LOCAL_MODULE_TAGS := optional |
| 153 | LOCAL_SRC_FILES := $(COMMON_SRC_FILES) |
| 154 | LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE |
| 155 | LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) |
Nicolas Capens | c33b473 | 2017-08-03 15:53:25 -0400 | [diff] [blame^] | 156 | LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 157 | include $(BUILD_STATIC_LIBRARY) |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 158 | |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 159 | include $(CLEAR_VARS) |
| 160 | LOCAL_CLANG := true |
| 161 | LOCAL_MODULE := swiftshader_top_debug |
| 162 | LOCAL_MODULE_TAGS := optional |
| 163 | LOCAL_SRC_FILES := $(COMMON_SRC_FILES) |
Greg Hartman | 5d6c1c7 | 2015-10-02 16:29:40 -0700 | [diff] [blame] | 164 | LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1 |
Greg Hartman | df01da3 | 2015-09-16 15:27:27 -0700 | [diff] [blame] | 165 | LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES) |
Nicolas Capens | c33b473 | 2017-08-03 15:53:25 -0400 | [diff] [blame^] | 166 | LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES) |
Greg Hartman | 9ec919a | 2015-04-16 21:44:59 -0700 | [diff] [blame] | 167 | include $(BUILD_STATIC_LIBRARY) |
Greg Hartman | 8527e47 | 2015-11-02 13:08:12 -0800 | [diff] [blame] | 168 | |
Greg Hartman | 8527e47 | 2015-11-02 13:08:12 -0800 | [diff] [blame] | 169 | include $(call all-makefiles-under,$(LOCAL_PATH)) |