blob: 1c9e5240ef06778f06efadc586b319a1a38df242 (
plain)
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
53
54
55
56
57
|
CC=arm-none-eabi-gcc
AR=arm-none-eabi-ar
###################################################
# Check for valid float argument
ifneq ($(FLOAT_TYPE), hard)
ifneq ($(FLOAT_TYPE), soft)
#override FLOAT_TYPE = hard
override FLOAT_TYPE = soft
endif
endif
###################################################
vpath %.c src src/peripherals
CFLAGS = -g -O2 -Wall
CFLAGS += -mlittle-endian -mthumb -mthumb-interwork -mcpu=cortex-m4
ifeq ($(FLOAT_TYPE), hard)
CFLAGS += -fsingle-precision-constant -Wdouble-promotion
CFLAGS += -mfpu=fpv4-sp-d16 -mfloat-abi=hard
#CFLAGS += -mfpu=fpv4-sp-d16 -mfloat-abi=softfp
else
CFLAGS += -msoft-float
endif
CFLAGS += -ffreestanding -nostdlib
CFLAGS += -Iinc -Iinc/core -Iinc/peripherals
#SRCS = stm32f4_discovery.c
SRCS = misc.c stm32f4xx_dma.c stm32f4xx_rcc.c stm32f4xx_adc.c \
stm32f4xx_exti.c stm32f4xx_rng.c stm32f4xx_can.c stm32f4xx_flash.c \
stm32f4xx_rtc.c stm32f4xx_crc.c stm32f4xx_fsmc.c stm32f4xx_sdio.c \
stm32f4xx_cryp_aes.c stm32f4xx_gpio.c stm32f4xx_spi.c \
stm32f4xx_cryp.c stm32f4xx_hash.c stm32f4xx_syscfg.c \
stm32f4xx_cryp_des.c stm32f4xx_hash_md5.c stm32f4xx_tim.c \
stm32f4xx_cryp_tdes.c stm32f4xx_hash_sha1.c stm32f4xx_usart.c \
stm32f4xx_dac.c stm32f4xx_i2c.c stm32f4xx_wwdg.c \
stm32f4xx_dbgmcu.c stm32f4xx_iwdg.c \
stm32f4xx_dcmi.c stm32f4xx_pwr.c
OBJS = $(SRCS:.c=.o)
.PHONY: libstm32f4.a
all: libstm32f4.a
%.o : %.c
$(CC) $(CFLAGS) -c -o $@ $^
libstm32f4.a: $(OBJS)
$(AR) -r $@ $(OBJS)
clean:
rm -f $(OBJS) libstm32f4.a
|