blob: 5e3c38c830b85167a5cbd7457f1e6834422b7bd0 [file] [log] [blame]
Kévin Redon69b92d92019-01-24 16:39:20 +01001################################################################################
2# Automatically-generated file. Do not edit!
3################################################################################
4
5ifdef SystemRoot
6 SHELL = cmd.exe
7 MK_DIR = mkdir
8else
9 ifeq ($(shell uname), Linux)
10 MK_DIR = mkdir -p
11 endif
12
13 ifeq ($(shell uname | cut -d _ -f 1), CYGWIN)
14 MK_DIR = mkdir -p
15 endif
16
17 ifeq ($(shell uname | cut -d _ -f 1), MINGW32)
18 MK_DIR = mkdir -p
19 endif
20
21 ifeq ($(shell uname | cut -d _ -f 1), MINGW64)
22 MK_DIR = mkdir -p
23 endif
24endif
25
26# List the subdirectories for creating object files
27SUB_DIRS += \
28 \
29hpl/pm \
30gcc \
31hpl/osc32kctrl \
32hpl/ramecc \
33hpl/dmac \
34usb/class/cdc/device \
35hal/src \
36hpl/mclk \
37usb \
38hal/utils/src \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +010039hpl/sercom \
Kévin Redon69b92d92019-01-24 16:39:20 +010040examples \
41hpl/gclk \
42usb/device \
43hpl/oscctrl \
44gcc/gcc \
45hpl/usb \
46hpl/core \
47hpl/cmcc
48
49# List the object files
50OBJS += \
51hal/src/hal_io.o \
52hpl/core/hpl_core_m4.o \
53usb/class/cdc/device/cdcdf_acm.o \
54hal/utils/src/utils_syscalls.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010055usb_start.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010056gcc/system_same54.o \
57hpl/usb/hpl_usb.o \
58hal/src/hal_delay.o \
59hpl/pm/hpl_pm.o \
60hpl/core/hpl_init.o \
61hpl/gclk/hpl_gclk.o \
62hal/utils/src/utils_list.o \
63hal/utils/src/utils_assert.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010064hpl/dmac/hpl_dmac.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010065hpl/oscctrl/hpl_oscctrl.o \
66hpl/mclk/hpl_mclk.o \
67hpl/ramecc/hpl_ramecc.o \
68usb/usb_protocol.o \
69hal/src/hal_init.o \
70gcc/gcc/startup_same54.o \
71hal/src/hal_usb_device.o \
Kévin Redon4e39b012019-01-30 15:55:58 +010072main.o \
Harald Weltec3f170d2019-02-24 09:06:59 +010073i2c_bitbang.o \
74octsim_i2c.o \
75ncn8025.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010076hpl/osc32kctrl/hpl_osc32kctrl.o \
77examples/driver_examples.o \
78driver_init.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010079hal/src/hal_usart_async.o \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +010080hpl/sercom/hpl_sercom.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010081hal/utils/src/utils_ringbuffer.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010082hal/src/hal_gpio.o \
83hal/utils/src/utils_event.o \
84hal/src/hal_sleep.o \
85hal/src/hal_cache.o \
86hpl/cmcc/hpl_cmcc.o \
87atmel_start.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010088usb/device/usbdc.o \
89hal/src/hal_atomic.o
90
91OBJS_AS_ARGS += \
92"hal/src/hal_io.o" \
93"hpl/core/hpl_core_m4.o" \
94"usb/class/cdc/device/cdcdf_acm.o" \
95"hal/utils/src/utils_syscalls.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +010096"usb_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +010097"gcc/system_same54.o" \
98"hpl/usb/hpl_usb.o" \
99"hal/src/hal_delay.o" \
100"hpl/pm/hpl_pm.o" \
101"hpl/core/hpl_init.o" \
102"hpl/gclk/hpl_gclk.o" \
103"hal/utils/src/utils_list.o" \
104"hal/utils/src/utils_assert.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100105"hpl/dmac/hpl_dmac.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100106"hpl/oscctrl/hpl_oscctrl.o" \
107"hpl/mclk/hpl_mclk.o" \
108"hpl/ramecc/hpl_ramecc.o" \
109"usb/usb_protocol.o" \
110"hal/src/hal_init.o" \
111"gcc/gcc/startup_same54.o" \
112"hal/src/hal_usb_device.o" \
Kévin Redon4e39b012019-01-30 15:55:58 +0100113"main.o" \
Harald Weltec3f170d2019-02-24 09:06:59 +0100114"i2c_bitbang.o" \
115"octsim_i2c.o" \
116"ncn8025.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100117"hpl/osc32kctrl/hpl_osc32kctrl.o" \
118"examples/driver_examples.o" \
119"driver_init.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100120"hal/src/hal_usart_async.o" \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100121"hpl/sercom/hpl_sercom.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100122"hal/utils/src/utils_ringbuffer.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100123"hal/src/hal_gpio.o" \
124"hal/utils/src/utils_event.o" \
125"hal/src/hal_sleep.o" \
126"hal/src/hal_cache.o" \
127"hpl/cmcc/hpl_cmcc.o" \
128"atmel_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100129"usb/device/usbdc.o" \
130"hal/src/hal_atomic.o"
131
132# List the dependency files
133DEPS := $(OBJS:%.o=%.d)
134
135DEPS_AS_ARGS += \
136"hal/utils/src/utils_event.d" \
137"hal/src/hal_io.d" \
138"hpl/ramecc/hpl_ramecc.d" \
139"hpl/core/hpl_core_m4.d" \
140"hal/utils/src/utils_syscalls.d" \
141"usb/class/cdc/device/cdcdf_acm.d" \
142"gcc/gcc/startup_same54.d" \
143"hpl/usb/hpl_usb.d" \
144"hal/utils/src/utils_list.d" \
145"hpl/cmcc/hpl_cmcc.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100146"hpl/dmac/hpl_dmac.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100147"hal/utils/src/utils_assert.d" \
148"hal/src/hal_delay.d" \
149"hpl/core/hpl_init.d" \
150"hpl/pm/hpl_pm.d" \
151"usb/usb_protocol.d" \
152"hpl/gclk/hpl_gclk.d" \
153"hal/src/hal_usb_device.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100154"usb_start.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100155"hal/src/hal_init.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100156"hpl/mclk/hpl_mclk.d" \
157"driver_init.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100158"hal/src/hal_usart_async.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100159"hpl/osc32kctrl/hpl_osc32kctrl.d" \
Kévin Redon4e39b012019-01-30 15:55:58 +0100160"main.d" \
Harald Weltec3f170d2019-02-24 09:06:59 +0100161"i2c_bitbang.d" \
162"octsim_i2c.d" \
163"ncn8025.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100164"examples/driver_examples.d" \
165"hal/src/hal_cache.d" \
166"hal/src/hal_sleep.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100167"hal/utils/src/utils_ringbuffer.d" \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100168"hpl/sercom/hpl_sercom.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100169"hal/src/hal_gpio.d" \
170"hal/src/hal_atomic.d" \
171"usb/device/usbdc.d" \
172"hpl/oscctrl/hpl_oscctrl.d" \
173"gcc/system_same54.d" \
174"atmel_start.d"
175
176OUTPUT_FILE_NAME :=AtmelStart
177QUOTE := "
178OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf
179OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf
180
181vpath %.c ../
182vpath %.s ../
183vpath %.S ../
184
185# All Target
186all: $(SUB_DIRS) $(OUTPUT_FILE_PATH)
187
188# Linker target
189
190$(OUTPUT_FILE_PATH): $(OBJS)
191 @echo Building target: $@
192 @echo Invoking: ARM/GNU Linker
193 $(QUOTE)arm-none-eabi-gcc$(QUOTE) -o $(OUTPUT_FILE_NAME).elf $(OBJS_AS_ARGS) -Wl,--start-group -lm -Wl,--end-group -mthumb \
194-Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \
195 \
Kévin Redoneff5cb52019-02-03 14:17:40 +0100196-T"../gcc/gcc/same54n19a_dfu.ld" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100197-L"../gcc/gcc"
198 @echo Finished building target: $@
199
200 "arm-none-eabi-objcopy" -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin"
201 "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \
202 "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex"
203 "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \
204 .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \
205 "$(OUTPUT_FILE_NAME).eep" || exit 0
206 "arm-none-eabi-objdump" -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss"
207 "arm-none-eabi-size" "$(OUTPUT_FILE_NAME).elf"
208
209
210
211# Compiler targets
212
213
214
215
216%.o: %.c
217 @echo Building file: $<
218 @echo ARM/GNU C Compiler
219 $(QUOTE)arm-none-eabi-gcc$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
Kévin Redon4e39b012019-01-30 15:55:58 +0100220-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100221-I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100222-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
223 @echo Finished building: $<
224
225%.o: %.s
226 @echo Building file: $<
227 @echo ARM/GNU Assembler
228 $(QUOTE)arm-none-eabi-as$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
Kévin Redon4e39b012019-01-30 15:55:58 +0100229-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100230-I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100231-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
232 @echo Finished building: $<
233
234%.o: %.S
235 @echo Building file: $<
236 @echo ARM/GNU Preprocessing Assembler
237 $(QUOTE)arm-none-eabi-gcc$(QUOTE) -x c -mthumb -DDEBUG -Os -ffunction-sections -mlong-calls -g3 -Wall -c -std=gnu99 \
Kévin Redon4e39b012019-01-30 15:55:58 +0100238-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100239-I"../" -I"../config" -I"../examples" -I"../hal/include" -I"../hal/utils/include" -I"../hpl/cmcc" -I"../hpl/core" -I"../hpl/dmac" -I"../hpl/gclk" -I"../hpl/mclk" -I"../hpl/osc32kctrl" -I"../hpl/oscctrl" -I"../hpl/pm" -I"../hpl/port" -I"../hpl/ramecc" -I"../hpl/sercom" -I"../hpl/usb" -I"../hri" -I"../" -I"../config" -I"../usb" -I"../usb/class/cdc" -I"../usb/class/cdc/device" -I"../usb/device" -I"../" -I"../CMSIS/Include" -I"../include" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100240-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
241 @echo Finished building: $<
242
243# Detect changes in the dependent files and recompile the respective object files.
244ifneq ($(MAKECMDGOALS),clean)
245ifneq ($(strip $(DEPS)),)
246-include $(DEPS)
247endif
248endif
249
250$(SUB_DIRS):
251 $(MK_DIR) "$@"
252
253clean:
254 rm -f $(OBJS_AS_ARGS)
255 rm -f $(OUTPUT_FILE_PATH)
256 rm -f $(DEPS_AS_ARGS)
257 rm -f $(OUTPUT_FILE_NAME).a $(OUTPUT_FILE_NAME).hex $(OUTPUT_FILE_NAME).bin \
258 $(OUTPUT_FILE_NAME).lss $(OUTPUT_FILE_NAME).eep $(OUTPUT_FILE_NAME).map \
Kévin Redon4e39b012019-01-30 15:55:58 +0100259 $(OUTPUT_FILE_NAME).srec