blob: 7115ad62ea185ff211815af956b222d72feb9080 [file] [log] [blame]
Dan Stoza01049c82014-11-11 10:32:31 -08001LOCAL_PATH := $(call my-dir)
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -08002include $(CLEAR_VARS)
3
Jesse Hall24cd98e2014-07-13 14:37:16 -07004LOCAL_CLANG := true
5
Jesse Halle9b23b62014-07-14 15:32:59 -07006LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
Dan Stoza01049c82014-11-11 10:32:31 -08007LOCAL_SRC_FILES := \
Jesse Hall99c7dbb2013-03-14 14:29:29 -07008 Client.cpp \
9 DisplayDevice.cpp \
Jamie Gennisfaf77cc2013-07-30 15:10:32 -070010 DispSync.cpp \
Jamie Gennisd1700752013-10-14 12:22:52 -070011 EventControlThread.cpp \
Wei Wangf9b05ee2017-07-19 20:59:39 -070012 StartPropertySetThread.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070013 EventThread.cpp \
14 FrameTracker.cpp \
Jesse Hallfc038bd2016-03-26 22:20:22 -070015 GpuService.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070016 Layer.cpp \
David Sodman0c69cad2017-08-21 12:12:51 -070017 BufferLayer.cpp \
chaviw13fdc492017-06-27 12:40:18 -070018 ColorLayer.cpp \
Fabien Sanglard7b1563a2016-10-13 12:05:28 -070019 LayerRejecter.cpp \
Robert Carr2047fae2016-11-28 14:09:09 -080020 LayerVector.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070021 MessageQueue.cpp \
Dan Stozab9b08832014-03-13 11:55:57 -070022 MonitoredProducer.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070023 SurfaceFlingerConsumer.cpp \
Irvelc274c632016-06-13 16:44:08 -070024 SurfaceInterceptor.cpp \
Adrian Roos1e1a1282017-11-01 19:05:31 +010025 SurfaceTracing.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070026 Transform.cpp \
Chia-I Wuaab99f52016-10-05 12:59:58 +080027 DisplayHardware/ComposerHal.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070028 DisplayHardware/FramebufferSurface.cpp \
Dan Stoza651bf312015-10-23 17:03:17 -070029 DisplayHardware/HWC2.cpp \
Chia-I Wuaaff73f2017-02-13 12:28:24 -080030 DisplayHardware/HWComposerBufferCache.cpp \
Jesse Hall99c7dbb2013-03-14 14:29:29 -070031 DisplayHardware/PowerHAL.cpp \
32 DisplayHardware/VirtualDisplaySurface.cpp \
Mathias Agopianff2ed702013-09-01 21:36:12 -070033 Effects/Daltonizer.cpp \
Mathias Agopian85cce372013-06-04 21:50:31 -070034 EventLog/EventLogTags.logtags \
Mathias Agopian875d8e12013-06-07 15:35:48 -070035 EventLog/EventLog.cpp \
Mathias Agopian3f844832013-08-07 21:24:32 -070036 RenderEngine/Description.cpp \
37 RenderEngine/Mesh.cpp \
38 RenderEngine/Program.cpp \
39 RenderEngine/ProgramCache.cpp \
Mathias Agopian875d8e12013-06-07 15:35:48 -070040 RenderEngine/GLExtensions.cpp \
41 RenderEngine/RenderEngine.cpp \
Mathias Agopian49457ac2013-08-14 18:20:17 -070042 RenderEngine/Texture.cpp \
Irvelc274c632016-06-13 16:44:08 -070043 RenderEngine/GLES20RenderEngine.cpp \
chaviw1d044282017-09-27 12:19:28 -070044 LayerProtoHelper.cpp \
chaviwa76b2712017-09-20 12:02:26 -070045 RenderArea.cpp \
Mathias Agopian875d8e12013-06-07 15:35:48 -070046
Irvelc274c632016-06-13 16:44:08 -070047LOCAL_MODULE := libsurfaceflinger
Jesse Hall8b0d55e2016-03-31 19:29:36 -070048LOCAL_C_INCLUDES := \
Irvelc274c632016-06-13 16:44:08 -070049 frameworks/native/vulkan/include \
50 external/vulkan-validation-layers/libs/vkjson \
Chia-I Wucd8d7f02016-11-16 11:02:31 +080051 system/libhwbinder/fast_msgq/include \
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080052
Dan Stoza01049c82014-11-11 10:32:31 -080053LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
Mathias Agopian076b1cc2009-04-10 14:24:30 -070054LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES
Dan Stoza9e56aa02015-11-02 13:00:03 -080055
Fabien Sanglard9d96de42016-10-11 00:15:18 +000056ifeq ($(TARGET_USES_HWC2),true)
57 LOCAL_CFLAGS += -DUSE_HWC2
58 LOCAL_SRC_FILES += \
59 SurfaceFlinger.cpp \
60 DisplayHardware/HWComposer.cpp
61else
62 LOCAL_SRC_FILES += \
63 SurfaceFlinger_hwc1.cpp \
64 DisplayHardware/HWComposer_hwc1.cpp
65endif
66
Michael Lentine7306c672014-07-30 13:00:37 -070067LOCAL_CFLAGS += -fvisibility=hidden -Werror=format
Mathias Agopianb6df7d02013-05-09 14:53:35 -070068
Hendrik Wagenaar87670ff2017-02-01 12:10:46 -080069LOCAL_STATIC_LIBRARIES := \
70 libhwcomposer-command-buffer \
71 libtrace_proto \
72 libvkjson \
73 libvr_manager \
Vishnu Nair35798872017-10-06 16:00:36 -070074 libvrflinger \
75 libserviceutils
76
77LOCAL_EXPORT_STATIC_LIBRARY_HEADERS := libserviceutils
Hendrik Wagenaar87670ff2017-02-01 12:10:46 -080078
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -080079LOCAL_SHARED_LIBRARIES := \
Daniel Nicoara95a99a12017-03-21 15:30:45 -040080 android.frameworks.vr.composer@1.0 \
Chia-I Wuaab99f52016-10-05 12:59:58 +080081 android.hardware.graphics.allocator@2.0 \
82 android.hardware.graphics.composer@2.1 \
Jiyong Park4b20c2e2017-01-14 19:45:11 +090083 android.hardware.configstore@1.0 \
Jaesoo Lee585e32f2017-03-30 15:25:19 +090084 android.hardware.configstore-utils \
Andreas Gampe89fd4f72014-11-13 14:18:56 -080085 libcutils \
86 liblog \
87 libdl \
Chia-I Wucd8d7f02016-11-16 11:02:31 +080088 libfmq \
Andreas Gampe89fd4f72014-11-13 14:18:56 -080089 libhardware \
Yifan Hong67a47622016-11-17 13:02:06 -080090 libhidlbase \
91 libhidltransport \
Chia-I Wuaab99f52016-10-05 12:59:58 +080092 libhwbinder \
Andreas Gampe89fd4f72014-11-13 14:18:56 -080093 libutils \
94 libEGL \
95 libGLESv1_CM \
96 libGLESv2 \
97 libbinder \
98 libui \
99 libgui \
Jesse Hall8b0d55e2016-03-31 19:29:36 -0700100 libpowermanager \
Irvelc274c632016-06-13 16:44:08 -0700101 libvulkan \
Chia-I Wucd8d7f02016-11-16 11:02:31 +0800102 libsync \
Colin Cross63549382016-10-26 12:52:53 -0700103 libprotobuf-cpp-lite \
Ruchi Kandoib5ee1782016-10-04 17:51:50 -0700104 libbase \
chaviw1d044282017-09-27 12:19:28 -0700105 android.hardware.power@1.0 \
106 liblayers_proto
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800107
Chia-I Wuaab99f52016-10-05 12:59:58 +0800108LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \
109 android.hardware.graphics.allocator@2.0 \
110 android.hardware.graphics.composer@2.1 \
Yifan Hong67a47622016-11-17 13:02:06 -0800111 libhidlbase \
112 libhidltransport \
Chia-I Wuaab99f52016-10-05 12:59:58 +0800113 libhwbinder
114
Dan Stoza2b6d38e2017-06-01 16:40:30 -0700115LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code -std=c++1z
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800116
The Android Open Source Projectedbf3b62009-03-03 19:31:44 -0800117include $(BUILD_SHARED_LIBRARY)
Keun young Park63f165f2012-08-31 10:53:36 -0700118
119###############################################################
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700120# build surfaceflinger's executable
121include $(CLEAR_VARS)
122
Dan Stoza01049c82014-11-11 10:32:31 -0800123LOCAL_CLANG := true
Mathias Agopian4f4f0942013-08-19 17:26:18 -0700124
Dimitry Ivanovf06248f2016-08-01 14:13:37 -0700125LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic
126LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic
Dan Stoza01049c82014-11-11 10:32:31 -0800127LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
Dan Stoza01049c82014-11-11 10:32:31 -0800128
Tom Cherry74155992015-08-14 13:01:23 -0700129LOCAL_INIT_RC := surfaceflinger.rc
130
Fabien Sanglard9d96de42016-10-11 00:15:18 +0000131ifeq ($(TARGET_USES_HWC2),true)
132 LOCAL_CFLAGS += -DUSE_HWC2
133endif
134
Dan Stoza01049c82014-11-11 10:32:31 -0800135LOCAL_SRC_FILES := \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800136 main_surfaceflinger.cpp
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700137
138LOCAL_SHARED_LIBRARIES := \
Steven Moreland6ad20f72017-05-16 17:42:50 -0700139 android.frameworks.displayservice@1.0 \
Chia-I Wub2784042017-03-30 11:56:21 -0700140 android.hardware.configstore@1.0 \
141 android.hardware.configstore-utils \
142 android.hardware.graphics.allocator@2.0 \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800143 libsurfaceflinger \
144 libcutils \
Steven Moreland6ad20f72017-05-16 17:42:50 -0700145 libdisplayservicehidl \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800146 liblog \
147 libbinder \
Chia-I Wub2784042017-03-30 11:56:21 -0700148 libhidlbase \
149 libhidltransport \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800150 libutils \
Mathias Agopiana9347642017-02-13 16:42:28 -0800151 libui \
Pawin Vongmasa6e1193a2017-03-07 13:08:40 -0800152 libgui \
chaviw1d044282017-09-27 12:19:28 -0700153 libdl \
154 liblayers_proto
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700155
Dmitriy Ivanov4340a142014-10-20 14:17:26 -0700156LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain
Vishnu Nair35798872017-10-06 16:00:36 -0700157LOCAL_STATIC_LIBRARIES := libtrace_proto \
158 libserviceutils
Dmitriy Ivanov4340a142014-10-20 14:17:26 -0700159
Dan Stoza01049c82014-11-11 10:32:31 -0800160LOCAL_MODULE := surfaceflinger
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700161
Colin Cross89450d42014-02-20 15:36:21 -0800162ifdef TARGET_32_BIT_SURFACEFLINGER
163LOCAL_32_BIT_ONLY := true
164endif
165
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800166LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
167
Mathias Agopian7ffaa7c2013-07-22 12:20:28 -0700168include $(BUILD_EXECUTABLE)
169
170###############################################################
Keun young Park63f165f2012-08-31 10:53:36 -0700171# uses jni which may not be available in PDK
172ifneq ($(wildcard libnativehelper/include),)
173include $(CLEAR_VARS)
Mathias Agopian1b3aeb42012-10-07 16:41:12 -0700174
Dan Stoza01049c82014-11-11 10:32:31 -0800175LOCAL_CLANG := true
176
177LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\"
Dan Stoza01049c82014-11-11 10:32:31 -0800178
179LOCAL_SRC_FILES := \
Keun young Park63f165f2012-08-31 10:53:36 -0700180 DdmConnection.cpp
181
182LOCAL_SHARED_LIBRARIES := \
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800183 libcutils \
184 liblog \
185 libdl
Keun young Park63f165f2012-08-31 10:53:36 -0700186
Dan Stoza01049c82014-11-11 10:32:31 -0800187LOCAL_MODULE := libsurfaceflinger_ddmconnection
Keun young Park63f165f2012-08-31 10:53:36 -0700188
Andreas Gampe89fd4f72014-11-13 14:18:56 -0800189LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
190
Keun young Park63f165f2012-08-31 10:53:36 -0700191include $(BUILD_SHARED_LIBRARY)
192endif # libnativehelper
Robert Carreb893992017-03-10 13:09:00 -0800193
194include $(call first-makefiles-under,$(LOCAL_PATH))