Android.mk revision 5045ab2bb14110f577e3cfff8acfae906dc29935
1LOCAL_PATH := $(call my-dir)
2include $(CLEAR_VARS)
3
4LOCAL_CLANG := true
5
6LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
7LOCAL_SRC_FILES := \
8    Client.cpp \
9    DisplayDevice.cpp \
10    DispSync.cpp \
11    EventControlThread.cpp \
12    EventThread.cpp \
13    FenceTracker.cpp \
14    FrameTracker.cpp \
15    GpuService.cpp \
16    Layer.cpp \
17    LayerDim.cpp \
18    MessageQueue.cpp \
19    MonitoredProducer.cpp \
20    SurfaceFlingerConsumer.cpp \
21    Transform.cpp \
22    DisplayHardware/FramebufferSurface.cpp \
23    DisplayHardware/HWC2.cpp \
24    DisplayHardware/HWC2On1Adapter.cpp \
25    DisplayHardware/PowerHAL.cpp \
26    DisplayHardware/VirtualDisplaySurface.cpp \
27    Effects/Daltonizer.cpp \
28    EventLog/EventLogTags.logtags \
29    EventLog/EventLog.cpp \
30    RenderEngine/Description.cpp \
31    RenderEngine/Mesh.cpp \
32    RenderEngine/Program.cpp \
33    RenderEngine/ProgramCache.cpp \
34    RenderEngine/GLExtensions.cpp \
35    RenderEngine/RenderEngine.cpp \
36    RenderEngine/Texture.cpp \
37    RenderEngine/GLES10RenderEngine.cpp \
38    RenderEngine/GLES11RenderEngine.cpp \
39    RenderEngine/GLES20RenderEngine.cpp
40
41LOCAL_C_INCLUDES := \
42	frameworks/native/vulkan/include \
43	external/vulkan-validation-layers/libs/vkjson
44
45LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
46LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
47
48USE_HWC2 := false
49ifeq ($(USE_HWC2),true)
50    LOCAL_CFLAGS += -DUSE_HWC2
51    LOCAL_SRC_FILES += \
52        SurfaceFlinger.cpp \
53        DisplayHardware/HWComposer.cpp
54else
55    LOCAL_SRC_FILES += \
56        SurfaceFlinger_hwc1.cpp \
57        DisplayHardware/HWComposer_hwc1.cpp
58endif
59
60ifeq ($(TARGET_BOARD_PLATFORM),omap4)
61    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
62endif
63ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
64    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
65endif
66
67ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true)
68    LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING
69endif
70
71ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true)
72    LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS
73endif
74
75ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),)
76    LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS)
77endif
78
79ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true)
80    LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK
81endif
82
83# See build/target/board/generic/BoardConfig.mk for a description of this setting.
84ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),)
85    LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS)
86else
87    LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=0
88endif
89
90# See build/target/board/generic/BoardConfig.mk for a description of this setting.
91ifneq ($(SF_VSYNC_EVENT_PHASE_OFFSET_NS),)
92    LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS)
93else
94    LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=0
95endif
96
97ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),)
98    LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS)
99else
100    LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0
101endif
102
103ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),)
104    LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION)
105else
106    LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=0
107endif
108
109LOCAL_CFLAGS += -fvisibility=hidden -Werror=format
110LOCAL_CFLAGS += -std=c++14
111
112LOCAL_STATIC_LIBRARIES := libvkjson
113LOCAL_SHARED_LIBRARIES := \
114    libcutils \
115    liblog \
116    libdl \
117    libhardware \
118    libutils \
119    libEGL \
120    libGLESv1_CM \
121    libGLESv2 \
122    libbinder \
123    libui \
124    libgui \
125    libpowermanager \
126    libvulkan
127
128LOCAL_MODULE := libsurfaceflinger
129
130LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
131
132include $(BUILD_SHARED_LIBRARY)
133
134###############################################################
135# build surfaceflinger's executable
136include $(CLEAR_VARS)
137
138LOCAL_CLANG := true
139
140LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
141LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
142LOCAL_CPPFLAGS := -std=c++14
143
144LOCAL_INIT_RC := surfaceflinger.rc
145
146ifneq ($(ENABLE_CPUSETS),)
147    LOCAL_CFLAGS += -DENABLE_CPUSETS
148endif
149
150LOCAL_SRC_FILES := \
151    main_surfaceflinger.cpp
152
153LOCAL_SHARED_LIBRARIES := \
154    libsurfaceflinger \
155    libcutils \
156    liblog \
157    libbinder \
158    libutils \
159    libdl
160
161LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
162
163LOCAL_MODULE := surfaceflinger
164
165ifdef TARGET_32_BIT_SURFACEFLINGER
166LOCAL_32_BIT_ONLY := true
167endif
168
169LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
170
171include $(BUILD_EXECUTABLE)
172
173###############################################################
174# uses jni which may not be available in PDK
175ifneq ($(wildcard libnativehelper/include),)
176include $(CLEAR_VARS)
177
178LOCAL_CLANG := true
179
180LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
181LOCAL_CPPFLAGS := -std=c++14
182
183LOCAL_SRC_FILES := \
184    DdmConnection.cpp
185
186LOCAL_SHARED_LIBRARIES := \
187    libcutils \
188    liblog \
189    libdl
190
191LOCAL_MODULE := libsurfaceflinger_ddmconnection
192
193LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
194
195include $(BUILD_SHARED_LIBRARY)
196endif # libnativehelper
197