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 FrameTracker.cpp \ 14 Layer.cpp \ 15 LayerDim.cpp \ 16 MessageQueue.cpp \ 17 MonitoredProducer.cpp \ 18 SurfaceFlinger.cpp \ 19 SurfaceFlingerConsumer.cpp \ 20 Transform.cpp \ 21 DisplayHardware/FramebufferSurface.cpp \ 22 DisplayHardware/HWComposer.cpp \ 23 DisplayHardware/PowerHAL.cpp \ 24 DisplayHardware/VirtualDisplaySurface.cpp \ 25 Effects/Daltonizer.cpp \ 26 EventLog/EventLogTags.logtags \ 27 EventLog/EventLog.cpp \ 28 RenderEngine/Description.cpp \ 29 RenderEngine/Mesh.cpp \ 30 RenderEngine/Program.cpp \ 31 RenderEngine/ProgramCache.cpp \ 32 RenderEngine/GLExtensions.cpp \ 33 RenderEngine/RenderEngine.cpp \ 34 RenderEngine/Texture.cpp \ 35 RenderEngine/GLES10RenderEngine.cpp \ 36 RenderEngine/GLES11RenderEngine.cpp \ 37 RenderEngine/GLES20RenderEngine.cpp 38 39 40LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\" 41LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 42 43ifeq ($(TARGET_BOARD_PLATFORM),omap4) 44 LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY 45endif 46ifeq ($(TARGET_BOARD_PLATFORM),s5pc110) 47 LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY 48endif 49 50ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true) 51 LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING 52endif 53 54ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) 55 LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS 56endif 57 58ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) 59 LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) 60endif 61 62ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true) 63 LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK 64endif 65 66# See build/target/board/generic/BoardConfig.mk for a description of this setting. 67ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),) 68 LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS) 69else 70 LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=0 71endif 72 73# See build/target/board/generic/BoardConfig.mk for a description of this setting. 74ifneq ($(SF_VSYNC_EVENT_PHASE_OFFSET_NS),) 75 LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS) 76else 77 LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=0 78endif 79 80ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),) 81 LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS) 82else 83 LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0 84endif 85 86ifneq ($(MAX_VIRTUAL_DISPLAY_DIMENSION),) 87 LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=$(MAX_VIRTUAL_DISPLAY_DIMENSION) 88else 89 LOCAL_CFLAGS += -DMAX_VIRTUAL_DISPLAY_DIMENSION=0 90endif 91 92LOCAL_CFLAGS += -fvisibility=hidden -Werror=format 93LOCAL_CFLAGS += -std=c++11 94 95LOCAL_SHARED_LIBRARIES := \ 96 libcutils \ 97 liblog \ 98 libdl \ 99 libhardware \ 100 libutils \ 101 libEGL \ 102 libGLESv1_CM \ 103 libGLESv2 \ 104 libbinder \ 105 libui \ 106 libgui \ 107 libpowermanager 108 109LOCAL_MODULE := libsurfaceflinger 110 111LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 112 113include $(BUILD_SHARED_LIBRARY) 114 115############################################################### 116# build surfaceflinger's executable 117include $(CLEAR_VARS) 118 119LOCAL_CLANG := true 120 121LOCAL_LDFLAGS := -Wl,--version-script,art/sigchainlib/version-script.txt -Wl,--export-dynamic 122LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\" 123LOCAL_CPPFLAGS := -std=c++11 124 125LOCAL_SRC_FILES := \ 126 main_surfaceflinger.cpp 127 128LOCAL_SHARED_LIBRARIES := \ 129 libsurfaceflinger \ 130 libcutils \ 131 liblog \ 132 libbinder \ 133 libutils \ 134 libdl 135 136LOCAL_WHOLE_STATIC_LIBRARIES := libsigchain 137 138LOCAL_MODULE := surfaceflinger 139 140ifdef TARGET_32_BIT_SURFACEFLINGER 141LOCAL_32_BIT_ONLY := true 142endif 143 144LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 145 146include $(BUILD_EXECUTABLE) 147 148############################################################### 149# uses jni which may not be available in PDK 150ifneq ($(wildcard libnativehelper/include),) 151include $(CLEAR_VARS) 152 153LOCAL_CLANG := true 154 155LOCAL_CFLAGS := -DLOG_TAG=\"SurfaceFlinger\" 156LOCAL_CPPFLAGS := -std=c++11 157 158LOCAL_SRC_FILES := \ 159 DdmConnection.cpp 160 161LOCAL_SHARED_LIBRARIES := \ 162 libcutils \ 163 liblog \ 164 libdl 165 166LOCAL_MODULE := libsurfaceflinger_ddmconnection 167 168LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code 169 170include $(BUILD_SHARED_LIBRARY) 171endif # libnativehelper 172