~ruther/stm32-templates

ref: f614aeaba0593a991f59cbb764fe1bddfdbfa5bf stm32-templates/Makefile -rw-r--r-- 1.2 KiB
f614aeab — Rutherther feat: add general template, Makefile, blink example 6 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
DEVICE?=stm32f446
CPU?=cortex-m4

APP=blink.elf

BINDIR=bin
SRCDIR=src
INCDIR=include
OBJDIR=obj

DEVICEDIR=devices/$(DEVICE)
GENERALDIR=devices/general

PROJSRCS=$(wildcard $(SRCDIR)/*.c)
GENERALSRCS=$(wildcard $(GENERALDIR)/*.c)
DEVICESRCS=$(wildcard $(DEVICEDIR)/*.c)

SRCS=$(PROJSRCS) $(GENERALSRCS) $(DEVICESRCS)
OBJS=$(patsubst %.c,obj/%.o,$(SRCS))

CFLAGS=-I$(INCDIR) -I$(DEVICEDIR)/$(INCDIR) -mthumb -mcpu=$(CPU) -nostdlib
LDFLAGS=-T$(DEVICEDIR)/linker_script.ld -nostdlib

CC=arm-none-eabi-gcc
LD=arm-none-eabi-ld
OPENOCD=openocd

$(BINDIR)/$(APP): $(OBJS)
	mkdir -p $(BINDIR)
	$(LD) $^ -o $@ $(LDFLAGS)

$(OBJDIR)/src/%.o: $(SRCDIR)/%.c
	mkdir -p "$(OBJDIR)/src"
	$(CC) -c $< -o $@ $(CFLAGS)

$(OBJDIR)/$(DEVICEDIR)/%.o: $(DEVICEDIR)/%.c
	mkdir -p "$(OBJDIR)/$(DEVICEDIR)"
	$(CC) -c $< -o $@ $(CFLAGS)

$(OBJDIR)/$(GENERALDIR)/%.o: $(GENERALDIR)/%.c
	mkdir -p "$(OBJDIR)/$(GENERALDIR)"
	$(CC) -c $< -o $@ $(CFLAGS)

.PHONY: openocd flash clean
openocd:
	$(OPENOCD) -f interface/stlink.cfg -f target/stm32f4x.cfg

flash: $(BINDIR)/$(APP)
	$(OPENOCD) -f interface/stlink.cfg -f target/stm32f4x.cfg -c "program $(BINDIR)/$(APP) verify reset exit"

clean:
	rm -rf $(OBJDIR) $(BINDIR)
Do not follow this link