GK SDK 源码库: XMIPCLinuxV100R005C00SPC030 (kernel/tools/open_source excluded)
This commit is contained in:
+67
@@ -0,0 +1,67 @@
|
||||
#===============================================================================
|
||||
# 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user