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