blob: fbd4cd1e0a43dd8edfdc38846f4111fa1aa86f70 [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)
12BUILD_TOOLCHAIN_DIR = $(ROOT)/toolchain/gcc-4.9
liubin281ac462023-07-19 14:22:54 +080013CC=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-uclibcgnueabi-gcc
14AR=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-uclibcgnueabi-ar
b.liu3403c932023-10-10 16:26:35 +080015else ifeq ($(BUILD_PLATFORM), asr1806)
16BUILD_TOOLCHAIN_DIR = $(ROOT)/toolchain/gcc-8.4
b.liu17d7f8b2023-10-08 16:57:59 +080017CC=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-muslgnueabi-gcc
18AR=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-muslgnueabi-ar
liubin281ac462023-07-19 14:22:54 +080019else
20CC=gcc
21AR=ar
22endif
23
24MAKE=make
25
26$(info BUILD_LIB_TYPE=$(BUILD_LIB_TYPE))
27$(info BUILD_PLATFORM=$(BUILD_PLATFORM))
28$(info ROOT=$(ROOT))
29$(info CC=$(CC))
30$(info AR=$(AR))
31
32CFLAGS= --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=non-virtual-dtor -Werror=address -Werror=sequence-point -ffunction-sections -Wl,--gc-sections -Wl,--no-undefined
33
34AWK=awk
35
36#CFLAGS += -Wno-error=format-truncation -Wno-error=format-overflow= -Wno-error=stringop-overread -Wno-error=deprecated-declarations
37
38INC_DIR = \
39 -I$(LOCAL_PATH)/inc \
40 -I$(BUILD_ROOT)/include \
41 -I$(BUILD_ROOT)/include/mbtk \
42 -I$(BUILD_ROOT)/include/lynq \
43 -I$(BUILD_ROOT)/include/mqtt \
44 -I$(BUILD_ROOT)/include/ql
45
46# -DCONFIG_AB_SYSTEM
47DEFINE = \
48 -DMBTK_SUPPORT \
49 -DMARVELL_EXTENDED \
50 -DPXA1826_AUDIO \
51 -D__USE_GNU \
52 -DNOT_DROPPED_FLAGS_TEST \
53 -DNDEBUG \
54 -UDEBUG \
b.liu88831712023-10-10 15:26:32 +080055 -D_FORTIFY_SOURCE=2 \
56 -D_GNU_SOURCE
liubin281ac462023-07-19 14:22:54 +080057
b.liu4f8e8792023-11-01 23:25:22 +080058#$(info TOPDIR=$(TOPDIR))
59BUILD_PROJECT=$(shell cat $(ROOT)/../build_version | grep PROJECT | cut -d '=' -f 2)
60$(info BUILD_PROJECT=$(BUILD_PROJECT))
61#BUILD_PROJECT_X=$(shell ${BUILD_PROJECT:0:4})
62#BUILD_PROJECT_X=$(shell echo $(BUILD_PROJECT) | cut -c 1-4)
63#$(info BUILD_PROJECT_X=$(BUILD_PROJECT_X))
64
b.liu03c74662023-11-17 16:09:48 +080065ifeq ($(BUILD_PLATFORM), asr1806)
66DEFINE += -DMBTK_PLATFORM_ASR1806
67
b.liu43da3412023-11-08 15:58:39 +080068ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-7), L508_X6)
69$(info BUILD_PROJECT=L508_X6)
70DEFINE += -DMBTK_PROJECT_L508_X6
71else
72ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-4), T108)
73$(info BUILD_PROJECT=T108)
74DEFINE += -DMBTK_PROJECT_T108
75else
b.liu03c74662023-11-17 16:09:48 +080076$(info BUILD_PROJECT=Unknown)
77endif
78endif
79else
80DEFINE += -DMBTK_POLARSSL_SUPPORT
81DEFINE += -DMBTK_MP3_SUPPORT
82DEFINE += -DMBTK_PLATFORM_ASR1803
83
b.liu4f8e8792023-11-01 23:25:22 +080084ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-4), L508)
85$(info BUILD_PROJECT=L508)
86DEFINE += -DMBTK_PROJECT_L508
87else
88ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-4), L509)
89$(info BUILD_PROJECT=L509)
90DEFINE += -DMBTK_PROJECT_L509
91else
92ifeq ($(shell echo $(BUILD_PROJECT) | cut -c 1-6), PN1803)
93$(info BUILD_PROJECT=PN1803)
94DEFINE += -DMBTK_PROJECT_PN1803
95endif
96endif
97endif
b.liu03c74662023-11-17 16:09:48 +080098
b.liu43da3412023-11-08 15:58:39 +080099endif
b.liu4f8e8792023-11-01 23:25:22 +0800100
wangyouqianged88c722023-11-22 16:33:43 +0800101# Only for AF custom.
102# DEFINE += -DMBTK_AF_SUPPORT
103
liubin281ac462023-07-19 14:22:54 +0800104LIB_DIR = \
105 -L$(OUT_DIR)/lib
106
107LIBS = -lpthread -lstdc++
108
109# Common temp files to delete from each directory.
110TEMPFILES=core core.* *.o temp.* *.out