16a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# Copyright (C) 2008 The Android Open Source Project
26a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu#
36a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# Licensed under the Apache License, Version 2.0 (the "License");
46a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# you may not use this file except in compliance with the License.
56a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# You may obtain a copy of the License at
66a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu#
76a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu#      http://www.apache.org/licenses/LICENSE-2.0
86a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu#
96a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# Unless required by applicable law or agreed to in writing, software
106a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# distributed under the License is distributed on an "AS IS" BASIS,
116a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
126a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# See the License for the specific language governing permissions and
136a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu# limitations under the License.
146a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
15ccd45aee04a3a41d3853f297de08e9b36736b9dfPatrick Tjinifeq ($(INTEL_HWC_MOOREFIELD_HDMI),true)
16aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
176a6081a46a83da606cf21548879b37695adc7e1fAndy QiuLOCAL_PATH := $(call my-dir)
186a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
19aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu# HAL module implemenation, not prelinked and stored in
20aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu# hw/<OVERLAY_HARDWARE_MODULE_ID>.<ro.product.board>.so
21aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiuinclude $(CLEAR_VARS)
226a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
2371c8fc6eaa987974268744ba84d36392e9fc39b5Chih-Hung Hsieh# HwcModule.cpp uses GNU old-style field designator extension.
2471c8fc6eaa987974268744ba84d36392e9fc39b5Chih-Hung HsiehLOCAL_CLANG_CFLAGS += -Wno-gnu-designator
2571c8fc6eaa987974268744ba84d36392e9fc39b5Chih-Hung Hsieh
26aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
27aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_MODULE_TAGS := optional
28aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_MODULE := hwcomposer.$(TARGET_BOARD_PLATFORM)
29aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_CFLAGS := -Werror
306a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
31aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_SHARED_LIBRARIES := liblog libcutils libdrm \
32aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu                          libwsbm libutils libhardware \
33aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu                          libva libva-tpi libva-android libsync
34aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
35aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_SRC_FILES := \
36aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/base/Drm.cpp \
37aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/base/HwcLayer.cpp \
38aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/base/HwcLayerList.cpp \
39aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/base/Hwcomposer.cpp \
40aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/base/HwcModule.cpp \
41aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/base/DisplayAnalyzer.cpp \
42aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/buffers/BufferCache.cpp \
43aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/buffers/GraphicBuffer.cpp \
44aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/buffers/BufferManager.cpp \
45aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/devices/DummyDevice.cpp \
46aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/devices/PhysicalDevice.cpp \
47aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/devices/PrimaryDevice.cpp \
48aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/devices/ExternalDevice.cpp \
49aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/observers/UeventObserver.cpp \
50aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/observers/VsyncEventObserver.cpp \
51aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/observers/SoftVsyncObserver.cpp \
52aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/planes/DisplayPlane.cpp \
53aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/planes/DisplayPlaneManager.cpp \
54aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    common/utils/Dump.cpp
55aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
56aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_SRC_FILES += \
57aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/BlankControl.cpp \
58aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/HdcpControl.cpp \
59aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/DrmControl.cpp \
60aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/VsyncControl.cpp \
61aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/OverlayPlaneBase.cpp \
62aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/SpritePlaneBase.cpp \
63aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/PixelFormat.cpp \
64aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/GrallocBufferBase.cpp \
65aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/GrallocBufferMapperBase.cpp \
66aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/TTMBufferMapper.cpp \
67aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/DrmConfig.cpp \
68aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/Wsbm.cpp \
69aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/WsbmWrapper.c \
70aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/common/RotationBufferProvider.cpp
71aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
72aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_SRC_FILES += \
73aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/tangier/TngGrallocBuffer.cpp \
74aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/tangier/TngGrallocBufferMapper.cpp \
75aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/tangier/TngDisplayQuery.cpp \
76aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/tangier/TngDisplayContext.cpp
77aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
78aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_SRC_FILES += \
79aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/anniedale/AnnPlaneManager.cpp \
80aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/anniedale/AnnOverlayPlane.cpp \
81aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/anniedale/AnnRGBPlane.cpp \
82a6ca0e98674e3f1b0a7239f6e775cae2f667fe5cLei Zhang    ips/anniedale/AnnCursorPlane.cpp \
83aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    ips/anniedale/PlaneCapabilities.cpp
84aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
85aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_SRC_FILES += \
86aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    platforms/merrifield_plus/PlatfBufferManager.cpp \
87aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    platforms/merrifield_plus/PlatfPrimaryDevice.cpp \
88aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    platforms/merrifield_plus/PlatfExternalDevice.cpp \
89aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    platforms/merrifield_plus/PlatfHwcomposer.cpp
90aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
91aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy QiuLOCAL_C_INCLUDES := \
92aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    $(LOCAL_PATH)/include \
9388ad3d3051f486e2313361f65e934d93bee2bddaByron Gardner    $(LOCAL_PATH)/include/pvr/hal \
94aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    $(TARGET_OUT_HEADERS)/libdrm \
95aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    $(TARGET_OUT_HEADERS)/libwsbm/wsbm \
96aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu    $(TARGET_OUT_HEADERS)/libttm \
9788ad3d3051f486e2313361f65e934d93bee2bddaByron Gardner    frameworks/native/include/media/openmax
98aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
99aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiuifeq ($(TARGET_SUPPORT_HDMI_PRIMARY),true)
100aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu   LOCAL_CFLAGS += -DINTEL_SUPPORT_HDMI_PRIMARY
101f6d5b36e320f093f08855d64fa3d565eacae3c4bJackie Liendif
1026a6081a46a83da606cf21548879b37695adc7e1fAndy Qiu
103bacdfbde97131d12c92bf832ce9d7db6de4598d8Vinil CheeramvelilLOCAL_COPY_HEADERS := \
104bacdfbde97131d12c92bf832ce9d7db6de4598d8Vinil Cheeramvelil include/pvr/hal/hal_public.h \
105bacdfbde97131d12c92bf832ce9d7db6de4598d8Vinil Cheeramvelil include/pvr/hal/img_gralloc_public.h
106bacdfbde97131d12c92bf832ce9d7db6de4598d8Vinil CheeramvelilLOCAL_COPY_HEADERS_TO := pvr/hal
10788ad3d3051f486e2313361f65e934d93bee2bddaByron Gardner
108aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiuinclude $(BUILD_SHARED_LIBRARY)
109aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiu
110aca1af6bab5f1aab3a7d2851e1c27253a3ed6b80Andy Qiuendif
111