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