blob: 55084fcf5ecaaa1295cdca3137a02421889d1b97 [file] [log] [blame]
liubin281ac462023-07-19 14:22:54 +08001# Common make definitions, customized for each platform
2
3# Definitions required in all program directories to compile and link
4# C programs using gcc.
5
b.liu3403c932023-10-10 16:26:35 +08006
liubin281ac462023-07-19 14:22:54 +08007OUT_DIR = $(ROOT)/out
8BUILD_ROOT = $(ROOT)/mbtk
liubin281ac462023-07-19 14:22:54 +08009LOCAL_PATH=.
10
b.liu3403c932023-10-10 16:26:35 +080011ifeq ($(BUILD_PLATFORM), asr1803)
b.liu5d5b8ba2024-02-20 14:00:33 +080012ifeq ($(BUILD_BRANCH), rls3895)
13BUILD_TOOLCHAIN_DIR = $(ROOT)/toolchain/gcc-4.9-rls3895
14else
b.liu3403c932023-10-10 16:26:35 +080015BUILD_TOOLCHAIN_DIR = $(ROOT)/toolchain/gcc-4.9
b.liu5d5b8ba2024-02-20 14:00:33 +080016endif
liubin281ac462023-07-19 14:22:54 +080017CC=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-uclibcgnueabi-gcc
18AR=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-uclibcgnueabi-ar
b.liu3403c932023-10-10 16:26:35 +080019else ifeq ($(BUILD_PLATFORM), asr1806)
b.liu5d5b8ba2024-02-20 14:00:33 +080020
b.liu3403c932023-10-10 16:26:35 +080021BUILD_TOOLCHAIN_DIR = $(ROOT)/toolchain/gcc-8.4
b.liu5d5b8ba2024-02-20 14:00:33 +080022
b.liu17d7f8b2023-10-08 16:57:59 +080023CC=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-muslgnueabi-gcc
24AR=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-muslgnueabi-ar
liubin281ac462023-07-19 14:22:54 +080025else
26CC=gcc
27AR=ar
28endif
29
30MAKE=make
31
32$(info BUILD_LIB_TYPE=$(BUILD_LIB_TYPE))
33$(info BUILD_PLATFORM=$(BUILD_PLATFORM))
b.liu5d5b8ba2024-02-20 14:00:33 +080034$(info BUILD_BRANCH=$(BUILD_BRANCH))
liubin281ac462023-07-19 14:22:54 +080035$(info ROOT=$(ROOT))
36$(info CC=$(CC))
37$(info AR=$(AR))
38
b.liu1c1c7212023-12-22 16:35:27 +080039# -Werror=non-virtual-dtor
40CFLAGS= --sysroot=$(BUILD_TOOLCHAIN_DIR) -Os -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -mfloat-abi=hard -fno-exceptions -Wno-multichar -ffunction-sections -fdata-sections -funwind-tables -Wa,--noexecstack -fno-short-enums -no-canonical-prefixes -fno-canonical-system-headers -mfpu=neon -fno-builtin-sin -fno-strict-volatile-bitfields -Wno-psabi -mthumb-interwork -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -g -Wstrict-aliasing=2 -fgcse-after-reload -frerun-cse-after-loop -frename-registers -mthumb -fomit-frame-pointer -fno-strict-aliasing -Werror=format-security -Werror=return-type -Werror=address -Werror=sequence-point -ffunction-sections -Wl,--gc-sections -Wl,--no-undefined
liubin281ac462023-07-19 14:22:54 +080041
42AWK=awk
43
44#CFLAGS += -Wno-error=format-truncation -Wno-error=format-overflow= -Wno-error=stringop-overread -Wno-error=deprecated-declarations
45
46INC_DIR = \
47 -I$(LOCAL_PATH)/inc \
48 -I$(BUILD_ROOT)/include \
49 -I$(BUILD_ROOT)/include/mbtk \
50 -I$(BUILD_ROOT)/include/lynq \
51 -I$(BUILD_ROOT)/include/mqtt \
52 -I$(BUILD_ROOT)/include/ql
53
54# -DCONFIG_AB_SYSTEM
55DEFINE = \
56 -DMBTK_SUPPORT \
57 -DMARVELL_EXTENDED \
58 -DPXA1826_AUDIO \
59 -D__USE_GNU \
60 -DNOT_DROPPED_FLAGS_TEST \
61 -DNDEBUG \
62 -UDEBUG \
b.liu88831712023-10-10 15:26:32 +080063 -D_FORTIFY_SOURCE=2 \
64 -D_GNU_SOURCE
liubin281ac462023-07-19 14:22:54 +080065
b.liu4f8e8792023-11-01 23:25:22 +080066#$(info TOPDIR=$(TOPDIR))
67BUILD_PROJECT=$(shell cat $(ROOT)/../build_version | grep PROJECT | cut -d '=' -f 2)
68$(info BUILD_PROJECT=$(BUILD_PROJECT))
69#BUILD_PROJECT_X=$(shell ${BUILD_PROJECT:0:4})
70#BUILD_PROJECT_X=$(shell echo $(BUILD_PROJECT) | cut -c 1-4)
71#$(info BUILD_PROJECT_X=$(BUILD_PROJECT_X))
72
b.liu03c74662023-11-17 16:09:48 +080073ifeq ($(BUILD_PLATFORM), asr1806)
74DEFINE += -DMBTK_PLATFORM_ASR1806
75
b.liu43da3412023-11-08 15:58:39 +080076ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-7), L508_X6)
77$(info BUILD_PROJECT=L508_X6)
78DEFINE += -DMBTK_PROJECT_L508_X6
79else
80ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-4), T108)
81$(info BUILD_PROJECT=T108)
82DEFINE += -DMBTK_PROJECT_T108
83else
b.liu03c74662023-11-17 16:09:48 +080084$(info BUILD_PROJECT=Unknown)
85endif
86endif
87else
88DEFINE += -DMBTK_POLARSSL_SUPPORT
b.liu5d5b8ba2024-02-20 14:00:33 +080089
90ifeq ($(BUILD_BRANCH), rls3671)
b.liu03c74662023-11-17 16:09:48 +080091DEFINE += -DMBTK_MP3_SUPPORT
b.liu5d5b8ba2024-02-20 14:00:33 +080092endif
93
b.liu03c74662023-11-17 16:09:48 +080094DEFINE += -DMBTK_PLATFORM_ASR1803
95
b.liu4f8e8792023-11-01 23:25:22 +080096ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-4), L508)
97$(info BUILD_PROJECT=L508)
98DEFINE += -DMBTK_PROJECT_L508
99else
100ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-4), L509)
101$(info BUILD_PROJECT=L509)
102DEFINE += -DMBTK_PROJECT_L509
103else
104ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-6), PN1803)
105$(info BUILD_PROJECT=PN1803)
106DEFINE += -DMBTK_PROJECT_PN1803
107endif
108endif
109endif
b.liu43da3412023-11-08 15:58:39 +0800110endif
b.liu4f8e8792023-11-01 23:25:22 +0800111
b.liu5fa9e772023-11-23 18:00:55 +0800112MBTK_AT_SUPPORT=$(shell cat $(ROOT)/config | grep CONFIG_AT_SUPPORT | cut -d '=' -f 2)
113$(info MBTK_AT_SUPPORT=$(MBTK_AT_SUPPORT))
114ifeq ($(MBTK_AT_SUPPORT), y)
115DEFINE += -DMBTK_AF_SUPPORT
116endif
117
b.liuc7ffd092024-01-03 15:23:07 +0800118MBTK_YX_SUPPORT=$(shell cat $(ROOT)/config | grep CONFIG_YX_SUPPORT | cut -d '=' -f 2)
119$(info MBTK_YX_SUPPORT=$(MBTK_YX_SUPPORT))
120ifeq ($(MBTK_YX_SUPPORT), y)
121DEFINE += -DMBTK_YX_SUPPORT
122endif
123
b.liu5fa9e772023-11-23 18:00:55 +0800124MBTK_GNSS_MODE=$(shell cat $(ROOT)/config | grep CONFIG_MBTK_GNSS_MODE | cut -d '=' -f 2)
125$(info MBTK_GNSS_MODE=$(MBTK_GNSS_MODE))
126ifeq ($(MBTK_GNSS_MODE), gnss_6228)
127DEFINE += -DMBTK_GNSS_6228
128else
129DEFINE += -DMBTK_GNSS_5311
130endif
wangyouqianged88c722023-11-22 16:33:43 +0800131
liubin281ac462023-07-19 14:22:54 +0800132LIB_DIR = \
133 -L$(OUT_DIR)/lib
134
135LIBS = -lpthread -lstdc++
136
137# Common temp files to delete from each directory.
138TEMPFILES=core core.* *.o temp.* *.out