• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1LOCAL_PATH:= $(call my-dir)
2
3COMMON_CFLAGS := \
4	-DLOG_TAG=\"libGLESv2_swiftshader\" \
5	-fno-operator-names \
6	-msse2 \
7	-D__STDC_CONSTANT_MACROS \
8	-D__STDC_LIMIT_MACROS \
9	-std=c++11 \
10	-DGL_API= \
11	-DGL_APICALL= \
12	-DGL_GLEXT_PROTOTYPES \
13	-Wno-unused-parameter \
14	-Wno-implicit-exception-spec-mismatch \
15	-Wno-overloaded-virtual \
16	-DANDROID_PLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
17
18ifneq (16,${PLATFORM_SDK_VERSION})
19COMMON_CFLAGS += -Xclang -fuse-init-array
20else
21COMMON_CFLAGS += -D__STDC_INT64__
22endif
23
24COMMON_SRC_FILES := \
25	Buffer.cpp \
26	Context.cpp \
27	Device.cpp \
28	Fence.cpp \
29	Framebuffer.cpp \
30	IndexDataManager.cpp \
31	libGLESv2.cpp \
32	libGLESv3.cpp \
33	main.cpp \
34	Program.cpp \
35	Query.cpp \
36	Renderbuffer.cpp \
37	ResourceManager.cpp \
38	Shader.cpp \
39	Texture.cpp \
40	TransformFeedback.cpp \
41	utilities.cpp \
42	VertexArray.cpp \
43	VertexDataManager.cpp \
44
45COMMON_C_INCLUDES := \
46	bionic \
47	$(LOCAL_PATH)/../../../include \
48	$(LOCAL_PATH)/../ \
49	$(LOCAL_PATH)/../../ \
50	$(LOCAL_PATH)/../../../third_party/LLVM/include-android \
51	$(LOCAL_PATH)/../../../third_party/LLVM/include \
52	$(LOCAL_PATH)/../../../third_party/LLVM/lib/Target/X86 \
53	$(LOCAL_PATH)/../../Renderer/ \
54	$(LOCAL_PATH)/../../Common/ \
55	$(LOCAL_PATH)/../../Shader/ \
56	$(LOCAL_PATH)/../../Main/
57
58COMMON_STATIC_LIBRARIES := \
59	libLLVM_swiftshader
60
61COMMON_SHARED_LIBRARIES := \
62	libdl \
63	liblog \
64	libcutils \
65	libhardware
66
67# Marshmallow does not have stlport, but comes with libc++ by default
68ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23 && echo PreMarshmallow),PreMarshmallow)
69COMMON_SHARED_LIBRARIES += libstlport
70COMMON_C_INCLUDES += external/stlport/stlport
71endif
72
73COMMON_LDFLAGS := \
74	-Wl,--gc-sections \
75	-Wl,--version-script=$(LOCAL_PATH)/exports.map \
76	-Wl,--hash-style=sysv
77
78include $(CLEAR_VARS)
79LOCAL_MODULE := libGLESv2_swiftshader_debug
80ifdef TARGET_2ND_ARCH
81ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
82LOCAL_MULTILIB := first
83LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
84else
85LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
86LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
87endif
88else
89LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
90endif
91LOCAL_MODULE_TAGS := optional
92LOCAL_CLANG := true
93LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
94LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
95LOCAL_STATIC_LIBRARIES += swiftshader_compiler_debug swiftshader_top_debug $(COMMON_STATIC_LIBRARIES)
96LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
97LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
98LOCAL_CFLAGS += $(COMMON_CFLAGS) -UNDEBUG -g -O0
99include $(BUILD_SHARED_LIBRARY)
100
101include $(CLEAR_VARS)
102LOCAL_MODULE := libGLESv2_swiftshader
103ifdef TARGET_2ND_ARCH
104ifeq ($(TARGET_TRANSLATE_2ND_ARCH),true)
105LOCAL_MULTILIB := first
106LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
107else
108LOCAL_MODULE_PATH_32 := $(TARGET_OUT_VENDOR)/lib/egl
109LOCAL_MODULE_PATH_64 := $(TARGET_OUT_VENDOR)/lib64/egl
110endif
111else
112LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/lib/egl
113endif
114LOCAL_MODULE_TAGS := optional
115LOCAL_CLANG := true
116LOCAL_SRC_FILES += $(COMMON_SRC_FILES)
117LOCAL_C_INCLUDES += $(COMMON_C_INCLUDES)
118LOCAL_STATIC_LIBRARIES += swiftshader_compiler_release swiftshader_top_release $(COMMON_STATIC_LIBRARIES)
119LOCAL_SHARED_LIBRARIES += $(COMMON_SHARED_LIBRARIES)
120LOCAL_LDFLAGS += $(COMMON_LDFLAGS)
121LOCAL_CFLAGS += \
122	$(COMMON_CFLAGS) \
123	-fomit-frame-pointer \
124	-ffunction-sections \
125	-fdata-sections \
126	-DANGLE_DISABLE_TRACE
127include $(BUILD_SHARED_LIBRARY)
128