第一次写makefile心得是在九月,一转眼一个月过去了,回看一个月前我的心的看起来有些惨不忍睹,但学习嘛!就是这样。
先放近期写的makefile(用于stm32的编译、下载)
CC = arm-none-eabi-gcc
AS = arm-none-eabi-as
LD = arm-none-eabi-ld
CFLAGS =-mthumb -mcpu=cortex-m4 -g -I /home/fxx/Desktop/Progect/Dev/ -DSTM32F40_41xxx
LDFLAGS = --static -L /usr/arm-none-eabi/lib/ -L /usr/lib/gcc/arm-none-eabi/11.2.0/
ASFLAGS = -mthumb -mcpu=cortex-m4
vpath %.c ./User
vpath %.c ./Dev
vpath %.h ./Dev
vpath %.o ./Build
TARGET =main
BUILD = BUILD
C_INCLUDE = stm32f4xx_rcc.c \
stm32f4xx_gpio.c \
system_stm32f4xx.c \
stm32f4xx_rcc.c \
delay.c \
main.c
OBJ_SOURCE = $(C_INCLUDE:%.c=%.o)
ASM_SOURCE = ./startup_stm32f40xx.s
LD_SOURCE = ./STM32F407IGHx_FLASH.ld
ASMOBJ_SOURCE =$(ASM_SOURCE:%.s=%.o)
all:$(OBJ_SOURCE) $(ASMOBJ_SOURCE)
$(LD) $(LDFLAGS) $^ -T $(LD_SOURCE) -o $(TARGET).elf
$(OBJ_SOURCE):%.o:%.c
$(CC) $(CFLAGS) -c $< -o ./Build/$@
$