45 lines
1.3 KiB
Makefile
45 lines
1.3 KiB
Makefile
# RTU_ALL_AI — 公共编译选项
|
||
# 模块 makefile 通过 include 本文件获取 CC/CXX/C_FLAGS 等变量
|
||
|
||
# ------ x86 默认 ------
|
||
CROSS_COMPILE :=
|
||
GCCLIB_PATH := /usr/bin
|
||
ARCH := x86
|
||
BUILD_TYPE := x86
|
||
|
||
# ------ ARM 交叉编译 ------
|
||
ifeq ($(CROSS), arm)
|
||
$(info ===> ARM 交叉编译)
|
||
CROSS_COMPILE := aarch64-buildroot-linux-gnu-
|
||
GCCLIB_PATH := /opt/atk-dlrk356x-toolchain/bin
|
||
ARCH := arm
|
||
BUILD_TYPE := arm
|
||
endif
|
||
|
||
# ------ 工具链 ------
|
||
CC := $(GCCLIB_PATH)/$(CROSS_COMPILE)gcc
|
||
CXX := $(GCCLIB_PATH)/$(CROSS_COMPILE)g++
|
||
LD := $(GCCLIB_PATH)/$(CROSS_COMPILE)ld
|
||
AR := $(GCCLIB_PATH)/$(CROSS_COMPILE)ar
|
||
|
||
# ------ 路径(模块 makefile 位于 release/src/layer/module/,上溯4级到根)------
|
||
ROOT_DIR := $(realpath $(CURDIR)/../../../../)
|
||
REL_ROOT_DIR := $(ROOT_DIR)/release/$(BUILD_TYPE)
|
||
SRC_ROOT_DIR := $(ROOT_DIR)/src
|
||
REL_INC := -I$(ROOT_DIR)/release/inc
|
||
|
||
# ------ 编译选项 ------
|
||
C_FLAGS := $(REL_INC) -Wall -g
|
||
CXX_FLAGS := $(REL_INC) -std=c++11 -Wall -g
|
||
ifeq ($(CROSS), arm)
|
||
C_FLAGS += -DRK356x -mno-outline-atomics
|
||
CXX_FLAGS += -DRK356x -mno-outline-atomics -fno-threadsafe-statics
|
||
endif
|
||
|
||
# ------ 产物路径 ------
|
||
LIB_REL := $(REL_ROOT_DIR)/lib
|
||
EXE_REL := $(REL_ROOT_DIR)/exe
|
||
|
||
export CC CXX LD AR ARCH C_FLAGS CXX_FLAGS
|
||
export ROOT_DIR REL_ROOT_DIR SRC_ROOT_DIR REL_INC LIB_REL EXE_REL
|