183 lines
3.7 KiB
Makefile
183 lines
3.7 KiB
Makefile
# SlickEdit generated file. Do not edit this file except in designated areas.
|
|
# -----Begin user-editable area-----
|
|
# -----End user-editable area-----
|
|
|
|
# Make command to use for dependencies
|
|
|
|
export CHIP
|
|
|
|
ifndef CHIP
|
|
CHIP = ss524v100
|
|
endif
|
|
|
|
OSDRV_CROSS ?= arm-mix410-linux
|
|
|
|
TOOL_BIN := bin
|
|
TARGET=ARM
|
|
CPU_TiYPE=ARM
|
|
CROSS=$(OSDRV_CROSS)
|
|
OSDRV_CROSS_CFLAGS := -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -fstack-protector-strong -fPIE
|
|
OSDRV_CROSS_LDFLAGS ?= -Wl,-z,relro -Wl,-z,now -Wl,-z,noexecstack -fPIE -pie
|
|
|
|
USER_CFLAGS:=$(OSDRV_CROSS_CFLAGS)
|
|
|
|
PRODUCT=BSP
|
|
#CONFIG_GPIO_I2C =Y
|
|
|
|
CC = $(CROSS)-gcc
|
|
STRIP=$(CROSS)-strip
|
|
#
|
|
# Configuration: Debug
|
|
#
|
|
|
|
INCDIR=include
|
|
SRCDIR=source
|
|
OUTDIR=$(SRCDIR)
|
|
DRIVERDIR=driver
|
|
OUTFILE=btools
|
|
|
|
ifndef SRC_ROOT
|
|
export SRC_ROOT := $(PWD)/../../..
|
|
endif
|
|
|
|
CFG_INC=
|
|
|
|
CFG_INC +=-I$(INCDIR) \
|
|
-I$(INCDIR)/api\
|
|
-I$(INCDIR)/common \
|
|
-I$(INCDIR)/driver \
|
|
-I$(INCDIR)/message\
|
|
-I$(INCDIR)/mmf\
|
|
-I$(INCDIR)/os/linux \
|
|
-I$(INCDIR)/tools/zsptools \
|
|
-I$(INCDIR)/utils \
|
|
-I$(DRIVERDIR)/include \
|
|
|
|
CFG_LIB = -lpthread -lrt
|
|
CFG_LIB_X86=
|
|
CFG_LIB_ARM=$(OSDRV_CROSS_LDFLAGS)
|
|
CFG_OBJ=
|
|
|
|
COMMON_SRC=$(wildcard $(SRCDIR)/common/*.c)
|
|
COMMON_OBJ=$(patsubst %.c,$(SRCDIR)/%.o, $(notdir $(COMMON_SRC)))
|
|
|
|
SECURE_LIB = $(wildcard $(SRCDIR)/common/*.a)
|
|
|
|
BASE_OBJ=$(OUTDIR)/strfunc.o \
|
|
$(OUTDIR)/memmap.o \
|
|
$(OUTDIR)/argparser.o \
|
|
$(OUTDIR)/cmdshell.o
|
|
|
|
OBJ=$(CFG_OBJ) \
|
|
$(COMMON_OBJ) \
|
|
$(BASE_OBJ)
|
|
|
|
# below not add to lib
|
|
TOOLS_OBJ=
|
|
|
|
TOOLS_OBJ+=$(OUTDIR)/bspmd.o \
|
|
$(OUTDIR)/bspmm.o \
|
|
$(OUTDIR)/bspddrs.o \
|
|
$(OUTDIR)/i2c_ops.o \
|
|
$(OUTDIR)/ssp_rw.o
|
|
|
|
BTOOLS_OBJ = $(OUTDIR)/btools.o $(TOOLS_OBJ)
|
|
|
|
ALL_OBJ = $(OBJ) \
|
|
$(TOOLS_OBJ) \
|
|
$(BTOOLS_OBJ) \
|
|
$(BSPMD_OBJ) \
|
|
$(BSPMM_OBJ) \
|
|
$(BSPMC_OBJ) \
|
|
$(BSPVD_OBJ)
|
|
|
|
CFG_DEFS=-D$(CPU_TYPE)_CPU
|
|
|
|
CFG_DEFS +=-D$(CPU_TYPE)_CPU
|
|
|
|
ifeq ($(CONFIG_GPIO_I2C),Y)
|
|
CFG_DEFS +=-DGPIO_I2C
|
|
endif
|
|
|
|
COMPIER_FLAGS= -c -W
|
|
CFG_DEBUG = -g3
|
|
CFG_CFLAGS=-Wall -Wunused
|
|
|
|
ifeq ($(TARGET),X86)
|
|
CFG_LIB +=$(CFG_LIB_X86)
|
|
CFG_DEFS += -DTARGET_X86
|
|
else
|
|
CFG_LIB +=$(CFG_LIB_ARM)
|
|
CFG_LIB +=$(USER_CFLAGS)
|
|
CFG_DEFS +=-D__LINUX_ARM_ARCH__=7
|
|
#CFG_DEFS +=-mtune=arm9tdmi
|
|
CFG_DEFS += -DTARGET_ARM
|
|
CFG_CFLAGS +=-mlittle-endian
|
|
endif
|
|
|
|
CFG_DEFS += -D$(CHIP)
|
|
|
|
CFG_CFLAGS += $(USER_CFLAGS)
|
|
|
|
CFG_FLAGS = $(CFG_CFLAGS) $(CFG_DEBUG) $(CFG_INC) $(CFG_DEFS)
|
|
LINK_FLAGS = $(CFG_DEFS) $(CFG_DEBUG)
|
|
|
|
COMPILE=@$(CC) $(CFG_FLAGS) $(COMPIER_FLAGS) -o "$(OUTDIR)/$(*F).o" "$<"
|
|
LINK=$(CC) -o "$@" $(OBJ) $(CFG_LIB)
|
|
|
|
LINK_A=$(CC) -o "$@" $(OBJ) $(CFG_LIB) $(CFG_FLAGS)
|
|
|
|
# Pattern rules
|
|
$(OUTDIR)/%.o : $(SRCDIR)/utils/%.c
|
|
$(COMPILE)
|
|
|
|
$(OUTDIR)/%.o : $(SRCDIR)/common/%.c
|
|
$(COMPILE)
|
|
|
|
$(OUTDIR)/%.o : $(DRIVERDIR)/%.c
|
|
$(COMPILE)
|
|
|
|
$(OUTDIR)/%.o : $(DRIVERDIR)/memmap/%.c
|
|
$(COMPILE)
|
|
|
|
$(OUTDIR)/%.o : $(SRCDIR)/tools/%.c
|
|
$(COMPILE)
|
|
|
|
all: $(OUTDIR) $(ALL_OBJ) $(OUTFILE)
|
|
|
|
btools:$(OUTDIR) $(OBJ) $(BTOOLS_OBJ)
|
|
ifneq ($(SECURE_LIB), $(SRCDIR)/common/libsecurec-board.a)
|
|
ifneq ($(wildcard $(SRC_ROOT)/components/secure_c/lib/*.a),)
|
|
cp $(SRC_ROOT)/components/secure_c/lib/libsecurec-board.a ./source/common
|
|
else
|
|
$(warning you need to build libsecurec-board.a and copy it to ./source/common first!!! You can see readme)
|
|
$(error )
|
|
endif
|
|
endif
|
|
$(LINK) $(BTOOLS_OBJ) -lsecurec-board -L./source/common
|
|
$(STRIP) btools
|
|
ln -sf btools bspmd
|
|
ln -sf btools bspmd.l
|
|
ln -sf btools bspmm
|
|
ln -sf btools bspddrs
|
|
ln -sf btools i2c_read
|
|
ln -sf btools i2c_write
|
|
ln -sf btools ssp_read
|
|
ln -sf btools ssp_write
|
|
mkdir -p $(TOOL_BIN)/
|
|
mv bsp* $(TOOL_BIN)
|
|
mv i2c* $(TOOL_BIN)
|
|
mv ssp* $(TOOL_BIN)
|
|
mv btools $(TOOL_BIN)
|
|
|
|
# Clean this project
|
|
clean:
|
|
rm -rf $(TOOL_BIN)
|
|
rm -f $(OBJ)
|
|
rm -f $(OUTDIR)/*.o
|
|
|
|
# Clean this project and all dependencies
|
|
distclean: clean
|
|
rm -f $(SRCDIR)/common/libsecurec-board.a
|
|
|