blob: 89fe4a27304707645ed2a13fb2d1555d772aae9c [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001# Copyright Statement:
2#
3# This software/firmware and related documentation ("MediaTek Software") are
4# protected under relevant copyright laws. The information contained herein
5# is confidential and proprietary to MediaTek Inc. and/or its licensors.
6# Without the prior written permission of MediaTek inc. and/or its licensors,
7# any reproduction, modification, use or disclosure of MediaTek Software,
8# and information contained herein, in whole or in part, shall be strictly prohibited.
9
10# MediaTek Inc. (C) 2016. All rights reserved.
11#
12# BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
13# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
14# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
15# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
16# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
17# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
18# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
19# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
20# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
21# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
22# THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
23# CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
24# SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
25# STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
26# CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
27# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
28# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
29# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
30#
31# The following software/firmware and/or related documentation ("MediaTek Software")
32# have been modified by MediaTek Inc. All revisions are subject to any receiver's
33# applicable license agreements with MediaTek Inc.
34
35
36# Copyright 2005 The Android Open Source Project
37
38###############################################################################
39# Configuration
40###############################################################################
41#MTK_GPS_CHIP = MTK_GPS_MT6582
42###############################################################################
43# build start
44###############################################################################
45ifeq ($(MTK_GPS_SUPPORT), yes)
46LOCAL_PATH := $(call my-dir)
47
48###############################################################################
49# Define build path ,global defines and feature options by platform
50###############################################################################
51ifneq (,$(filter MT6885,$(MTK_PLATFORM)))
52MY_MNL_PATH := mnl/MNL_6_0
53LOCAL_CFLAGS += -DMNL_6_0
54else
55MY_MNL_PATH := mnl/MNL_6_1
56LOCAL_CFLAGS += -DMNL_6_1
57endif
58$(warning MNL_PATH1=$(MY_MNL_PATH))
59
60include $(CLEAR_VARS)
61LOCAL_MODULE:= libmnl_headers
62LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/$(MY_MNL_PATH)/inc
63include $(BUILD_HEADER_LIBRARY)
64$(warning libmnl_headers:$(LOCAL_EXPORT_C_INCLUDE_DIRS))
65
66ifneq (,$(filter MT6885,$(MTK_PLATFORM)))
67MY_MPE_PATH := mnl_mpe_interface_6_0
68else
69MY_MPE_PATH := mnl_mpe_interface_6_1
70endif
71$(warning MPE_PATH1=$(MY_MPE_PATH))
72
73include $(CLEAR_VARS)
74LOCAL_MODULE:= mpe_headers
75LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/$(MY_MPE_PATH)/inc
76include $(BUILD_HEADER_LIBRARY)
77$(warning mpe_headers:$(LOCAL_EXPORT_C_INCLUDE_DIRS))
78
79include $(CLEAR_VARS)
80MY_LOCAL_PATH := $(LOCAL_PATH)
81$(warning feature_option=$(MTK_GPS_CHIP))
82
83###############################################################################
84# Define build path ,global defines and feature options by platform
85###############################################################################
86ifneq (,$(filter MT6885,$(MTK_PLATFORM)))
87
88ifeq ($(TARGET_PRODUCT), full_k6885v1_64_md_gnss_sync)
89LOCAL_CFLAGS += -DMTK_MD_GNSS_SYNC
90endif
91
92ifeq ($(TARGET_PRODUCT), full_k6885v1_64_nsa_sa_mp3)
93LOCAL_CFLAGS += -DMTK_MD_GNSS_SYNC
94endif
95
96else
97LOCAL_CFLAGS += -DMTK_MD_GNSS_SYNC
98endif
99
100ifneq (,$(filter MT6885,$(MTK_PLATFORM)))
101LOCAL_CFLAGS += -DMTK_GPS_DUAL_FREQ_SUPPORT
102endif
103
104ifneq (,$(filter MT6885,$(MTK_PLATFORM)))
105MY_MNL_PATH := mnl/MNL_6_0
106LOCAL_CFLAGS += -DMNL_6_0
107else
108MY_MNL_PATH := mnl/MNL_6_1
109LOCAL_CFLAGS += -DMNL_6_1
110endif
111$(warning MNL_PATH2=$(MY_MNL_PATH))
112
113ifneq (,$(filter MT6885,$(MTK_PLATFORM)))
114MY_MPE_PATH := mnl_mpe_interface_6_0
115else
116MY_MPE_PATH := mnl_mpe_interface_6_1
117endif
118$(warning MPE_PATH2=$(MY_MPE_PATH))
119
120LOCAL_C_INCLUDES += \
121 $(LOCAL_PATH)/utility/inc \
122 $(LOCAL_PATH)/mnl_agps_interface/inc \
123 $(LOCAL_PATH)/mnl_at_cmd_interface/inc \
124 $(LOCAL_PATH)/mnl_flp_interface/inc \
125 $(LOCAL_PATH)/mnl_nlp_interface/inc \
126 $(LOCAL_PATH)/mnl_meta_interface/inc \
127 $(LOCAL_PATH)/mnl_debug_interface/inc \
128 $(LOCAL_PATH)/mnl_log_interface/inc \
129 $(LOCAL_PATH)/mnl_geofence_interface/inc \
130 $(LOCAL_PATH)/mnld_entity/inc \
131 $(LOCAL_PATH)/curl/inc \
132 $(MTK_PATH_SOURCE)/external/nvram/libnvram \
133 external/libxml2/include \
134 $(TOP)/system/core/libcutils/include_vndk \
135 $(MTK_PATH_SOURCE)/external/libudf/libladder \
136
137# MPE HIDL #
138LOCAL_C_INCLUDES += $(TOP)/frameworks/native/include
139LOCAL_C_INCLUDES += $(TOP)/frameworks/hardware/interfaces/sensorservice/libsensorndkbridge
140LOCAL_C_INCLUDES += $(TOP)/hardware/interfaces/sensors/1.0/default/include
141
142LOCAL_CFLAGS += -DGPS_SUSPEND_SUPPORT
143
144LOCAL_SRC_FILES := \
145 mnld_entity/src/mnl2hal_interface.c \
146 utility/src/data_coder.c \
147 utility/src/mtk_lbs_utility.c \
148 utility/src/mtk_socket_data_coder.c \
149 utility/src/mtk_socket_utils.c \
150 mnl_agps_interface/src/mnl_agps_interface.c \
151 mnl_agps_interface/src/mnl2agps_interface.c \
152 mnl_agps_interface/src/agps2mnl_interface.c \
153 mnl_flp_interface/src/mtk_flp_controller.c \
154 mnl_flp_interface/src/mtk_flp_main.c \
155 mnl_flp_interface/src/mtk_flp_mnl_interface.c \
156 mnl_flp_interface/src/mtk_flp_screen_monitor.c \
157 mnl_flp_interface/src/mnl_flp_test_interface.c \
158 mnl_geofence_interface/src/mtk_geofence_controller.c \
159 mnl_geofence_interface/src/mtk_geofence_main.c \
160 mnl_nlp_interface/src/Mnld2NlpUtilsInterface.c \
161 mnl_meta_interface/src/Meta2MnldInterface.c \
162 mnl_meta_interface/src/Meta2Mnld_logctrl_Interface.c \
163 mnl_debug_interface/src/Debug2MnldInterface.c \
164 mnl_debug_interface/src/Mnld2DebugInterface.c \
165 mnl_log_interface/src/LbsLogInterface.c \
166 mnl_at_cmd_interface/src/mnl_at_interface.c \
167 mnld_entity/src/mnld.c \
168 mnld_entity/src/mnld_uti.c \
169 mnld_entity/src/gps_controller.c \
170 mnld_entity/src/nmea_parser.c \
171 mnld_entity/src/epo.c \
172 mnld_entity/src/qepo.c \
173 mnld_entity/src/mtknav.c \
174 mnld_entity/src/mnl_common.c \
175 mnld_entity/src/op01_log.c \
176 mnld_entity/src/gps_dbg_log.c \
177 mnld_entity/src/mpe.c \
178 mnl/src/pseudo_mnl.c \
179 utility/src/mtk_mnld_dump.cpp \
180
181LOCAL_SRC_FILES += $(MY_MPE_PATH)/src/mpe_main.c
182LOCAL_SRC_FILES += $(MY_MPE_PATH)/src/mpe_logger.c
183LOCAL_SRC_FILES += $(MY_MPE_PATH)/src/mpe_sensor.cpp
184
185LOCAL_MODULE := mnld
186LOCAL_PROPRIETARY_MODULE := true
187LOCAL_MODULE_OWNER := mtk
188LOCAL_MULTILIB := 32
189LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
190# LOCAL_UNSTRIPPED_PATH := $(TARGET_ROOT_OUT_SBIN_UNSTRIPPED)
191#ifeq ($(MTK_TC1_FEATURE), yes)
192#ifeq ($(GPS_CO_CLOCK_DATA_IN_MD), yes)
193LOCAL_CFLAGS += -DMTK_GPS_CO_CLOCK_DATA_IN_MD
194#endif
195#endif
196ifeq ($(TARGET_BUILD_VARIANT), user)
197LOCAL_CFLAGS += -DCONFIG_GPS_USER_LOAD
198endif
199ifeq ($(TARGET_BUILD_VARIANT), userdebug)
200LOCAL_CFLAGS += -DCONFIG_GPS_USER_DBG_LOAD
201endif
202ifeq ($(TARGET_BUILD_VARIANT), eng)
203LOCAL_CFLAGS += -DCONFIG_GPS_ENG_LOAD
204endif
205ifeq ($(MTK_AGPS_APP), yes)
206LOCAL_CFLAGS += -DMTK_AGPS_SUPPORT
207endif
208LOCAL_STATIC_LIBRARIES += libsupl
209LOCAL_SHARED_LIBRARIES += libmnl libgeofence libcurl libcutils libc libm libnvram libcrypto libssl libz liblog libhardware libladder
210LOCAL_HEADER_LIBRARIES += libcutils_headers libmnl_headers mpe_headers
211
212LOCAL_EXPORT_HEADER_LIBRARY_HEADERS += libhardware_headers
213# MPE HIDL #
214LOCAL_SHARED_LIBRARIES += libDR libutils android.frameworks.sensorservice@1.0 android.hardware.sensors@1.0 libhidlbase libhidltransport libsensorndkbridge
215LOCAL_MODULE_TAGS := optional
216LOCAL_REQUIRED_MODULES := libmnl.so libgeofence.so
217include $(MTK_EXECUTABLE)
218include $(MY_LOCAL_PATH)/mnl/bin/Android.mk
219include $(MY_LOCAL_PATH)/curl/libs/Android.mk
220include $(MY_LOCAL_PATH)/$(MY_MNL_PATH)/libs/Android.mk
221$(warning $(MY_LOCAL_PATH)/$(MY_MNL_PATH)/libs/Android.mk)
222endif
223###############################################################################