Files
gk-sdk/source/trusted-firmware/trusted-firmware-a-2.8/plat/lotus/xmfalcon/str_bit/Makefile
T

68 lines
1.5 KiB
Makefile
Executable File

#===============================================================================
# export variables
#===============================================================================
TARGET := str_bit
LOAD_ADDR = 0x0
#
# Include the make variables (CC, etc...)
#
AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
LDR = $(CROSS_COMPILE)ldr
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
RANLIB = $(CROSS_COMPILE)RANLIB
PHONY: help
GREEN="\e[32;1m"
NORMAL="\e[39m"
RED="\e[31m"
LDSCRIPT := linker.lds
LDFLAGS := -Bstatic -T $(LDSCRIPT) -Ttext $(LOAD_ADDR)
CFLAGS += -march=armv8-a -Wall -g -c -fPIC -nostdinc -fno-builtin
SFLAGS := $(CFLAGS)
CSRC = ${wildcard *.c lib/*.c}
ASRC = $(wildcard *.S lib/*.S)
COBJS := $(patsubst %.c, %.o, $(CSRC))
AOBJS += $(patsubst %.S, %.o, $(ASRC))
COBJS:=$(COBJS:%.C=%.o)
AOBJS:=$(AOBJS:%.S=%.o)
all: $(AOBJS) $(COBJS)
$(LD) $^ $(LDFLAGS) -Map $(TARGET).map -o $(TARGET).elf
$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
$(OBJDUMP) $(TARGET).elf -S -D >$(TARGET).dump
help:
@echo -e ${GREEN}
@echo "make CROSS_COMPILE=aarch64-gcc12.2.0-linux- all -- Build the bin, Use 64bit compiler"
@echo "make CROSS_COMPILE=aarch64-gcc12.2.0-linux- clean -- Clean all"
@echo -e ${NORMAL}
%.o: %.S
$(CC) $(SFLAGS) -o $@ $<
%.o: %.c
$(CC) $(CFLAGS) -o $@ $<
.PHONY : clean
clean:
-rm -rf $(COBJS) $(AOBJS) $(TARGET).elf $(TARGET).bin $(TARGET).map $(LIBS) $(TARGET).dump