⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 ARM ContextM3 Interface GLCD
💻
字号:
###############################################################################
#
#
#
#
#
#
#
#
##############################################################################

ST_LIB_DIR=./library
TARGET = main
CC = arm-none-eabi-gcc
OBJCOPY = arm-none-eabi-objcopy
SIZE = arm-none-eabi-size

LDSCRIPT=./LinkerScript/STM32F103_128K_20K_FLASH.ld
MACRO = ./Startup/cortexm3_macro.s
MSG_ERRORS_NONE = Errors: none
MSG_BEGIN = "-------- begin (mode: $(RUN_MODE)) --------"
MSG_END = --------  end  --------
MSG_SIZE_AFTER = Size after:
MSG_CLEANING = Cleaning project:

# should use --gc-sections but the debugger does not seem to be able to cope with the option.
LINKER_FLAGS=-nostartfiles -Xlinker -o$(TARGET).axf -Xlinker -M -Xlinker -Map=rtosdemo.map -Xlinker --no-gc-sections

DEBUG=-g
OPTIM = -Os
FORMAT = ihex

CFLAGS=$(DEBUG) \
		$(OPTIM) \
		-I ./inc \
		-T$(LDSCRIPT) \
		-I . \
		-I $(ST_LIB_DIR)/inc \
		-D GCC_ARMCM3 \
		-D inline= \
		-D PACK_STRUCT_END=__attribute\(\(packed\)\) \
		-D ALIGN_STRUCT_END=__attribute\(\(aligned\(4\)\)\) \
		-mthumb \
		-mcpu=cortex-m3 \
		-ffunction-sections \
		-fdata-sections 

SOURCE=	.\src\main.c \
		.\src\stm32f10x_it.c \
		.\src\drawing.c \
		$(ST_LIB_DIR)/src/stm32f10x_gpio.c \
		$(ST_LIB_DIR)/src/stm32f10x_lib.c \
		$(ST_LIB_DIR)/src/stm32f10x_nvic.c \
		$(ST_LIB_DIR)/src/stm32f10x_rcc.c \
		$(ST_LIB_DIR)/src/stm32f10x_systick.c \
		$(ST_LIB_DIR)/src/stm32f10x_tim.c \
		$(ST_LIB_DIR)/src/stm32f10x_flash.c \
		$(ST_LIB_DIR)/src/stm32f10x_rtc.c \
		$(ST_LIB_DIR)/src/stm32f10x_pwr.c \
		$(ST_LIB_DIR)/src/stm32f10x_bkp.c

LIBS= 

OBJS = $(SOURCE:.c=.o)

# Display size of file.
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
ELFSIZE = $(SIZE) -A $(TARGET).axf
sizebefore:
	@if [ -f $(TARGET).axf ]; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); echo; fi

sizeafter:
	@if [ -f $(TARGET).axf ]; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); echo; fi
	
# Display compiler version information.
gccversion : 
	@$(CC) --version
	
# Eye candy.
begin:
	@echo
	@echo $(MSG_BEGIN)

finished:
	@echo $(MSG_ERRORS_NONE)

end:
	@echo $(MSG_END)
	@echo

all: begin gccversion sizebefore $(TARGET).hex sizeafter finished end
	 
$(TARGET).hex : $(TARGET).axf
	@ echo "...copying"
	$(OBJCOPY) $(TARGET).axf -O $(FORMAT) $(TARGET).hex

$(TARGET).axf : $(OBJS) .\src\stm32f10x_vector.o Makefile
	@ echo "...linking"
	$(CC) $(CFLAGS) $(OBJS) .\src\stm32f10x_vector.o  $(MACRO) $(LIBS) $(LINKER_FLAGS)
	@ echo
	
$(OBJS) : %.o : %.c Makefile
	@ echo "...compiling" $<
	$(CC) -c $(CFLAGS) $< -o $@	
	@ echo
	
crt0_STM32x.o : .\src\stm32f10x_vector.c Makefile
	@ echo "...compiling" $<
	$(CC) -c $(CFLAGS) -O1 .\src\stm32f10x_vector.c -o .\src\stm32f10x_vector.o
	@ echo
			
clean:
	@echo
	@echo $(MSG_CLEANING)
	-rm -f $(OBJS)
	-rm -f $(TARGET).axf
	-rm -f $(TARGET).map
	-rm -f $(TARGET).hex
	-rm -f $(SRC:.c=.c.bak)
	-rm -f $(SRC:.c=.lst)
	-rm -f $(ASRC:.s=.s.bak)
	-rm -f $(ASRC:.s=.lst)
	-rm -fR .dep

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -