• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
48ifeq ($(TARGET_USES_HWC2),true)
49    LOCAL_CFLAGS += -DUSE_HWC2
50    LOCAL_SRC_FILES += \
51        SurfaceFlinger.cpp \
52        DisplayHardware/HWComposer.cpp
53else
54    LOCAL_SRC_FILES += \
55        SurfaceFlinger_hwc1.cpp \
56        DisplayHardware/HWComposer_hwc1.cpp
57endif
58
59ifeq ($(TARGET_BOARD_PLATFORM),omap4)
60    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
61endif
62ifeq ($(TARGET_BOARD_PLATFORM),s5pc110)
63    LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY
64endif
65
66ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true)
67    LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING
68endif
69
70ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true)
71    LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS
72endif
73
74ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),)
75    LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS)
76endif
77
78ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true)
79    LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK
80endif
81
82# See build/target/board/generic/BoardConfig.mk for a description of this setting.
83ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),)
84    LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS)
85else
86    LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=0
87endif
88
89# See build/target/board/generic/BoardConfig.mk for a description of this setting.
90ifneq ($(SF_VSYNC_EVENT_PHASE_OFFSET_NS),)
91    LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS)
92else
93    LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=0
94endif
95
96ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),)
97    LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS)
98else
99    LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0
100endif
101
102ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),)
103    LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION)
104else
105    LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=0
106endif
107
108LOCAL_CFLAGS += -fvisibility=hidden -Werror=format
109LOCAL_CFLAGS += -std=c++14
110
111LOCAL_STATIC_LIBRARIES := libvkjson
112LOCAL_SHARED_LIBRARIES := \
113    libcutils \
114    liblog \
115    libdl \
116    libhardware \
117    libutils \
118    libEGL \
119    libGLESv1_CM \
120    libGLESv2 \
121    libbinder \
122    libui \
123    libgui \
124    libpowermanager \
125    libvulkan
126
127LOCAL_MODULE := libsurfaceflinger
128
129LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
130
131include $(BUILD_SHARED_LIBRARY)
132
133###############################################################
134# build surfaceflinger's executable
135include $(CLEAR_VARS)
136
137LOCAL_CLANG := true
138
139LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic
140LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
141LOCAL_CPPFLAGS := -std=c++14
142
143LOCAL_INIT_RC := surfaceflinger.rc
144
145ifneq ($(ENABLE_CPUSETS),)
146    LOCAL_CFLAGS += -DENABLE_CPUSETS
147endif
148
149ifeq ($(TARGET_USES_HWC2),true)
150    LOCAL_CFLAGS += -DUSE_HWC2
151endif
152
153LOCAL_SRC_FILES := \
154    main_surfaceflinger.cpp
155
156LOCAL_SHARED_LIBRARIES := \
157    libsurfaceflinger \
158    libcutils \
159    liblog \
160    libbinder \
161    libutils \
162    libdl
163
164LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
165
166LOCAL_MODULE := surfaceflinger
167
168ifdef TARGET_32_BIT_SURFACEFLINGER
169LOCAL_32_BIT_ONLY := true
170endif
171
172LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
173
174include $(BUILD_EXECUTABLE)
175
176###############################################################
177# uses jni which may not be available in PDK
178ifneq ($(wildcard libnativehelper/include),)
179include $(CLEAR_VARS)
180
181LOCAL_CLANG := true
182
183LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
184LOCAL_CPPFLAGS := -std=c++14
185
186LOCAL_SRC_FILES := \
187    DdmConnection.cpp
188
189LOCAL_SHARED_LIBRARIES := \
190    libcutils \
191    liblog \
192    libdl
193
194LOCAL_MODULE := libsurfaceflinger_ddmconnection
195
196LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
197
198include $(BUILD_SHARED_LIBRARY)
199endif # libnativehelper
200