blob: 5cccc36951f2a72e13d68a5774cc686d39e9c722 [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
b.liu9a8e82b2023-10-10 16:09:50 +080057
b.liu3403c932023-10-10 16:26:35 +080058ifeq ($(BUILD_PLATFORM), asr1803)
b.liu9a8e82b2023-10-10 16:09:50 +080059DEFINE += -DMBTK_POLARSSL_SUPPORT
60endif
liubin281ac462023-07-19 14:22:54 +080061
62LIB_DIR = \
63 -L$(OUT_DIR)/lib
64
65LIBS = -lpthread -lstdc++
66
67# Common temp files to delete from each directory.
68TEMPFILES=core core.* *.o temp.* *.out