• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH:= $(call my-dir)
2
3COMMON_C_INCLUDES += \
4	bionic \
5	$(LOCAL_PATH)/../include \
6	$(LOCAL_PATH)/OpenGL/ \
7	$(LOCAL_PATH) \
8	$(LOCAL_PATH)/Renderer/ \
9	$(LOCAL_PATH)/Common/ \
10	$(LOCAL_PATH)/Shader/ \
11	$(LOCAL_PATH)/Main/
12
13ifdef use_subzero
14COMMON_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/
19else
20COMMON_C_INCLUDES += \
21	$(LOCAL_PATH)/../third_party/LLVM/include
22endif
23
24# libnativewindow is introduced from O
25ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 26 && echo O),O)
26COMMON_SHARED_LIBRARIES := libnativewindow liblog
27COMMON_HEADER_LIBRARIES := libhardware_headers libnativebase_headers
28COMMON_STATIC_LIBRARIES := libarect
29endif
30
31# Marshmallow does not have stlport, but comes with libc++ by default
32ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
33COMMON_C_INCLUDES += external/stlport/stlport
34endif
35
36COMMON_SRC_FILES := \
37	Common/CPUID.cpp \
38	Common/Configurator.cpp \
39	Common/DebugAndroid.cpp \
40	Common/GrallocAndroid.cpp \
41	Common/Half.cpp \
42	Common/Math.cpp \
43	Common/Memory.cpp \
44	Common/Resource.cpp \
45	Common/Socket.cpp \
46	Common/Thread.cpp \
47	Common/Timer.cpp
48
49COMMON_SRC_FILES += \
50	Main/Config.cpp \
51	Main/FrameBuffer.cpp \
52	Main/FrameBufferAndroid.cpp \
53	Main/SwiftConfig.cpp
54
55ifdef use_subzero
56COMMON_SRC_FILES += \
57	Reactor/SubzeroReactor.cpp \
58	Reactor/Routine.cpp \
59	Reactor/Optimizer.cpp
60else
61COMMON_SRC_FILES += \
62	Reactor/LLVMReactor.cpp \
63	Reactor/Routine.cpp \
64	Reactor/LLVMRoutine.cpp \
65	Reactor/LLVMRoutineManager.cpp
66endif
67
68COMMON_SRC_FILES += \
69	Renderer/Blitter.cpp \
70	Renderer/Clipper.cpp \
71	Renderer/Color.cpp \
72	Renderer/Context.cpp \
73	Renderer/ETC_Decoder.cpp \
74	Renderer/Matrix.cpp \
75	Renderer/PixelProcessor.cpp \
76	Renderer/Plane.cpp \
77	Renderer/Point.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 \
84	Renderer/Vector.cpp \
85	Renderer/VertexProcessor.cpp \
86
87COMMON_SRC_FILES += \
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 \
95	Shader/Shader.cpp \
96	Shader/ShaderCore.cpp \
97	Shader/VertexPipeline.cpp \
98	Shader/VertexProgram.cpp \
99	Shader/VertexRoutine.cpp \
100	Shader/VertexShader.cpp \
101
102COMMON_SRC_FILES += \
103	OpenGL/common/Image.cpp \
104	OpenGL/common/Object.cpp \
105	OpenGL/common/MatrixStack.cpp \
106
107COMMON_CFLAGS := \
108	-DLOG_TAG=\"swiftshader\" \
109	-Wno-unused-parameter \
110	-Wno-implicit-exception-spec-mismatch \
111	-Wno-overloaded-virtual \
112	-Wno-non-virtual-dtor \
113	-Wno-attributes \
114	-Wno-unknown-attributes \
115	-Wno-unknown-warning-option \
116	-fno-operator-names \
117	-msse2 \
118	-D__STDC_CONSTANT_MACROS \
119	-D__STDC_LIMIT_MACROS \
120	-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
121	-std=c++11 \
122	-DNO_SANITIZE_FUNCTION=
123
124ifneq (16,${PLATFORM_SDK_VERSION})
125COMMON_CFLAGS += -Xclang -fuse-init-array
126else
127COMMON_CFLAGS += -D__STDC_INT64__
128endif
129
130# gralloc1 is introduced from N MR1
131ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 25 && echo NMR1),NMR1)
132COMMON_CFLAGS += -DHAVE_GRALLOC1
133COMMON_C_INCLUDES += \
134	system/core/libsync/include \
135	system/core/libsync
136endif
137
138# Common Subzero defines
139COMMON_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
140
141# Subzero target
142LOCAL_CFLAGS_x86 += -DSZTARGET=X8632
143LOCAL_CFLAGS_x86_64 += -DSZTARGET=X8664
144LOCAL_CFLAGS_arm += -DSZTARGET=ARM32
145
146include $(CLEAR_VARS)
147LOCAL_CLANG := true
148LOCAL_MODULE := swiftshader_top_release
149LOCAL_VENDOR_MODULE := true
150LOCAL_MODULE_TAGS := optional
151LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
152LOCAL_CFLAGS := $(COMMON_CFLAGS) -fomit-frame-pointer -ffunction-sections -fdata-sections -DANGLE_DISABLE_TRACE
153LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
154LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
155LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
156LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
157include $(BUILD_STATIC_LIBRARY)
158
159include $(CLEAR_VARS)
160LOCAL_CLANG := true
161LOCAL_MODULE := swiftshader_top_debug
162LOCAL_VENDOR_MODULE := true
163LOCAL_MODULE_TAGS := optional
164LOCAL_SRC_FILES := $(COMMON_SRC_FILES)
165LOCAL_CFLAGS := $(COMMON_CFLAGS) -UNDEBUG -g -O0 -DDEFAULT_THREAD_COUNT=1
166LOCAL_C_INCLUDES := $(COMMON_C_INCLUDES)
167LOCAL_SHARED_LIBRARIES := $(COMMON_SHARED_LIBRARIES)
168LOCAL_HEADER_LIBRARIES := $(COMMON_HEADER_LIBRARIES)
169LOCAL_STATIC_LIBRARIES := $(COMMON_STATIC_LIBRARIES)
170include $(BUILD_STATIC_LIBRARY)
171
172include $(call all-makefiles-under,$(LOCAL_PATH))
173