1# 2# Copyright (C) 2018 Fuzhou Rockchip Electronics Co., Ltd. All rights reserved. 3# Authors: 4# lihuang <putin.li@rock-chips.com> 5# libin <bin.li@rock-chips.com> 6# 7# This program is free software: you can redistribute it and/or modify 8# it under the terms of the GNU General Public License as published by 9# the Free Software Foundation, either version 3 of the License, or 10# (at your option) any later version. 11# 12# This program is distributed in the hope that it will be useful, 13# but WITHOUT ANY WARRANTY; without even the implied warranty of 14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15# GNU General Public License for more details. 16# 17# You should have received a copy of the GNU General Public License 18# along with this program. If not, see <http://www.gnu.org/licenses/>. 19# 20# BY DOWNLOADING, INSTALLING, COPYING, SAVING OR OTHERWISE USING THIS SOFTWARE, 21# YOU ACKNOWLEDGE THAT YOU AGREE THE SOFTWARE RECEIVED FORM ROCKCHIP IS PROVIDED 22# TO YOU ON AN "AS IS" BASIS and ROCKCHP DISCLAIMS ANY AND ALL WARRANTIES AND 23# REPRESENTATIONS WITH RESPECT TO SUCH FILE, WHETHER EXPRESS, IMPLIED, STATUTORY 24# OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF TITLE, 25# NON-INFRINGEMENT, MERCHANTABILITY, SATISFACTROY QUALITY, ACCURACY OR FITNESS FOR 26# A PARTICULAR PURPOSE. 27# 28 29LOCAL_PATH:= $(call my-dir) 30 31ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \< 28))) 32 33ifneq ($(strip $(BOARD_USE_DRM)), true) 34include $(CLEAR_VARS) 35 36LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 37 38LOCAL_CFLAGS += -DROCKCHIP_GPU_LIB_ENABLE 39 40ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \> 25))) 41LOCAL_CFLAGS += -DUSE_AHARDWAREBUFFER=1 42endif 43 44#LOCAL_CFLAGS += -Wall -Werror -Wunreachable-code 45 46LOCAL_C_INCLUDES += external/tinyalsa/include 47LOCAL_C_INCLUDES += hardware/rockchip/libgralloc 48LOCAL_C_INCLUDES += hardware/rk29/libgralloc_ump 49LOCAL_C_INCLUDES += hardware/libhardware/include/hardware 50LOCAL_C_INCLUDES += $(LOCAL_PATH)/include 51LOCAL_C_INCLUDES += $(LOCAL_PATH)/im2d_api 52LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/utils 53LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/3rdparty/libdrm/include/drm 54LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/hardware 55 56LOCAL_CFLAGS := \ 57 -DLOG_TAG=\"librga\" 58 59LOCAL_SHARED_LIBRARIES := \ 60 libcutils \ 61 liblog \ 62 libutils \ 63 libbinder \ 64 libui \ 65 libEGL \ 66 libGLESv1_CM \ 67 libgui \ 68 libhardware 69 70#has no "external/stlport" from Android 6.0 on 71ifeq (1,$(strip $(shell expr $(PLATFORM_VERSION) \< 6.0))) 72LOCAL_C_INCLUDES += \ 73 external/stlport/stlport 74 75LOCAL_SHARED_LIBRARIES += \ 76 libstlport 77 78LOCAL_C_INCLUDES += bionic 79endif 80 81LOCAL_SRC_FILES:= \ 82 core/utils/android_utils/src/android_utils.cpp \ 83 core/utils/drm_utils/src/drm_utils.cpp \ 84 core/utils/utils.cpp \ 85 core/RockchipRga.cpp \ 86 core/GrallocOps.cpp \ 87 core/NormalRga.cpp \ 88 core/NormalRgaApi.cpp \ 89 core/RgaApi.cpp \ 90 core/RgaUtils.cpp \ 91 core/rga_sync.cpp \ 92 im2d_api/src/im2d_log.cpp \ 93 im2d_api/src/im2d_impl.cpp \ 94 im2d_api/src/im2d.cpp 95 96ifneq (1,$(strip $(shell expr $(PLATFORM_VERSION) \< 6.0))) 97ifeq ($(strip $(TARGET_BOARD_PLATFORM_GPU)), mali-t720) 98LOCAL_CFLAGS += -DMALI_PRODUCT_ID_T72X=1 99LOCAL_CFLAGS += -DMALI_AFBC_GRALLOC=0 100endif 101 102ifeq ($(strip $(TARGET_BOARD_PLATFORM_GPU)), mali-t760) 103LOCAL_CFLAGS += -DMALI_PRODUCT_ID_T76X=1 104LOCAL_CFLAGS += -DMALI_AFBC_GRALLOC=1 105endif 106 107ifeq ($(strip $(TARGET_BOARD_PLATFORM_GPU)), mali-t860) 108LOCAL_CFLAGS += -DMALI_PRODUCT_ID_T86X=1 109LOCAL_CFLAGS += -DMALI_AFBC_GRALLOC=1 110endif 111endif #android 6.0 and later 112 113ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3368) 114LOCAL_CFLAGS += -DRK3368 115endif 116 117ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3188) 118LOCAL_CFLAGS += -DRK3188 119endif 120 121ifeq ($(strip $(GRAPHIC_MEMORY_PROVIDER)),dma_buf) 122LOCAL_CFLAGS += -DUSE_DMA_BUF 123endif 124 125LOCAL_MODULE:= librga 126include $(BUILD_SHARED_LIBRARY) 127endif #end of BOARD_USE_DRM=false 128############################################################################################# 129 130############################################################################################# 131ifeq ($(strip $(BOARD_USE_DRM)), true) 132include $(CLEAR_VARS) 133 134LOCAL_SRC_FILES += \ 135 core/utils/android_utils/src/android_utils.cpp \ 136 core/utils/drm_utils/src/drm_utils.cpp \ 137 core/utils/utils.cpp \ 138 core/RockchipRga.cpp \ 139 core/GrallocOps.cpp \ 140 core/NormalRga.cpp \ 141 core/NormalRgaApi.cpp \ 142 core/RgaApi.cpp \ 143 core/RgaUtils.cpp \ 144 core/rga_sync.cpp \ 145 im2d_api/src/im2d_log.cpp \ 146 im2d_api/src/im2d_impl.cpp \ 147 im2d_api/src/im2d.cpp 148 149LOCAL_MODULE := librga 150LOCAL_PROPRIETARY_MODULE := true 151LOCAL_C_INCLUDES += external/libdrm/rockchip 152LOCAL_C_INCLUDES += hardware/rockchip/libgralloc 153LOCAL_C_INCLUDES += hardware/rk29/libgralloc_ump 154LOCAL_C_INCLUDES += hardware/libhardware/include/hardware 155LOCAL_C_INCLUDES += hardware/libhardware/modules/gralloc 156LOCAL_C_INCLUDES += frameworks/native/libs/nativewindow/include 157LOCAL_C_INCLUDES += $(LOCAL_PATH)/include 158LOCAL_C_INCLUDES += $(LOCAL_PATH)/im2d_api 159LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/utils 160LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/3rdparty/libdrm/include/drm 161LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/hardware 162 163LOCAL_SHARED_LIBRARIES := libdrm 164LOCAL_SHARED_LIBRARIES += \ 165 libdrm_rockchip \ 166 liblog \ 167 libui \ 168 libcutils \ 169 libhardware 170 171LOCAL_CFLAGS := \ 172 -DLOG_TAG=\"librga\" 173 174LOCAL_CFLAGS += -DANDROID 175 176ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \> 25))) 177LOCAL_CFLAGS += -DUSE_AHARDWAREBUFFER=1 178endif 179 180ifneq ($(strip $(TARGET_BOARD_PLATFORM)),rk3368) 181LOCAL_SHARED_LIBRARIES += libgralloc_drm 182endif 183 184ifneq (1,$(strip $(shell expr $(PLATFORM_VERSION) \< 6.9))) 185LOCAL_CFLAGS += -DANDROID_7_DRM 186LOCAL_CFLAGS += -DRK_DRM_GRALLOC=1 187endif 188 189ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3368) 190LOCAL_CFLAGS += -DRK3368 191endif 192 193ifeq ($(strip $(TARGET_BOARD_PLATFORM)),rk3126c) 194LOCAL_CFLAGS += -DRK3126C 195endif 196 197ifneq (1,$(strip $(shell expr $(PLATFORM_VERSION) \< 8.0))) 198LOCAL_CFLAGS += -DANDROID_8 199endif 200 201LOCAL_MODULE_TAGS := optional 202#LOCAL_MODULE_RELATIVE_PATH := hw 203LOCAL_MODULE_CLASS := SHARED_LIBRARIES 204LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX) 205 206include $(BUILD_SHARED_LIBRARY) 207endif #end of BOARD_USE_DRM = true 208############################################################################################# 209 210############################################################################################# 211ifeq ($(strip $(BOARD_USE_DRM)), future) 212ifeq ($(strip $(BOARD_USE_DRM)), true) 213include $(CLEAR_VARS) 214 215LOCAL_SRC_FILES += \ 216 core/utils/android_utils/src/android_utils.cpp \ 217 core/utils/drm_utils/src/drm_utils.cpp \ 218 core/utils/utils.cpp \ 219 core/RockchipRga.cpp \ 220 core/GrallocOps.cpp \ 221 drm/DrmmodeRga.cpp \ 222 core/RgaApi.cpp \ 223 core/RgaUtils.cpp \ 224 core/rga_sync.cpp \ 225 im2d_api/src/im2d_log.cpp \ 226 im2d_api/src/im2d_impl.cpp \ 227 im2d_api/src/im2d.cpp 228 229LOCAL_MODULE := librga 230 231LOCAL_C_INCLUDES += external/libdrm/rockchip 232LOCAL_C_INCLUDES += hardware/rockchip/libgralloc 233LOCAL_C_INCLUDES += hardware/rk29/libgralloc_ump 234LOCAL_C_INCLUDES += $(LOCAL_PATH)/drm 235LOCAL_C_INCLUDES += $(LOCAL_PATH)/include 236LOCAL_C_INCLUDES += $(LOCAL_PATH)/im2d_api 237LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/utils 238LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/3rdparty/libdrm/include/drm 239LOCAL_C_INCLUDES += $(LOCAL_PATH)/core/hardware 240 241LOCAL_SHARED_LIBRARIES := libdrm 242LOCAL_SHARED_LIBRARIES += \ 243 libdrm_rockchip \ 244 liblog \ 245 libui \ 246 libcutils \ 247 libhardware 248 249LOCAL_CFLAGS := \ 250 -DLOG_TAG=\"librga-drm\" 251 252ifeq (1,$(strip $(shell expr $(PLATFORM_SDK_VERSION) \> 25))) 253LOCAL_CFLAGS += -DUSE_AHARDWAREBUFFER=1 254endif 255 256LOCAL_MODULE_TAGS := optional 257#LOCAL_MODULE_RELATIVE_PATH := hw 258LOCAL_MODULE_CLASS := SHARED_LIBRARIES 259LOCAL_MODULE_SUFFIX := $(TARGET_SHLIB_SUFFIX) 260 261include $(BUILD_SHARED_LIBRARY) 262endif #end of BOARD_USE_DRM=true 263############################################################################################# 264endif #end of BOARD_USE_DRM=future it will be used when upstrean in the future 265 266endif #end of PLATFORM_SDK_VERSION < 28 267include $(call first-makefiles-under,$(LOCAL_PATH)) 268