blob: 572fb21b04610c5d34b8927fb5dc1ff94402040f [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 \
Kévin Redon69b92d92019-01-24 16:39:20 +010073hpl/osc32kctrl/hpl_osc32kctrl.o \
74examples/driver_examples.o \
75driver_init.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010076hal/src/hal_usart_async.o \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +010077hpl/sercom/hpl_sercom.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010078hal/utils/src/utils_ringbuffer.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010079hal/src/hal_gpio.o \
80hal/utils/src/utils_event.o \
81hal/src/hal_sleep.o \
82hal/src/hal_cache.o \
83hpl/cmcc/hpl_cmcc.o \
84atmel_start.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010085usb/device/usbdc.o \
86hal/src/hal_atomic.o
87
88OBJS_AS_ARGS += \
89"hal/src/hal_io.o" \
90"hpl/core/hpl_core_m4.o" \
91"usb/class/cdc/device/cdcdf_acm.o" \
92"hal/utils/src/utils_syscalls.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +010093"usb_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +010094"gcc/system_same54.o" \
95"hpl/usb/hpl_usb.o" \
96"hal/src/hal_delay.o" \
97"hpl/pm/hpl_pm.o" \
98"hpl/core/hpl_init.o" \
99"hpl/gclk/hpl_gclk.o" \
100"hal/utils/src/utils_list.o" \
101"hal/utils/src/utils_assert.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100102"hpl/dmac/hpl_dmac.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100103"hpl/oscctrl/hpl_oscctrl.o" \
104"hpl/mclk/hpl_mclk.o" \
105"hpl/ramecc/hpl_ramecc.o" \
106"usb/usb_protocol.o" \
107"hal/src/hal_init.o" \
108"gcc/gcc/startup_same54.o" \
109"hal/src/hal_usb_device.o" \
Kévin Redon4e39b012019-01-30 15:55:58 +0100110"main.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100111"hpl/osc32kctrl/hpl_osc32kctrl.o" \
112"examples/driver_examples.o" \
113"driver_init.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100114"hal/src/hal_usart_async.o" \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100115"hpl/sercom/hpl_sercom.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100116"hal/utils/src/utils_ringbuffer.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100117"hal/src/hal_gpio.o" \
118"hal/utils/src/utils_event.o" \
119"hal/src/hal_sleep.o" \
120"hal/src/hal_cache.o" \
121"hpl/cmcc/hpl_cmcc.o" \
122"atmel_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100123"usb/device/usbdc.o" \
124"hal/src/hal_atomic.o"
125
126# List the dependency files
127DEPS := $(OBJS:%.o=%.d)
128
129DEPS_AS_ARGS += \
130"hal/utils/src/utils_event.d" \
131"hal/src/hal_io.d" \
132"hpl/ramecc/hpl_ramecc.d" \
133"hpl/core/hpl_core_m4.d" \
134"hal/utils/src/utils_syscalls.d" \
135"usb/class/cdc/device/cdcdf_acm.d" \
136"gcc/gcc/startup_same54.d" \
137"hpl/usb/hpl_usb.d" \
138"hal/utils/src/utils_list.d" \
139"hpl/cmcc/hpl_cmcc.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100140"hpl/dmac/hpl_dmac.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100141"hal/utils/src/utils_assert.d" \
142"hal/src/hal_delay.d" \
143"hpl/core/hpl_init.d" \
144"hpl/pm/hpl_pm.d" \
145"usb/usb_protocol.d" \
146"hpl/gclk/hpl_gclk.d" \
147"hal/src/hal_usb_device.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100148"usb_start.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100149"hal/src/hal_init.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100150"hpl/mclk/hpl_mclk.d" \
151"driver_init.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100152"hal/src/hal_usart_async.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100153"hpl/osc32kctrl/hpl_osc32kctrl.d" \
Kévin Redon4e39b012019-01-30 15:55:58 +0100154"main.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100155"examples/driver_examples.d" \
156"hal/src/hal_cache.d" \
157"hal/src/hal_sleep.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100158"hal/utils/src/utils_ringbuffer.d" \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100159"hpl/sercom/hpl_sercom.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100160"hal/src/hal_gpio.d" \
161"hal/src/hal_atomic.d" \
162"usb/device/usbdc.d" \
163"hpl/oscctrl/hpl_oscctrl.d" \
164"gcc/system_same54.d" \
165"atmel_start.d"
166
167OUTPUT_FILE_NAME :=AtmelStart
168QUOTE := "
169OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf
170OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf
171
172vpath %.c ../
173vpath %.s ../
174vpath %.S ../
175
176# All Target
177all: $(SUB_DIRS) $(OUTPUT_FILE_PATH)
178
179# Linker target
180
181$(OUTPUT_FILE_PATH): $(OBJS)
182 @echo Building target: $@
183 @echo Invoking: ARM/GNU Linker
184 $(QUOTE)arm-none-eabi-gcc$(QUOTE) -o $(OUTPUT_FILE_NAME).elf $(OBJS_AS_ARGS) -Wl,--start-group -lm -Wl,--end-group -mthumb \
185-Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \
186 \
Kévin Redoneff5cb52019-02-03 14:17:40 +0100187-T"../gcc/gcc/same54n19a_dfu.ld" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100188-L"../gcc/gcc"
189 @echo Finished building target: $@
190
191 "arm-none-eabi-objcopy" -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin"
192 "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \
193 "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex"
194 "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \
195 .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \
196 "$(OUTPUT_FILE_NAME).eep" || exit 0
197 "arm-none-eabi-objdump" -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss"
198 "arm-none-eabi-size" "$(OUTPUT_FILE_NAME).elf"
199
200
201
202# Compiler targets
203
204
205
206
207%.o: %.c
208 @echo Building file: $<
209 @echo ARM/GNU C Compiler
210 $(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 +0100211-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100212-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 +0100213-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
214 @echo Finished building: $<
215
216%.o: %.s
217 @echo Building file: $<
218 @echo ARM/GNU Assembler
219 $(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 +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 Preprocessing Assembler
228 $(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 +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# Detect changes in the dependent files and recompile the respective object files.
235ifneq ($(MAKECMDGOALS),clean)
236ifneq ($(strip $(DEPS)),)
237-include $(DEPS)
238endif
239endif
240
241$(SUB_DIRS):
242 $(MK_DIR) "$@"
243
244clean:
245 rm -f $(OBJS_AS_ARGS)
246 rm -f $(OUTPUT_FILE_PATH)
247 rm -f $(DEPS_AS_ARGS)
248 rm -f $(OUTPUT_FILE_NAME).a $(OUTPUT_FILE_NAME).hex $(OUTPUT_FILE_NAME).bin \
249 $(OUTPUT_FILE_NAME).lss $(OUTPUT_FILE_NAME).eep $(OUTPUT_FILE_NAME).map \
Kévin Redon4e39b012019-01-30 15:55:58 +0100250 $(OUTPUT_FILE_NAME).srec