1 LOCAL_PATH:= $(call my-dir) 2 include $(CLEAR_VARS) 3 4 LOCAL_CLANG := true 5 6 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 7 LOCAL_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 40 LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" 41 LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 42 43 ifeq ($(TARGET_BOARD_PLATFORM),omap4) 44 LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY 45 endif 46 ifeq ($(TARGET_BOARD_PLATFORM),s5pc110) 47 LOCAL_CFLAGS += -DHAS_CONTEXT_PRIORITY 48 endif 49 50 ifeq ($(TARGET_DISABLE_TRIPLE_BUFFERING),true) 51 LOCAL_CFLAGS += -DTARGET_DISABLE_TRIPLE_BUFFERING 52 endif 53 54 ifeq ($(TARGET_FORCE_HWC_FOR_VIRTUAL_DISPLAYS),true) 55 LOCAL_CFLAGS += -DFORCE_HWC_COPY_FOR_VIRTUAL_DISPLAYS 56 endif 57 58 ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),) 59 LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS) 60 endif 61 62 ifeq ($(TARGET_RUNNING_WITHOUT_SYNC_FRAMEWORK),true) 63 LOCAL_CFLAGS += -DRUNNING_WITHOUT_SYNC_FRAMEWORK 64 endif 65 66 # See build/target/board/generic/BoardConfig.mk for a description of this setting. 67 ifneq ($(VSYNC_EVENT_PHASE_OFFSET_NS),) 68 LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=$(VSYNC_EVENT_PHASE_OFFSET_NS) 69 else 70 LOCAL_CFLAGS += -DVSYNC_EVENT_PHASE_OFFSET_NS=0 71 endif 72 73 # See build/target/board/generic/BoardConfig.mk for a description of this setting. 74 ifneq ($(SF_VSYNC_EVENT_PHASE_OFFSET_NS),) 75 LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS) 76 else 77 LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=0 78 endif 79 80 ifneq ($(PRESENT_TIME_OFFSET_FROM_VSYNC_NS),) 81 LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=$(PRESENT_TIME_OFFSET_FROM_VSYNC_NS) 82 else 83 LOCAL_CFLAGS += -DPRESENT_TIME_OFFSET_FROM_VSYNC_NS=0 84 endif 85 86 LOCAL_CFLAGS += -fvisibility=hidden -Werror=format 87 LOCAL_CFLAGS += -std=c++11 88 89 LOCAL_SHARED_LIBRARIES := \ 90 libcutils \ 91 liblog \ 92 libdl \ 93 libhardware \ 94 libutils \ 95 libEGL \ 96 libGLESv1_CM \ 97 libGLESv2 \ 98 libbinder \ 99 libui \ 100 libgui \ 101 libpowermanager 102 103 LOCAL_MODULE:= libsurfaceflinger 104 105 include $(BUILD_SHARED_LIBRARY) 106 107 ############################################################### 108 # build surfaceflinger's executable 109 include $(CLEAR_VARS) 110 111 LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" 112 113 LOCAL_SRC_FILES:= \ 114 main_surfaceflinger.cpp 115 116 LOCAL_SHARED_LIBRARIES := \ 117 libsurfaceflinger \ 118 libcutils \ 119 liblog \ 120 libbinder \ 121 libutils 122 123 LOCAL_MODULE:= surfaceflinger 124 125 ifdef TARGET_32_BIT_SURFACEFLINGER 126 LOCAL_32_BIT_ONLY := true 127 endif 128 129 include $(BUILD_EXECUTABLE) 130 131 ############################################################### 132 # uses jni which may not be available in PDK 133 ifneq ($(wildcard libnativehelper/include),) 134 include $(CLEAR_VARS) 135 LOCAL_CFLAGS:= -DLOG_TAG=\"SurfaceFlinger\" 136 137 LOCAL_SRC_FILES:= \ 138 DdmConnection.cpp 139 140 LOCAL_SHARED_LIBRARIES := \ 141 libcutils \ 142 liblog \ 143 libdl 144 145 LOCAL_MODULE:= libsurfaceflinger_ddmconnection 146 147 include $(BUILD_SHARED_LIBRARY) 148 endif # libnativehelper 149