代码拉取完成,页面将自动刷新
######################################################################
# makefile � (by lichuang)
#
######################################################################
###################��Ŀ·���ͳ�������#################################
DIR=$(shell pwd)
BIN_DIR=$(DIR)/bin
LIB_DIR=$(DIR)/lib
SRC_DIR=$(DIR)/src
INCLUDE_DIR=$(DIR)/include
OBJ_DIR=$(DIR)/obj
DEPS_DIR=$(DIR)/deps
DUMP_OBJ=$(BIN_DIR)/rv.dump
PROGRAM=$(BIN_DIR)/rv.elf
TAR_BIN=$(BIN_DIR)/rv.bin
###################obj文件############################################
EXTENSION=c
AMS := $(patsubst $(SRC_DIR)/%.s, $(OBJ_DIR)/%.o,$(wildcard $(SRC_DIR)/*.s))
OBJS:=$(patsubst $(SRC_DIR)/%.$(EXTENSION), $(OBJ_DIR)/%.o,$(wildcard $(SRC_DIR)/*.$(EXTENSION)))
OBJS+=$(AMS)
DEPS:=$(patsubst $(OBJ_DIR)/%.o, $(DEPS_DIR)/%.d, $(OBJS))
CODE :=
CODE +=$(wildcard $(SRC_DIR)/*.s)
CODE +=$(wildcard $(SRC_DIR)/*.c)
$(info $(DEPS))
###################includeͷ�ļ�·��##################################
INCLUDE=\
-I$(INCLUDE_DIR)
###################lib�ļ���·��######################################
###################����ѡ�������###################################
COMPLIE:=riscv64-unknown-elf-
CC :=$(COMPLIE)gcc
DUMP:=$(COMPLIE)objdump
CFLAGS=-Wall -W -g
OBJCP:=$(COMPLIE)objcopy
ARCH_BASE = rv32imc
ABI_BASE = ilp32
RISCV_MARCH = $(ARCH_BASE)
ABI =$(ABI_BASE)
RISCV_MARCH := $(RISCV_MARCH)
ARCH_FLAGS = -march=$(RISCV_MARCH) -mabi=$(ABI) -mcmodel=medlow
CFLAGS +=$(ARCH_FLAGS)
CFLAGS += -Wmaybe-uninitialized -ffunction-sections -fdata-sections -fno-exceptions \
-fno-builtin-printf -Wl,--wrap=_sbrk -Wno-unused-function -Wno-unused-parameter -Wno-format
LDFLAGS += -nostartfiles --specs=nano.specs
LINK_SCRIPT:=$(DIR)/ld/link_flash_bs1.lds
#LINK_SCRIPT:=$(DIR)/link_sram_bs1.lds
LDFLAGS +=$(ARCH_FLAGS)
LDFLAGS += -Wl,-T $(LINK_SCRIPT)
LDFLAGS += -Wl,--gc-sections
LDFLAGS += -Wl,--no-relax
# CFLAGS += -march=rv32imac -mabi=ilp32 -mcmodel=medlow -ffunction-sections -fdata-sections
###################����Ŀ��###########################################
.PHONY: all clean rebuild
all:$(OBJS)
@echo $(DEPS_DIR)
$(CC) -o $(PROGRAM) $(OBJS) $(LDFLAGS) $(CFLAGS)
$(DUMP) -D -S $(PROGRAM) > $(DUMP_OBJ) 2>&1
$(OBJCP) $(PROGRAM) -O binary $(TAR_BIN)
$(DEPS_DIR)/%.d: $(SRC_DIR)/%.$(EXTENSION)
$(CC) -MM $(INCLUDE) $(CFLAGS) $< | sed -e 1's,^,$(OBJ_DIR)/,' > $@
sinclude $(DEPS)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.s
$(CC) $< -o $@ -c $(CFLAGS) $(INCLUDE)
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(CC) $< -o $@ -c $(CFLAGS) $(INCLUDE)
rebuild: clean all
clean:
rm -rf $(OBJS) $(BIN_DIR)/* $(OBJ_DIR)/* $(DEPS_DIR)/*
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。