]> mj.ucw.cz Git - home-hw.git/blob - nucleo-test/Makefile
Merge branch 'master' of ssh://git.ucw.cz/home/mj/GIT/home-hw
[home-hw.git] / nucleo-test / Makefile
1 ##########################################################################################################################
2 # File automatically-generated by tool: [projectgenerator] version: [2.27.0] date: [Thu Jul 05 23:11:33 CEST 2018] 
3 ##########################################################################################################################
4
5 # ------------------------------------------------
6 # Generic Makefile (based on gcc)
7 #
8 # ChangeLog :
9 #       2017-02-10 - Several enhancements + project update mode
10 #   2015-07-22 - first version
11 # ------------------------------------------------
12
13 .DEFAULT_GOAL := flash
14
15 ######################################
16 # target
17 ######################################
18 TARGET = nucleo-test
19
20
21 ######################################
22 # building variables
23 ######################################
24 # debug build?
25 DEBUG = 1
26 # optimization
27 OPT = -Os
28
29
30 #######################################
31 # paths
32 #######################################
33 # source path
34 SOURCES_DIR =  \
35 Drivers/STM32F0xx_HAL_Driver \
36 Application \
37 Application/User/Src/stm32f0xx_it.c \
38 Drivers/CMSIS \
39 Application/User/Src \
40 Application/User \
41 Application/User/Src/main.c \
42 Drivers
43
44 # firmware library path
45 PERIFLIB_PATH = 
46
47 # Build path
48 BUILD_DIR = build
49
50 ######################################
51 # source
52 ######################################
53 # C sources
54 C_SOURCES =  \
55 Src/main.c \
56 Src/test.c \
57 Src/system_stm32f0xx.c \
58 Src/stm32f0xx_it.c \
59 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c \
60 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c \
61 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c \
62 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c \
63 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c \
64 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c \
65 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c \
66 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c \
67 /aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c
68
69 # ASM sources
70 ASM_SOURCES =  \
71 startup_stm32f030x8.s
72
73
74 ######################################
75 # firmware library
76 ######################################
77 PERIFLIB_SOURCES = 
78
79
80 #######################################
81 # binaries
82 #######################################
83 BINPATH = /usr/bin
84 PREFIX = arm-none-eabi-
85 CC = $(BINPATH)/$(PREFIX)gcc
86 AS = $(BINPATH)/$(PREFIX)gcc -x assembler-with-cpp
87 CP = $(BINPATH)/$(PREFIX)objcopy
88 AR = $(BINPATH)/$(PREFIX)ar
89 SZ = $(BINPATH)/$(PREFIX)size
90 HEX = $(CP) -O ihex
91 BIN = $(CP) -O binary -S
92  
93 #######################################
94 # CFLAGS
95 #######################################
96 # cpu
97 CPU = -mcpu=cortex-m0
98
99 # fpu
100 # NONE for Cortex-M0/M0+/M3
101
102 # float-abi
103
104
105 # mcu
106 MCU = $(CPU) -mthumb $(FPU) $(FLOAT-ABI)
107
108 # macros for gcc
109 # AS defines
110 AS_DEFS = 
111
112 # C defines
113 C_DEFS =  \
114 -DUSE_FULL_LL_DRIVER \
115 -DSTM32F030x8
116
117
118 # AS includes
119 AS_INCLUDES = 
120
121 # C includes
122 C_INCLUDES =  \
123 -IInc \
124 -I/aux/misc/stm/F0-package/Drivers/STM32F0xx_HAL_Driver/Inc \
125 -I/aux/misc/stm/F0-package/Drivers/CMSIS/Device/ST/STM32F0xx/Include \
126 -I/aux/misc/stm/F0-package/Drivers/CMSIS/Include
127
128
129 # compile gcc flags
130 ASFLAGS = $(MCU) $(AS_DEFS) $(AS_INCLUDES) $(OPT) -Wall -fdata-sections -ffunction-sections
131
132 CFLAGS = $(MCU) $(C_DEFS) $(C_INCLUDES) $(OPT) -Wall -Wextra -Wno-parentheses -Wno-unused -fdata-sections -ffunction-sections
133
134 ifeq ($(DEBUG), 1)
135 CFLAGS += -g -gdwarf-2
136 endif
137
138
139 # Generate dependency information
140 CFLAGS += -MMD -MF"$(@:%.o=%.d)"
141
142
143 #######################################
144 # LDFLAGS
145 #######################################
146 # link script
147 LDSCRIPT = STM32F030R8Tx_FLASH.ld
148
149 # libraries
150 LIBS = -lc -lm -lnosys 
151 LIBDIR = 
152 LDFLAGS = $(MCU) -specs=nano.specs -T$(LDSCRIPT) $(LIBDIR) $(LIBS) -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref -Wl,--gc-sections
153
154 # default action: build all
155 all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin
156
157 flash: all
158         ../bin/st-flash write $(BUILD_DIR)/$(TARGET).bin 0x8000000
159
160
161 #######################################
162 # build the application
163 #######################################
164 # list of objects
165 OBJECTS = $(addprefix $(BUILD_DIR)/,$(notdir $(C_SOURCES:.c=.o)))
166 vpath %.c $(sort $(dir $(C_SOURCES)))
167 # list of ASM program objects
168 OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o)))
169 vpath %.s $(sort $(dir $(ASM_SOURCES)))
170
171 $(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) 
172         $(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@
173
174 $(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)
175         $(AS) -c $(CFLAGS) $< -o $@
176
177 $(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile
178         $(CC) $(OBJECTS) $(LDFLAGS) -o $@
179         $(SZ) $@
180
181 $(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
182         $(HEX) $< $@
183         
184 $(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
185         $(BIN) $< $@    
186         
187 $(BUILD_DIR):
188         mkdir $@                
189
190 #######################################
191 # clean up
192 #######################################
193 clean:
194         -rm -fR $(BUILD_DIR)
195   
196 #######################################
197 # dependencies
198 #######################################
199 -include $(wildcard $(BUILD_DIR)/*.d)
200
201 # *** EOF ***