blob: ec95af1343e1765871ed002bb9e6a83a93b7c05e [file] [log] [blame]
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This hardware composer implements version 2.0. It is to be used as a reference
# guide for writing HWC 2.0 implementations. To enable, add
# "TARGET_USES_HWC2 := true" to flounder's BoardConfig.mk.
# It is a 2D HAL (no GL acceleration). Enabling it will degrade performance.
# To disable, remove "TARGET_USES_HWC2 := true" and run "make installclean"
ifeq ($(TARGET_USES_HWC2),true)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# HAL module implemenation, not prelinked and stored in
# hw/<OVERLAY_HARDWARE_MODULE_ID>.<ro.product.board>.so
LOCAL_MODULE_RELATIVE_PATH := hw
LOCAL_MODULE := hwcomposer.$(TARGET_BOOTLOADER_BOARD_NAME)
LOCAL_SHARED_LIBRARIES := \
liblog \
libutils \
libcutils
LOCAL_STATIC_LIBRARIES := \
libadfhwc \
libadf \
libbase
LOCAL_SRC_FILES := \
hwc2.cpp \
hwc2_dev.cpp \
hwc2_display.cpp \
hwc2_config.cpp \
hwc2_callback.cpp \
hwc2_layer.cpp \
hwc2_buffer.cpp \
hwc2_gralloc.cpp \
hwc2_window.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_MODLE_TAGS := optional
LOCAL_CFLAGS += -DLOG_TAG=\"hwcomposer\"
# The liboemcrypto.a prebuilt was built before we introduced the workaround for
# -Bsymbolic, so it was built without -fPIC. Work around this by using
# -Bsymbolic for projects that depend on it.
LOCAL_LDFLAGS := -Wl,-Bsymbolic
include $(BUILD_SHARED_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))
endif # TARGET_USES_HWC2