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 StartBootAnimThread.cpp \ 13 EventThread.cpp \ 14 FrameTracker.cpp \ 15 GpuService.cpp \ 16 Layer.cpp \ 17 LayerDim.cpp \ 18 LayerRejecter.cpp \ 19 LayerVector.cpp \ 20 MessageQueue.cpp \ 21 MonitoredProducer.cpp \ 22 SurfaceFlingerConsumer.cpp \ 23 SurfaceInterceptor.cpp \ 24 Transform.cpp \ 25 DisplayHardware/ComposerHal.cpp \ 26 DisplayHardware/FramebufferSurface.cpp \ 27 DisplayHardware/HWC2.cpp \ 28 DisplayHardware/HWComposerBufferCache.cpp \ 29 DisplayHardware/PowerHAL.cpp \ 30 DisplayHardware/VirtualDisplaySurface.cpp \ 31 Effects/Daltonizer.cpp \ 32 EventLog/EventLogTags.logtags \ 33 EventLog/EventLog.cpp \ 34 RenderEngine/Description.cpp \ 35 RenderEngine/Mesh.cpp \ 36 RenderEngine/Program.cpp \ 37 RenderEngine/ProgramCache.cpp \ 38 RenderEngine/GLExtensions.cpp \ 39 RenderEngine/RenderEngine.cpp \ 40 RenderEngine/Texture.cpp \ 41 RenderEngine/GLES20RenderEngine.cpp \ 42 43LOCAL_MODULE := libsurfaceflinger 44LOCAL_C_INCLUDES := \ 45 frameworks/native/vulkan/include \ 46 external/vulkan-validation-layers/libs/vkjson \ 47 system/libhwbinder/fast_msgq/include \ 48 49LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\" 50LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 51 52ifeq ($(TARGET_USES_HWC2),true) 53 LOCAL_CFLAGS += -DUSE_HWC2 54 LOCAL_SRC_FILES += \ 55 SurfaceFlinger.cpp \ 56 DisplayHardware/HWComposer.cpp 57else 58 LOCAL_SRC_FILES += \ 59 SurfaceFlinger_hwc1.cpp \ 60 DisplayHardware/HWComposer_hwc1.cpp 61endif 62 63LOCAL_CFLAGS += -fvisibility=hidden -Werror=format 64 65LOCAL_STATIC_LIBRARIES := \ 66 libhwcomposer-command-buffer \ 67 libtrace_proto \ 68 libvkjson \ 69 libvr_manager \ 70 libvrflinger 71 72LOCAL_SHARED_LIBRARIES := \ 73 android.frameworks.vr.composer@1.0 \ 74 android.hardware.graphics.allocator@2.0 \ 75 android.hardware.graphics.composer@2.1 \ 76 android.hardware.configstore@1.0 \ 77 android.hardware.configstore-utils \ 78 libcutils \ 79 liblog \ 80 libdl \ 81 libfmq \ 82 libhardware \ 83 libhidlbase \ 84 libhidltransport \ 85 libhwbinder \ 86 libutils \ 87 libEGL \ 88 libGLESv1_CM \ 89 libGLESv2 \ 90 libbinder \ 91 libui \ 92 libgui \ 93 libpowermanager \ 94 libvulkan \ 95 libsync \ 96 libprotobuf-cpp-lite \ 97 libbase \ 98 android.hardware.power@1.0 99 100LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \ 101 android.hardware.graphics.allocator@2.0 \ 102 android.hardware.graphics.composer@2.1 \ 103 libhidlbase \ 104 libhidltransport \ 105 libhwbinder 106 107LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 108 109include $(BUILD_SHARED_LIBRARY) 110 111############################################################### 112# build surfaceflinger's executable 113include $(CLEAR_VARS) 114 115LOCAL_CLANG := true 116 117LOCAL_LDFLAGS_32 := -Wl,--version-script,art/sigchainlib/version-script32.txt -Wl,--export-dynamic 118LOCAL_LDFLAGS_64 := -Wl,--version-script,art/sigchainlib/version-script64.txt -Wl,--export-dynamic 119LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\" 120 121LOCAL_INIT_RC := surfaceflinger.rc 122 123ifeq ($(TARGET_USES_HWC2),true) 124 LOCAL_CFLAGS += -DUSE_HWC2 125endif 126 127LOCAL_SRC_FILES := \ 128 main_surfaceflinger.cpp 129 130LOCAL_SHARED_LIBRARIES := \ 131 android.frameworks.displayservice@1.0 \ 132 android.hardware.configstore@1.0 \ 133 android.hardware.configstore-utils \ 134 android.hardware.graphics.allocator@2.0 \ 135 libsurfaceflinger \ 136 libcutils \ 137 libdisplayservicehidl \ 138 liblog \ 139 libbinder \ 140 libhidlbase \ 141 libhidltransport \ 142 libutils \ 143 libui \ 144 libgui \ 145 libdl 146 147LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain 148LOCAL_STATIC_LIBRARIES := libtrace_proto 149 150LOCAL_MODULE := surfaceflinger 151 152ifdef TARGET_32_BIT_SURFACEFLINGER 153LOCAL_32_BIT_ONLY := true 154endif 155 156LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 157 158include $(BUILD_EXECUTABLE) 159 160############################################################### 161# uses jni which may not be available in PDK 162ifneq ($(wildcard libnativehelper/include),) 163include $(CLEAR_VARS) 164 165LOCAL_CLANG := true 166 167LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\" 168 169LOCAL_SRC_FILES := \ 170 DdmConnection.cpp 171 172LOCAL_SHARED_LIBRARIES := \ 173 libcutils \ 174 liblog \ 175 libdl 176 177LOCAL_MODULE := libsurfaceflinger_ddmconnection 178 179LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 180 181include $(BUILD_SHARED_LIBRARY) 182endif # libnativehelper 183 184include $(call first-makefiles-under,$(LOCAL_PATH)) 185