xref: /OK3568_Linux_fs/external/linux-rga/Android.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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