aboutsummaryrefslogtreecommitdiff
path: root/Drivers/Makefile
blob: 948f44cbafb87908c4915f4054b5389cd5080f98 (plain) (blame)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
CC=arm-none-eabi-gcc
AR=arm-none-eabi-ar

###########################################

vpath %.c STM32F4xx_HAL_Driver/Src

# Default STDPERIPH_SETTINGS to settings suitable for STM32F401RE MCU (Nucleo board)
STDPERIPH_SETTINGS ?= -DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DSTM32F401xE

CFLAGS  = -ggdb -O2 -Wall -Wextra -Warray-bounds
CFLAGS += -mcpu=cortex-m4 -mthumb -mlittle-endian -mthumb-interwork
CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16
CFLAGS += $(STDPERIPH_SETTINGS)
CFLAGS += -ICMSIS/Include -ICMSIS/Device/ST/STM32F4xx/Include -ISTM32F4xx_HAL_Driver/Inc

SRCS = stm32f4xx_hal.c           stm32f4xx_hal_msp_template.c \
 stm32f4xx_hal_adc.c       stm32f4xx_hal_nand.c \
 stm32f4xx_hal_adc_ex.c    stm32f4xx_hal_nor.c \
 stm32f4xx_hal_can.c       stm32f4xx_hal_pccard.c \
 stm32f4xx_hal_cortex.c    stm32f4xx_hal_pcd.c \
 stm32f4xx_hal_crc.c stm32f4xx_hal_pwr.c \
 stm32f4xx_hal_cryp.c      stm32f4xx_hal_pwr_ex.c \
 stm32f4xx_hal_cryp_ex.c   stm32f4xx_hal_rcc.c \
 stm32f4xx_hal_dac.c       stm32f4xx_hal_rcc_ex.c \
 stm32f4xx_hal_dac_ex.c    stm32f4xx_hal_rng.c \
 stm32f4xx_hal_dcmi.c      stm32f4xx_hal_rtc.c \
 stm32f4xx_hal_dma.c       stm32f4xx_hal_rtc_ex.c \
 stm32f4xx_hal_dma2d.c     stm32f4xx_hal_sai.c \
 stm32f4xx_hal_dma_ex.c    stm32f4xx_hal_sd.c \
 stm32f4xx_hal_eth.c       stm32f4xx_hal_sdram.c \
 stm32f4xx_hal_flash.c     stm32f4xx_hal_smartcard.c \
 stm32f4xx_hal_flash_ex.c  stm32f4xx_hal_spi.c \
 stm32f4xx_hal_gpio.c      stm32f4xx_hal_sram.c \
 stm32f4xx_hal_hash.c      stm32f4xx_hal_tim.c \
 stm32f4xx_hal_hash_ex.c   stm32f4xx_hal_tim_ex.c \
 stm32f4xx_hal_hcd.c       stm32f4xx_hal_uart.c \
 stm32f4xx_hal_i2c.c       stm32f4xx_hal_usart.c \
 stm32f4xx_hal_i2c_ex.c    stm32f4xx_hal_wwdg.c \
 stm32f4xx_hal_i2s.c       stm32f4xx_ll_fmc.c \
 stm32f4xx_hal_i2s_ex.c    stm32f4xx_ll_fsmc.c \
 stm32f4xx_hal_irda.c      stm32f4xx_ll_sdmmc.c \
 stm32f4xx_hal_iwdg.c      stm32f4xx_ll_usb.c \
 stm32f4xx_hal_ltdc.c

# Override the SRCS and only even compile the files this project actually makes use of
SRCS = stm32f4xx_hal.c        \
 stm32f4xx_hal_cortex.c    \
 stm32f4xx_hal_rcc.c \
 stm32f4xx_hal_dma.c       \
 stm32f4xx_hal_gpio.c      \
 stm32f4xx_hal_tim.c \
 stm32f4xx_hal_tim_ex.c \
 stm32f4xx_hal_uart.c \
 stm32f4xx_hal_usart.c \



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

.PHONY: libstmf4.a

all: libstmf4.a

%.o : %.c
	$(CC) $(CFLAGS) -c -o $@ $^

libstmf4.a: $(OBJS)
	$(AR) -r $@ $(OBJS)

clean:
	rm -f $(OBJS) libstmf4.a