blob: b4d91d1d628178f80f62649aae85d439d03842f7 [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.liu3743bce2024-03-22 19:27:58 +08006
7ROOT = $(BUILD_ROOT)/..
liubin281ac462023-07-19 14:22:54 +08008OUT_DIR = $(ROOT)/out
liubin281ac462023-07-19 14:22:54 +08009LOCAL_PATH=.
b.liua6a2bd12025-08-14 12:14:58 +080010HOME_DIR := $(shell echo ~)
liubin281ac462023-07-19 14:22:54 +080011
Mtek0512cc2ee502025-09-06 14:59:18 +080012ifneq ($(OPENWRT_SDK_BUILD),y)
b.liua6a2bd12025-08-14 12:14:58 +080013#BUILD_TOOLCHAIN_DIR = $(ROOT)/toolchain/gcc-$(BUILD_GCC_VERSION)-$(BUILD_STD_LIBC)
14BUILD_TOOLCHAIN_DIR = $(HOME_DIR)/openwrt_toolchains/gcc-$(BUILD_GCC_VERSION)-$(BUILD_STD_LIBC)
b.liudeb8e422024-12-14 17:36:56 +080015
b.liub3b923a2024-06-06 15:15:49 +080016ifeq ($(BUILD_STD_LIBC), glibc)
b.liub3b923a2024-06-06 15:15:49 +080017CC=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-gnueabi-gcc
18AR=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-gnueabi-ar
19else
b.liu17d7f8b2023-10-08 16:57:59 +080020CC=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-muslgnueabi-gcc
21AR=$(BUILD_TOOLCHAIN_DIR)/bin/arm-openwrt-linux-muslgnueabi-ar
b.liub3b923a2024-06-06 15:15:49 +080022endif
liubin281ac462023-07-19 14:22:54 +080023
Mtek0512cc2ee502025-09-06 14:59:18 +080024MAKE=make
25
26else
27BUILD_TOOLCHAIN_DIR := $(SYSROOT_DIR)
28
29AS := $(CROSS_COMPILE)as
30CC := $(CROSS_COMPILE)gcc
31CPP := $(CROSS_COMPILE)c++
32AR := $(CROSS_COMPILE)ar rv
33LD := $(CROSS_COMPILE)ld
34STRIP := $(CROSS_COMPILE)strip
35RANLIB := $(CROSS_COMPILE)ranlib
36
37OUT_DIR := $(OBJ_DIR)/..
38
39MAKE=make -j1 OPENWRT_SDK_BUILD="$(OPENWRT_SDK_BUILD)" \
40 MBTK_SOURCE_VERSION="$(MBTK_SOURCE_VERSION)" \
41 BUILD_LIB_TYPE="$(BUILD_LIB_TYPE)" \
42 CROSS_COMPILE="$(CROSS_COMPILE)" \
43 EXTRA_CFLAGS="$(EXTRA_CFLAGS)" \
44 LD_FLAGS="$(LD_FLAGS)" \
45 INSTALL_DIR="$(INSTALL_DIR)" \
46 SYSROOT_DIR="$(SYSROOT_DIR)" \
47 OBJ_DIR="$(OBJ_DIR)"
48
49MRVL_INC = \
50 -isystem $(MRVLDIR)/services/ril/include \
51 -isystem $(MRVLDIR)/services/audio/include \
52 -isystem $(MRVLDIR)/services/audio_if/include \
53 -isystem $(MRVLDIR)/services/audio/include/stub \
54 -isystem $(MRVLDIR)/services/audio/tinyalsa/include \
55 -isystem $(MRVLDIR)/services/audio/libaudio-apu \
56 -isystem $(MRVLDIR)/lte-telephony/apps/aud_sw/vcm_ipc
57
58endif
liubin281ac462023-07-19 14:22:54 +080059
60$(info BUILD_LIB_TYPE=$(BUILD_LIB_TYPE))
61$(info BUILD_PLATFORM=$(BUILD_PLATFORM))
b.liu5d5b8ba2024-02-20 14:00:33 +080062$(info BUILD_BRANCH=$(BUILD_BRANCH))
b.liuf37bd332024-03-18 13:51:24 +080063$(info BUILD_PROJECT=$(BUILD_PROJECT))
liubin281ac462023-07-19 14:22:54 +080064$(info ROOT=$(ROOT))
65$(info CC=$(CC))
66$(info AR=$(AR))
67
b.liu1c1c7212023-12-22 16:35:27 +080068# -Werror=non-virtual-dtor
b.liu08f38c62024-11-06 20:03:46 +080069#CFLAGS= --sysroot=$(BUILD_TOOLCHAIN_DIR) -Os -pipe -rdynamic -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 -Wno-sign-compare -Wno-pointer-arith
b.liudeb8e422024-12-14 17:36:56 +080070CFLAGS = --sysroot=$(BUILD_TOOLCHAIN_DIR) -Os -pipe -rdynamic -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -Wall -Werror -g -Wno-error=format
b.liu08f38c62024-11-06 20:03:46 +080071
b.liu355b1842024-11-21 16:23:53 +080072CFLAGS_TEST = --sysroot=$(BUILD_TOOLCHAIN_DIR) -Os -pipe -rdynamic -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 -Wno-sign-compare -Wno-pointer-arith
liubin281ac462023-07-19 14:22:54 +080073
74AWK=awk
75
76#CFLAGS += -Wno-error=format-truncation -Wno-error=format-overflow= -Wno-error=stringop-overread -Wno-error=deprecated-declarations
77
78INC_DIR = \
b.liu9a306862024-03-06 16:49:40 +080079 -I$(LOCAL_PATH)/ \
liubin281ac462023-07-19 14:22:54 +080080 -I$(LOCAL_PATH)/inc \
81 -I$(BUILD_ROOT)/include \
82 -I$(BUILD_ROOT)/include/mbtk \
83 -I$(BUILD_ROOT)/include/lynq \
84 -I$(BUILD_ROOT)/include/mqtt \
85 -I$(BUILD_ROOT)/include/ql
86
87# -DCONFIG_AB_SYSTEM
b.liub171c9a2024-11-12 19:23:29 +080088# -DMBTK_DUMP_SUPPORT
liubin281ac462023-07-19 14:22:54 +080089DEFINE = \
Mtek0512cc2ee502025-09-06 14:59:18 +080090 $(MRVL_INC) \
liubin281ac462023-07-19 14:22:54 +080091 -DMBTK_SUPPORT \
92 -DMARVELL_EXTENDED \
93 -DPXA1826_AUDIO \
94 -D__USE_GNU \
95 -DNOT_DROPPED_FLAGS_TEST \
96 -DNDEBUG \
97 -UDEBUG \
b.liu88831712023-10-10 15:26:32 +080098 -D_FORTIFY_SOURCE=2 \
b.liubcf86c92024-08-19 19:48:28 +080099 -D_GNU_SOURCE \
100 -DMBTK_BUILD_TIME=\""$(shell date +%Y/%m/%d\ %H:%M:%S)\"" \
101 -DMBTK_BUILD_GIT=\""$(shell git log | grep commit | head -1 | cut -d ' ' -f 2)\""
102
103#MBTK_BUILD_GIT="$(shell git log | grep commit | head -1 | cut -d ' ' -f 2)"
104#$(info MBTK_BUILD_GIT=$(MBTK_BUILD_GIT))
liubin281ac462023-07-19 14:22:54 +0800105
b.liu4f8e8792023-11-01 23:25:22 +0800106#$(info TOPDIR=$(TOPDIR))
b.liuf37bd332024-03-18 13:51:24 +0800107# BUILD_PROJECT=$(shell cat $(ROOT)/../build_version | grep PROJECT | cut -d '=' -f 2)
108#$(info BUILD_PROJECT=$(BUILD_PROJECT))
b.liu4f8e8792023-11-01 23:25:22 +0800109#BUILD_PROJECT_X=$(shell ${BUILD_PROJECT:0:4})
110#BUILD_PROJECT_X=$(shell echo $(BUILD_PROJECT) | cut -c 1-4)
111#$(info BUILD_PROJECT_X=$(BUILD_PROJECT_X))
112
yq.wangf75381b2024-10-09 23:00:23 -0700113DEFINE += -DMBTK_ALL_CID_SUPPORT
114
b.liu88370142024-12-23 14:11:57 +0800115ifeq ($(MBTK_SOURCE_VERSION), 2)
b.liubcf86c92024-08-19 19:48:28 +0800116DEFINE += -DMBTK_SOURCE_VERSION_2
117endif
118
b.liu9f91db32025-02-13 11:24:18 +0800119#ifeq ($(MBTK_DEV_INFO_VERSION), 2)
120#DEFINE += -DMBTK_DEV_INFO_VERSION_2
121#endif
b.liu472cfaf2024-12-19 19:08:19 +0800122
b.liu61ad9172025-01-09 14:33:55 +0800123ifeq ($(CONFIG_MBTK_5G_SUPPORT), Y)
124DEFINE += -DMBTK_5G_SUPPORT
125endif
126
liubin281ac462023-07-19 14:22:54 +0800127LIB_DIR = \
128 -L$(OUT_DIR)/lib
129
130LIBS = -lpthread -lstdc++
131
132# Common temp files to delete from each directory.
133TEMPFILES=core core.* *.o temp.* *.out