blob: 8b47909194d1b066f6f714fd4c2c4cdb04714d08 [file] [log] [blame]
Kévin Redon69b92d92019-01-24 16:39:20 +01001################################################################################
2# Automatically-generated file. Do not edit!
3################################################################################
4
Harald Welte6f7dde72019-04-17 22:08:57 +02005EXTRA_LIBS=/usr/local/arm-none-eabi/lib/libosmocore.a
6EXTRA_CFLAGS=-I/usr/local/arm-none-eabi/include
7
Kévin Redon69b92d92019-01-24 16:39:20 +01008ifdef SystemRoot
9 SHELL = cmd.exe
10 MK_DIR = mkdir
11else
12 ifeq ($(shell uname), Linux)
13 MK_DIR = mkdir -p
14 endif
15
16 ifeq ($(shell uname | cut -d _ -f 1), CYGWIN)
17 MK_DIR = mkdir -p
18 endif
19
20 ifeq ($(shell uname | cut -d _ -f 1), MINGW32)
21 MK_DIR = mkdir -p
22 endif
23
24 ifeq ($(shell uname | cut -d _ -f 1), MINGW64)
25 MK_DIR = mkdir -p
26 endif
27endif
28
29# List the subdirectories for creating object files
30SUB_DIRS += \
31 \
Harald Welte361ed202019-02-24 21:15:39 +010032hal/src \
33hpl/ramecc \
Harald Welte361ed202019-02-24 21:15:39 +010034hpl/oscctrl \
35stdio_redirect/gcc \
Kévin Redon69b92d92019-01-24 16:39:20 +010036gcc \
37hpl/osc32kctrl \
Harald Welte361ed202019-02-24 21:15:39 +010038usb \
Kévin Redon69b92d92019-01-24 16:39:20 +010039hpl/dmac \
40usb/class/cdc/device \
Harald Welte76105252019-04-17 16:31:27 +020041usb/class/ccid/device \
Harald Welte361ed202019-02-24 21:15:39 +010042stdio_redirect \
Kévin Redon69b92d92019-01-24 16:39:20 +010043hal/utils/src \
Kévin Redon69b92d92019-01-24 16:39:20 +010044hpl/usb \
Kévin Redonc94e0fc2019-03-07 19:15:29 +010045dma_m2m \
Harald Welte361ed202019-02-24 21:15:39 +010046hpl/pm \
47hpl/cmcc \
48hpl/gclk \
49gcc/gcc \
50hpl/mclk \
51usb/device \
52hpl/sercom \
53hpl/core
Kévin Redon69b92d92019-01-24 16:39:20 +010054
55# List the object files
56OBJS += \
57hal/src/hal_io.o \
Harald Welte361ed202019-02-24 21:15:39 +010058stdio_redirect/stdio_io.o \
59stdio_redirect/gcc/write.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010060hpl/core/hpl_core_m4.o \
Kévin Redonc94e0fc2019-03-07 19:15:29 +010061hal/src/hal_cache.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010062usb/class/cdc/device/cdcdf_acm.o \
Harald Welte76105252019-04-17 16:31:27 +020063usb/class/ccid/device/ccid_df.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010064hal/utils/src/utils_syscalls.o \
Harald Welte361ed202019-02-24 21:15:39 +010065stdio_redirect/gcc/read.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010066gcc/system_same54.o \
67hpl/usb/hpl_usb.o \
Kévin Redonc94e0fc2019-03-07 19:15:29 +010068dma_m2m/dma_memory.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010069hal/src/hal_delay.o \
70hpl/pm/hpl_pm.o \
71hpl/core/hpl_init.o \
72hpl/gclk/hpl_gclk.o \
73hal/utils/src/utils_list.o \
74hal/utils/src/utils_assert.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010075hpl/dmac/hpl_dmac.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010076hpl/oscctrl/hpl_oscctrl.o \
Harald Welte361ed202019-02-24 21:15:39 +010077hal/src/hal_usart_sync.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010078hpl/mclk/hpl_mclk.o \
79hpl/ramecc/hpl_ramecc.o \
Harald Welte361ed202019-02-24 21:15:39 +010080stdio_start.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010081usb/usb_protocol.o \
82hal/src/hal_init.o \
83gcc/gcc/startup_same54.o \
84hal/src/hal_usb_device.o \
Kévin Redon4e39b012019-01-30 15:55:58 +010085main.o \
Harald Welte67b2aba2019-04-16 20:47:22 +020086manual_test.o \
Harald Weltebf6c6102019-04-17 20:54:29 +020087talloc.o \
Harald Weltec3f170d2019-02-24 09:06:59 +010088i2c_bitbang.o \
89octsim_i2c.o \
90ncn8025.o \
Harald Welteff9f4ce2019-02-24 22:51:09 +010091command.o \
Kévin Redon632502d2019-05-02 15:55:31 +020092iso7816_3.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010093hpl/osc32kctrl/hpl_osc32kctrl.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010094driver_init.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010095hal/src/hal_usart_async.o \
Kévin Redonde9fb2e2019-04-03 20:55:02 +020096hal/src/hal_usart_async_rings.o \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +010097hpl/sercom/hpl_sercom.o \
Kévin Redonccbed0b2019-01-24 18:30:26 +010098hal/utils/src/utils_ringbuffer.o \
Kévin Redon69b92d92019-01-24 16:39:20 +010099hal/src/hal_gpio.o \
100hal/utils/src/utils_event.o \
101hal/src/hal_sleep.o \
Kévin Redonc94e0fc2019-03-07 19:15:29 +0100102usb_start.o \
Kévin Redon69b92d92019-01-24 16:39:20 +0100103hpl/cmcc/hpl_cmcc.o \
104atmel_start.o \
Kévin Redon69b92d92019-01-24 16:39:20 +0100105usb/device/usbdc.o \
106hal/src/hal_atomic.o
107
108OBJS_AS_ARGS += \
109"hal/src/hal_io.o" \
Harald Welte361ed202019-02-24 21:15:39 +0100110"stdio_redirect/stdio_io.o" \
111"stdio_redirect/gcc/write.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100112"hpl/core/hpl_core_m4.o" \
Kévin Redonc94e0fc2019-03-07 19:15:29 +0100113"hal/src/hal_cache.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100114"usb/class/cdc/device/cdcdf_acm.o" \
Harald Welte76105252019-04-17 16:31:27 +0200115"usb/class/ccid/device/ccid_df.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100116"hal/utils/src/utils_syscalls.o" \
Harald Welte361ed202019-02-24 21:15:39 +0100117"stdio_redirect/gcc/read.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100118"gcc/system_same54.o" \
119"hpl/usb/hpl_usb.o" \
Kévin Redonc94e0fc2019-03-07 19:15:29 +0100120"dma_m2m/dma_memory.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100121"hal/src/hal_delay.o" \
122"hpl/pm/hpl_pm.o" \
123"hpl/core/hpl_init.o" \
124"hpl/gclk/hpl_gclk.o" \
125"hal/utils/src/utils_list.o" \
126"hal/utils/src/utils_assert.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100127"hpl/dmac/hpl_dmac.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100128"hpl/oscctrl/hpl_oscctrl.o" \
Harald Welte361ed202019-02-24 21:15:39 +0100129"hal/src/hal_usart_sync.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100130"hpl/mclk/hpl_mclk.o" \
131"hpl/ramecc/hpl_ramecc.o" \
Harald Welte361ed202019-02-24 21:15:39 +0100132"stdio_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100133"usb/usb_protocol.o" \
134"hal/src/hal_init.o" \
135"gcc/gcc/startup_same54.o" \
136"hal/src/hal_usb_device.o" \
Kévin Redon4e39b012019-01-30 15:55:58 +0100137"main.o" \
Harald Welte67b2aba2019-04-16 20:47:22 +0200138"manual_test.o" \
Harald Weltebf6c6102019-04-17 20:54:29 +0200139"talloc.o" \
Harald Weltec3f170d2019-02-24 09:06:59 +0100140"i2c_bitbang.o" \
141"octsim_i2c.o" \
142"ncn8025.o" \
Harald Welteff9f4ce2019-02-24 22:51:09 +0100143"command.o" \
Kévin Redon632502d2019-05-02 15:55:31 +0200144"iso7816_3.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100145"hpl/osc32kctrl/hpl_osc32kctrl.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100146"driver_init.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100147"hal/src/hal_usart_async.o" \
Kévin Redonde9fb2e2019-04-03 20:55:02 +0200148"hal/src/hal_usart_async_rings.o" \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100149"hpl/sercom/hpl_sercom.o" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100150"hal/utils/src/utils_ringbuffer.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100151"hal/src/hal_gpio.o" \
152"hal/utils/src/utils_event.o" \
153"hal/src/hal_sleep.o" \
Kévin Redonc94e0fc2019-03-07 19:15:29 +0100154"usb_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100155"hpl/cmcc/hpl_cmcc.o" \
156"atmel_start.o" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100157"usb/device/usbdc.o" \
158"hal/src/hal_atomic.o"
159
160# List the dependency files
161DEPS := $(OBJS:%.o=%.d)
162
163DEPS_AS_ARGS += \
Kévin Redonc94e0fc2019-03-07 19:15:29 +0100164"dma_m2m/dma_memory.d" \
Harald Welte361ed202019-02-24 21:15:39 +0100165"stdio_redirect/stdio_io.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100166"hal/utils/src/utils_event.d" \
167"hal/src/hal_io.d" \
168"hpl/ramecc/hpl_ramecc.d" \
169"hpl/core/hpl_core_m4.d" \
170"hal/utils/src/utils_syscalls.d" \
171"usb/class/cdc/device/cdcdf_acm.d" \
Harald Welte361ed202019-02-24 21:15:39 +0100172"stdio_redirect/gcc/write.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100173"gcc/gcc/startup_same54.d" \
174"hpl/usb/hpl_usb.d" \
175"hal/utils/src/utils_list.d" \
176"hpl/cmcc/hpl_cmcc.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100177"hpl/dmac/hpl_dmac.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100178"hal/utils/src/utils_assert.d" \
179"hal/src/hal_delay.d" \
180"hpl/core/hpl_init.d" \
181"hpl/pm/hpl_pm.d" \
182"usb/usb_protocol.d" \
Harald Welte361ed202019-02-24 21:15:39 +0100183"stdio_start.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100184"hpl/gclk/hpl_gclk.d" \
185"hal/src/hal_usb_device.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100186"usb_start.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100187"hal/src/hal_init.d" \
Harald Welte361ed202019-02-24 21:15:39 +0100188"hal/src/hal_usart_sync.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100189"hpl/mclk/hpl_mclk.d" \
190"driver_init.d" \
Harald Welte361ed202019-02-24 21:15:39 +0100191"stdio_redirect/gcc/read.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100192"hal/src/hal_usart_async.d" \
Kévin Redonde9fb2e2019-04-03 20:55:02 +0200193"hal/src/hal_usart_async_rings.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100194"hpl/osc32kctrl/hpl_osc32kctrl.d" \
Kévin Redon4e39b012019-01-30 15:55:58 +0100195"main.d" \
Harald Welte67b2aba2019-04-16 20:47:22 +0200196"manual_test.d" \
Harald Weltebf6c6102019-04-17 20:54:29 +0200197"talloc.d" \
Harald Weltec3f170d2019-02-24 09:06:59 +0100198"i2c_bitbang.d" \
199"octsim_i2c.d" \
200"ncn8025.d" \
Harald Welteff9f4ce2019-02-24 22:51:09 +0100201"command.d" \
Kévin Redon632502d2019-05-02 15:55:31 +0200202"iso7816_3.d" \
203"hal/src/halcache.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100204"hal/src/hal_sleep.d" \
Kévin Redonccbed0b2019-01-24 18:30:26 +0100205"hal/utils/src/utils_ringbuffer.d" \
Kévin Redon4cd3f7d2019-01-24 17:57:13 +0100206"hpl/sercom/hpl_sercom.d" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100207"hal/src/hal_gpio.d" \
208"hal/src/hal_atomic.d" \
209"usb/device/usbdc.d" \
210"hpl/oscctrl/hpl_oscctrl.d" \
211"gcc/system_same54.d" \
212"atmel_start.d"
213
214OUTPUT_FILE_NAME :=AtmelStart
215QUOTE := "
216OUTPUT_FILE_PATH +=$(OUTPUT_FILE_NAME).elf
217OUTPUT_FILE_PATH_AS_ARGS +=$(OUTPUT_FILE_NAME).elf
218
219vpath %.c ../
220vpath %.s ../
221vpath %.S ../
222
223# All Target
224all: $(SUB_DIRS) $(OUTPUT_FILE_PATH)
225
226# Linker target
227
228$(OUTPUT_FILE_PATH): $(OBJS)
229 @echo Building target: $@
230 @echo Invoking: ARM/GNU Linker
Harald Welte6f7dde72019-04-17 22:08:57 +0200231 $(QUOTE)arm-none-eabi-gcc$(QUOTE) -o $(OUTPUT_FILE_NAME).elf $(OBJS_AS_ARGS) $(EXTRA_LIBS) -Wl,--start-group -lm -Wl,--end-group -mthumb \
Kévin Redon69b92d92019-01-24 16:39:20 +0100232-Wl,-Map="$(OUTPUT_FILE_NAME).map" --specs=nano.specs -Wl,--gc-sections -mcpu=cortex-m4 \
233 \
Kévin Redoneff5cb52019-02-03 14:17:40 +0100234-T"../gcc/gcc/same54n19a_dfu.ld" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100235-L"../gcc/gcc"
236 @echo Finished building target: $@
237
238 "arm-none-eabi-objcopy" -O binary "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).bin"
239 "arm-none-eabi-objcopy" -O ihex -R .eeprom -R .fuse -R .lock -R .signature \
240 "$(OUTPUT_FILE_NAME).elf" "$(OUTPUT_FILE_NAME).hex"
241 "arm-none-eabi-objcopy" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma \
242 .eeprom=0 --no-change-warnings -O binary "$(OUTPUT_FILE_NAME).elf" \
243 "$(OUTPUT_FILE_NAME).eep" || exit 0
244 "arm-none-eabi-objdump" -h -S "$(OUTPUT_FILE_NAME).elf" > "$(OUTPUT_FILE_NAME).lss"
245 "arm-none-eabi-size" "$(OUTPUT_FILE_NAME).elf"
246
247
248
249# Compiler targets
250
251
252
253
254%.o: %.c
255 @echo Building file: $<
256 @echo ARM/GNU C Compiler
257 $(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 +0100258-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Harald Welte6f7dde72019-04-17 22:08:57 +0200259-I"../" -I"../config" -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/class/ccid" -I"../usb/class/ccid/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../dma_m2m" -I"../" -I"../CMSIS/Core/Include" -I"../include" $(EXTRA_CFLAGS) \
Kévin Redon69b92d92019-01-24 16:39:20 +0100260-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
261 @echo Finished building: $<
262
263%.o: %.s
264 @echo Building file: $<
265 @echo ARM/GNU Assembler
266 $(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 +0100267-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Harald Welte76105252019-04-17 16:31:27 +0200268-I"../" -I"../config" -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/class/ccid" -I"../usb/class/ccid/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../dma_m2m" -I"../" -I"../CMSIS/Core/Include" -I"../include" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100269-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
270 @echo Finished building: $<
271
272%.o: %.S
273 @echo Building file: $<
274 @echo ARM/GNU Preprocessing Assembler
275 $(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 +0100276-D__SAME54N19A__ -mcpu=cortex-m4 -mfloat-abi=softfp -mfpu=fpv4-sp-d16 \
Harald Welte76105252019-04-17 16:31:27 +0200277-I"../" -I"../config" -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/class/ccid" -I"../usb/class/ccid/device" -I"../usb/device" -I"../" -I"../config" -I"../stdio_redirect" -I"../" -I"../dma_m2m" -I"../" -I"../CMSIS/Core/Include" -I"../include" \
Kévin Redon69b92d92019-01-24 16:39:20 +0100278-MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
279 @echo Finished building: $<
280
281# Detect changes in the dependent files and recompile the respective object files.
282ifneq ($(MAKECMDGOALS),clean)
283ifneq ($(strip $(DEPS)),)
284-include $(DEPS)
285endif
286endif
287
288$(SUB_DIRS):
289 $(MK_DIR) "$@"
290
291clean:
292 rm -f $(OBJS_AS_ARGS)
293 rm -f $(OUTPUT_FILE_PATH)
294 rm -f $(DEPS_AS_ARGS)
295 rm -f $(OUTPUT_FILE_NAME).a $(OUTPUT_FILE_NAME).hex $(OUTPUT_FILE_NAME).bin \
296 $(OUTPUT_FILE_NAME).lss $(OUTPUT_FILE_NAME).eep $(OUTPUT_FILE_NAME).map \
Kévin Redonc94e0fc2019-03-07 19:15:29 +0100297 $(OUTPUT_FILE_NAME).srec