From 39bba27d7dcbe8c22b3f6651f7ae3aa2d6a7c28c Mon Sep 17 00:00:00 2001 From: Joey Castillo Date: Sat, 28 Aug 2021 13:58:21 -0400 Subject: simplify project makefiles --- Sensor Watch BME280 Project/make/Makefile | 150 +----------------------- Sensor Watch Buzzer Demo/make/Makefile | 150 +----------------------- Sensor Watch Starter Project/make/Makefile | 181 ++++------------------------- make.mk | 113 ++++++++++++++++++ rules.mk | 41 +++++++ 5 files changed, 185 insertions(+), 450 deletions(-) create mode 100644 make.mk create mode 100644 rules.mk diff --git a/Sensor Watch BME280 Project/make/Makefile b/Sensor Watch BME280 Project/make/Makefile index 9b8d25c0..358bb860 100755 --- a/Sensor Watch BME280 Project/make/Makefile +++ b/Sensor Watch BME280 Project/make/Makefile @@ -1,151 +1,9 @@ -############################################################################## -BUILD = build -BIN = watch +include ../../make.mk -############################################################################## -.PHONY: all directory clean size - -CC = arm-none-eabi-gcc -OBJCOPY = arm-none-eabi-objcopy -SIZE = arm-none-eabi-size -UF2 = python ../../utils/uf2conv.py - -ifeq ($(OS), Windows_NT) - MKDIR = gmkdir -else - MKDIR = mkdir -endif - -CFLAGS += -W -Wall --std=gnu99 -Os -CFLAGS += -fno-diagnostics-show-caret -CFLAGS += -fdata-sections -ffunction-sections -CFLAGS += -funsigned-char -funsigned-bitfields -CFLAGS += -mcpu=cortex-m0plus -mthumb -CFLAGS += -MD -MP -MT $(BUILD)/$(*F).o -MF $(BUILD)/$(@F).d - -LDFLAGS += -mcpu=cortex-m0plus -mthumb -LDFLAGS += -Wl,--gc-sections -LDFLAGS += -Wl,--script=../../watch-library/linker/saml22j18.ld - -# If you add any additional directories with headers, add them to this list, e.g. -# ../drivers/ INCLUDES += \ - -I../ \ - -I../../watch-library/include \ - -I../../watch-library/hal/ \ - -I../../watch-library/hal/documentation/ \ - -I../../watch-library/hal/include/ \ - -I../../watch-library/hal/src/ \ - -I../../watch-library/hal/utils/ \ - -I../../watch-library/hal/utils/include/ \ - -I../../watch-library/hal/utils/src/ \ - -I../../watch-library/hpl/ \ - -I../../watch-library/hpl/adc/ \ - -I../../watch-library/hpl/core/ \ - -I../../watch-library/hpl/dmac/ \ - -I../../watch-library/hpl/eic/ \ - -I../../watch-library/hpl/gclk/ \ - -I../../watch-library/hpl/mclk/ \ - -I../../watch-library/hpl/osc32kctrl/ \ - -I../../watch-library/hpl/oscctrl/ \ - -I../../watch-library/hpl/pm/ \ - -I../../watch-library/hpl/port/ \ - -I../../watch-library/hpl/rtc/ \ - -I../../watch-library/hpl/sercom/ \ - -I../../watch-library/hpl/slcd/ \ - -I../../watch-library/hpl/systick/ \ - -I../../watch-library/hpl/tcc/ \ - -I../../watch-library/hpl/tc/ \ - -I../../watch-library/hri/ \ - -I../../watch-library/config/ \ - -I../../watch-library/hw/ \ - -I../../watch-library/watch/ \ - -I../../watch-library + -I../ -# If you add any additional C files to your project, add them each to this list, e.g. -# ../drivers/st25dv.c SRCS += \ - ../app.c \ - ../../watch-library/main.c \ - ../../watch-library/startup_saml22.c \ - ../../watch-library/hw/driver_init.c \ - ../../watch-library/watch/watch.c \ - ../../watch-library/hal/src/hal_adc_sync.c \ - ../../watch-library/hal/src/hal_atomic.c \ - ../../watch-library/hal/src/hal_calendar.c \ - ../../watch-library/hal/src/hal_delay.c \ - ../../watch-library/hal/src/hal_ext_irq.c \ - ../../watch-library/hal/src/hal_gpio.c \ - ../../watch-library/hal/src/hal_i2c_m_sync.c \ - ../../watch-library/hal/src/hal_init.c \ - ../../watch-library/hal/src/hal_io.c \ - ../../watch-library/hal/src/hal_pwm.c \ - ../../watch-library/hal/src/hal_slcd_sync.c \ - ../../watch-library/hal/src/hal_sleep.c \ - ../../watch-library/hal/utils/src/utils_assert.c \ - ../../watch-library/hal/utils/src/utils_event.c \ - ../../watch-library/hal/utils/src/utils_list.c \ - ../../watch-library/hal/utils/src/utils_syscalls.c \ - ../../watch-library/hpl/adc/hpl_adc.c \ - ../../watch-library/hpl/core/hpl_core_m0plus_base.c \ - ../../watch-library/hpl/core/hpl_init.c \ - ../../watch-library/hpl/dmac/hpl_dmac.c \ - ../../watch-library/hpl/eic/hpl_eic.c \ - ../../watch-library/hpl/gclk/hpl_gclk.c \ - ../../watch-library/hpl/mclk/hpl_mclk.c \ - ../../watch-library/hpl/osc32kctrl/hpl_osc32kctrl.c \ - ../../watch-library/hpl/oscctrl/hpl_oscctrl.c \ - ../../watch-library/hpl/pm/hpl_pm.c \ - ../../watch-library/hpl/rtc/hpl_rtc.c \ - ../../watch-library/hpl/sercom/hpl_sercom.c \ - ../../watch-library/hpl/slcd/hpl_slcd.c \ - ../../watch-library/hpl/systick/hpl_systick.c \ - ../../watch-library/hpl/tcc/hpl_tcc.c \ - ../../watch-library/hpl/tc/hpl_tc.c - -DEFINES += \ - -D__SAML22J18A__ \ - -DDONT_USE_CMSIS_INIT - -CFLAGS += $(INCLUDES) $(DEFINES) - -OBJS = $(addprefix $(BUILD)/, $(notdir %/$(subst .c,.o, $(SRCS)))) - -all: directory $(BUILD)/$(BIN).elf $(BUILD)/$(BIN).hex $(BUILD)/$(BIN).bin $(BUILD)/$(BIN).uf2 size - -$(BUILD)/$(BIN).elf: $(OBJS) - @echo LD $@ - @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ - -$(BUILD)/$(BIN).hex: $(BUILD)/$(BIN).elf - @echo OBJCOPY $@ - @$(OBJCOPY) -O ihex $^ $@ - -$(BUILD)/$(BIN).bin: $(BUILD)/$(BIN).elf - @echo OBJCOPY $@ - @$(OBJCOPY) -O binary $^ $@ - -$(BUILD)/$(BIN).uf2: $(BUILD)/$(BIN).bin - @echo UF2CONV $@ - @$(UF2) $^ -co $@ - -install: - @$(UF2) -D $(BUILD)/$(BIN).uf2 - -%.o: - @echo CC $@ - @$(CC) $(CFLAGS) $(filter %/$(subst .o,.c,$(notdir $@)), $(SRCS)) -c -o $@ - -directory: - @$(MKDIR) -p $(BUILD) - -size: $(BUILD)/$(BIN).elf - @echo size: - @$(SIZE) -t $^ - -clean: - @echo clean - @-rm -rf $(BUILD) - --include $(wildcard $(BUILD)/*.d) + ../app.c +include ../../rules.mk diff --git a/Sensor Watch Buzzer Demo/make/Makefile b/Sensor Watch Buzzer Demo/make/Makefile index 9b8d25c0..358bb860 100755 --- a/Sensor Watch Buzzer Demo/make/Makefile +++ b/Sensor Watch Buzzer Demo/make/Makefile @@ -1,151 +1,9 @@ -############################################################################## -BUILD = build -BIN = watch +include ../../make.mk -############################################################################## -.PHONY: all directory clean size - -CC = arm-none-eabi-gcc -OBJCOPY = arm-none-eabi-objcopy -SIZE = arm-none-eabi-size -UF2 = python ../../utils/uf2conv.py - -ifeq ($(OS), Windows_NT) - MKDIR = gmkdir -else - MKDIR = mkdir -endif - -CFLAGS += -W -Wall --std=gnu99 -Os -CFLAGS += -fno-diagnostics-show-caret -CFLAGS += -fdata-sections -ffunction-sections -CFLAGS += -funsigned-char -funsigned-bitfields -CFLAGS += -mcpu=cortex-m0plus -mthumb -CFLAGS += -MD -MP -MT $(BUILD)/$(*F).o -MF $(BUILD)/$(@F).d - -LDFLAGS += -mcpu=cortex-m0plus -mthumb -LDFLAGS += -Wl,--gc-sections -LDFLAGS += -Wl,--script=../../watch-library/linker/saml22j18.ld - -# If you add any additional directories with headers, add them to this list, e.g. -# ../drivers/ INCLUDES += \ - -I../ \ - -I../../watch-library/include \ - -I../../watch-library/hal/ \ - -I../../watch-library/hal/documentation/ \ - -I../../watch-library/hal/include/ \ - -I../../watch-library/hal/src/ \ - -I../../watch-library/hal/utils/ \ - -I../../watch-library/hal/utils/include/ \ - -I../../watch-library/hal/utils/src/ \ - -I../../watch-library/hpl/ \ - -I../../watch-library/hpl/adc/ \ - -I../../watch-library/hpl/core/ \ - -I../../watch-library/hpl/dmac/ \ - -I../../watch-library/hpl/eic/ \ - -I../../watch-library/hpl/gclk/ \ - -I../../watch-library/hpl/mclk/ \ - -I../../watch-library/hpl/osc32kctrl/ \ - -I../../watch-library/hpl/oscctrl/ \ - -I../../watch-library/hpl/pm/ \ - -I../../watch-library/hpl/port/ \ - -I../../watch-library/hpl/rtc/ \ - -I../../watch-library/hpl/sercom/ \ - -I../../watch-library/hpl/slcd/ \ - -I../../watch-library/hpl/systick/ \ - -I../../watch-library/hpl/tcc/ \ - -I../../watch-library/hpl/tc/ \ - -I../../watch-library/hri/ \ - -I../../watch-library/config/ \ - -I../../watch-library/hw/ \ - -I../../watch-library/watch/ \ - -I../../watch-library + -I../ -# If you add any additional C files to your project, add them each to this list, e.g. -# ../drivers/st25dv.c SRCS += \ - ../app.c \ - ../../watch-library/main.c \ - ../../watch-library/startup_saml22.c \ - ../../watch-library/hw/driver_init.c \ - ../../watch-library/watch/watch.c \ - ../../watch-library/hal/src/hal_adc_sync.c \ - ../../watch-library/hal/src/hal_atomic.c \ - ../../watch-library/hal/src/hal_calendar.c \ - ../../watch-library/hal/src/hal_delay.c \ - ../../watch-library/hal/src/hal_ext_irq.c \ - ../../watch-library/hal/src/hal_gpio.c \ - ../../watch-library/hal/src/hal_i2c_m_sync.c \ - ../../watch-library/hal/src/hal_init.c \ - ../../watch-library/hal/src/hal_io.c \ - ../../watch-library/hal/src/hal_pwm.c \ - ../../watch-library/hal/src/hal_slcd_sync.c \ - ../../watch-library/hal/src/hal_sleep.c \ - ../../watch-library/hal/utils/src/utils_assert.c \ - ../../watch-library/hal/utils/src/utils_event.c \ - ../../watch-library/hal/utils/src/utils_list.c \ - ../../watch-library/hal/utils/src/utils_syscalls.c \ - ../../watch-library/hpl/adc/hpl_adc.c \ - ../../watch-library/hpl/core/hpl_core_m0plus_base.c \ - ../../watch-library/hpl/core/hpl_init.c \ - ../../watch-library/hpl/dmac/hpl_dmac.c \ - ../../watch-library/hpl/eic/hpl_eic.c \ - ../../watch-library/hpl/gclk/hpl_gclk.c \ - ../../watch-library/hpl/mclk/hpl_mclk.c \ - ../../watch-library/hpl/osc32kctrl/hpl_osc32kctrl.c \ - ../../watch-library/hpl/oscctrl/hpl_oscctrl.c \ - ../../watch-library/hpl/pm/hpl_pm.c \ - ../../watch-library/hpl/rtc/hpl_rtc.c \ - ../../watch-library/hpl/sercom/hpl_sercom.c \ - ../../watch-library/hpl/slcd/hpl_slcd.c \ - ../../watch-library/hpl/systick/hpl_systick.c \ - ../../watch-library/hpl/tcc/hpl_tcc.c \ - ../../watch-library/hpl/tc/hpl_tc.c - -DEFINES += \ - -D__SAML22J18A__ \ - -DDONT_USE_CMSIS_INIT - -CFLAGS += $(INCLUDES) $(DEFINES) - -OBJS = $(addprefix $(BUILD)/, $(notdir %/$(subst .c,.o, $(SRCS)))) - -all: directory $(BUILD)/$(BIN).elf $(BUILD)/$(BIN).hex $(BUILD)/$(BIN).bin $(BUILD)/$(BIN).uf2 size - -$(BUILD)/$(BIN).elf: $(OBJS) - @echo LD $@ - @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ - -$(BUILD)/$(BIN).hex: $(BUILD)/$(BIN).elf - @echo OBJCOPY $@ - @$(OBJCOPY) -O ihex $^ $@ - -$(BUILD)/$(BIN).bin: $(BUILD)/$(BIN).elf - @echo OBJCOPY $@ - @$(OBJCOPY) -O binary $^ $@ - -$(BUILD)/$(BIN).uf2: $(BUILD)/$(BIN).bin - @echo UF2CONV $@ - @$(UF2) $^ -co $@ - -install: - @$(UF2) -D $(BUILD)/$(BIN).uf2 - -%.o: - @echo CC $@ - @$(CC) $(CFLAGS) $(filter %/$(subst .o,.c,$(notdir $@)), $(SRCS)) -c -o $@ - -directory: - @$(MKDIR) -p $(BUILD) - -size: $(BUILD)/$(BIN).elf - @echo size: - @$(SIZE) -t $^ - -clean: - @echo clean - @-rm -rf $(BUILD) - --include $(wildcard $(BUILD)/*.d) + ../app.c +include ../../rules.mk diff --git a/Sensor Watch Starter Project/make/Makefile b/Sensor Watch Starter Project/make/Makefile index e9a581d5..bf6d4232 100755 --- a/Sensor Watch Starter Project/make/Makefile +++ b/Sensor Watch Starter Project/make/Makefile @@ -1,158 +1,23 @@ -############################################################################## -BUILD = build -BIN = watch - -############################################################################## -.PHONY: all directory clean size - -CC = arm-none-eabi-gcc -OBJCOPY = arm-none-eabi-objcopy -SIZE = arm-none-eabi-size -UF2 = python ../../utils/uf2conv.py - -ifeq ($(OS), Windows_NT) - MKDIR = gmkdir -else - MKDIR = mkdir -endif - -CFLAGS += -W -Wall --std=gnu99 -Os -CFLAGS += -fno-diagnostics-show-caret -CFLAGS += -fdata-sections -ffunction-sections -CFLAGS += -funsigned-char -funsigned-bitfields -CFLAGS += -mcpu=cortex-m0plus -mthumb -CFLAGS += -MD -MP -MT $(BUILD)/$(*F).o -MF $(BUILD)/$(@F).d - -LDFLAGS += -mcpu=cortex-m0plus -mthumb -LDFLAGS += -Wl,--gc-sections -LDFLAGS += -Wl,--script=../../watch-library/linker/saml22j18.ld - -# If you add any additional directories with headers, add them to this list, e.g. -# ../drivers/ -INCLUDES += \ - -I../ \ - -I../../tinyusb/src \ - -I../../watch-library/include \ - -I../../watch-library/hal/ \ - -I../../watch-library/hal/documentation/ \ - -I../../watch-library/hal/include/ \ - -I../../watch-library/hal/src/ \ - -I../../watch-library/hal/utils/ \ - -I../../watch-library/hal/utils/include/ \ - -I../../watch-library/hal/utils/src/ \ - -I../../watch-library/hpl/ \ - -I../../watch-library/hpl/adc/ \ - -I../../watch-library/hpl/core/ \ - -I../../watch-library/hpl/dmac/ \ - -I../../watch-library/hpl/eic/ \ - -I../../watch-library/hpl/gclk/ \ - -I../../watch-library/hpl/mclk/ \ - -I../../watch-library/hpl/osc32kctrl/ \ - -I../../watch-library/hpl/oscctrl/ \ - -I../../watch-library/hpl/pm/ \ - -I../../watch-library/hpl/port/ \ - -I../../watch-library/hpl/rtc/ \ - -I../../watch-library/hpl/sercom/ \ - -I../../watch-library/hpl/slcd/ \ - -I../../watch-library/hpl/systick/ \ - -I../../watch-library/hpl/tcc/ \ - -I../../watch-library/hpl/tc/ \ - -I../../watch-library/hri/ \ - -I../../watch-library/config/ \ - -I../../watch-library/hw/ \ - -I../../watch-library/watch/ \ - -I../../watch-library - -# If you add any additional C files to your project, add them each to this list, e.g. -# ../drivers/st25dv.c -SRCS += \ - ../app.c \ - ../../tinyusb/src/tusb.c \ - ../../tinyusb/src/common/tusb_fifo.c \ - ../../tinyusb/src/class/cdc/cdc_device.c \ - ../../tinyusb/src/device/usbd.c \ - ../../tinyusb/src/device/usbd_control.c \ - ../../tinyusb/src/portable/microchip/samd/dcd_samd.c \ - ../../watch-library/main.c \ - ../../watch-library/startup_saml22.c \ - ../../watch-library/hw/driver_init.c \ - ../../watch-library/watch/watch.c \ - ../../watch-library/hal/src/hal_adc_sync.c \ - ../../watch-library/hal/src/hal_atomic.c \ - ../../watch-library/hal/src/hal_calendar.c \ - ../../watch-library/hal/src/hal_delay.c \ - ../../watch-library/hal/src/hal_ext_irq.c \ - ../../watch-library/hal/src/hal_gpio.c \ - ../../watch-library/hal/src/hal_i2c_m_sync.c \ - ../../watch-library/hal/src/hal_init.c \ - ../../watch-library/hal/src/hal_io.c \ - ../../watch-library/hal/src/hal_pwm.c \ - ../../watch-library/hal/src/hal_slcd_sync.c \ - ../../watch-library/hal/src/hal_sleep.c \ - ../../watch-library/hal/utils/src/utils_assert.c \ - ../../watch-library/hal/utils/src/utils_event.c \ - ../../watch-library/hal/utils/src/utils_list.c \ - ../../watch-library/hal/utils/src/utils_syscalls.c \ - ../../watch-library/hpl/adc/hpl_adc.c \ - ../../watch-library/hpl/core/hpl_core_m0plus_base.c \ - ../../watch-library/hpl/core/hpl_init.c \ - ../../watch-library/hpl/dmac/hpl_dmac.c \ - ../../watch-library/hpl/eic/hpl_eic.c \ - ../../watch-library/hpl/gclk/hpl_gclk.c \ - ../../watch-library/hpl/mclk/hpl_mclk.c \ - ../../watch-library/hpl/osc32kctrl/hpl_osc32kctrl.c \ - ../../watch-library/hpl/oscctrl/hpl_oscctrl.c \ - ../../watch-library/hpl/pm/hpl_pm.c \ - ../../watch-library/hpl/rtc/hpl_rtc.c \ - ../../watch-library/hpl/sercom/hpl_sercom.c \ - ../../watch-library/hpl/slcd/hpl_slcd.c \ - ../../watch-library/hpl/systick/hpl_systick.c \ - ../../watch-library/hpl/tcc/hpl_tcc.c \ - ../../watch-library/hpl/tc/hpl_tc.c - -DEFINES += \ - -D__SAML22J18A__ \ - -DDONT_USE_CMSIS_INIT - -CFLAGS += $(INCLUDES) $(DEFINES) - -OBJS = $(addprefix $(BUILD)/, $(notdir %/$(subst .c,.o, $(SRCS)))) - -all: directory $(BUILD)/$(BIN).elf $(BUILD)/$(BIN).hex $(BUILD)/$(BIN).bin $(BUILD)/$(BIN).uf2 size - -$(BUILD)/$(BIN).elf: $(OBJS) - @echo LD $@ - @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ - -$(BUILD)/$(BIN).hex: $(BUILD)/$(BIN).elf - @echo OBJCOPY $@ - @$(OBJCOPY) -O ihex $^ $@ - -$(BUILD)/$(BIN).bin: $(BUILD)/$(BIN).elf - @echo OBJCOPY $@ - @$(OBJCOPY) -O binary $^ $@ - -$(BUILD)/$(BIN).uf2: $(BUILD)/$(BIN).bin - @echo UF2CONV $@ - @$(UF2) $^ -co $@ - -install: - @$(UF2) -D $(BUILD)/$(BIN).uf2 - -%.o: - @echo CC $@ - @$(CC) $(CFLAGS) $(filter %/$(subst .o,.c,$(notdir $@)), $(SRCS)) -c -o $@ - -directory: - @$(MKDIR) -p $(BUILD) - -size: $(BUILD)/$(BIN).elf - @echo size: - @$(SIZE) -t $^ - -clean: - @echo clean - @-rm -rf $(BUILD) - --include $(wildcard $(BUILD)/*.d) - +# Leave this line at the top of the file; it has all the watch library sources and includes. +include ../../make.mk + +# If you add any other subdirectories with header files you wish to include, add them after ../ +# Note that you will need to add a backslash at the end of any line you wish to continue, i.e. +# INCLUDES += \ +# -I../ \ +# -I../drivers/ \ +# -I../utils/ +INCLUDES += \ + -I../ \ + +# If you add any other source files you wish to compile, add them after ../app.c +# Note that you will need to add a backslash at the end of any line you wish to continue, i.e. +# SRCS += \ +# ../app.c \ +# ../drivers/bmp280.c \ +# ../utils/temperature.c +SRCS += \ + ../app.c \ + +# Leave this line at the bottom of the file; it has all the targets for making your project. +include ../../rules.mk diff --git a/make.mk b/make.mk new file mode 100644 index 00000000..38dcdf57 --- /dev/null +++ b/make.mk @@ -0,0 +1,113 @@ +############################################################################## +BUILD = ./build +BIN = watch + +############################################################################## +.PHONY: all directory clean size + +CC = arm-none-eabi-gcc +OBJCOPY = arm-none-eabi-objcopy +SIZE = arm-none-eabi-size +UF2 = python ../../utils/uf2conv.py + +ifeq ($(OS), Windows_NT) + MKDIR = gmkdir +else + MKDIR = mkdir +endif + +CFLAGS += -W -Wall --std=gnu99 -Os +CFLAGS += -fno-diagnostics-show-caret +CFLAGS += -fdata-sections -ffunction-sections +CFLAGS += -funsigned-char -funsigned-bitfields +CFLAGS += -mcpu=cortex-m0plus -mthumb +CFLAGS += -MD -MP -MT $(BUILD)/$(*F).o -MF $(BUILD)/$(@F).d + +LDFLAGS += -mcpu=cortex-m0plus -mthumb +LDFLAGS += -Wl,--gc-sections +LDFLAGS += -Wl,--script=../../watch-library/linker/saml22j18.ld + +# If you add any additional directories with headers, add them to this list, e.g. +# ../drivers/ +INCLUDES += \ + -I../../tinyusb/src \ + -I../../watch-library/include \ + -I../../watch-library/hal/ \ + -I../../watch-library/hal/documentation/ \ + -I../../watch-library/hal/include/ \ + -I../../watch-library/hal/src/ \ + -I../../watch-library/hal/utils/ \ + -I../../watch-library/hal/utils/include/ \ + -I../../watch-library/hal/utils/src/ \ + -I../../watch-library/hpl/ \ + -I../../watch-library/hpl/adc/ \ + -I../../watch-library/hpl/core/ \ + -I../../watch-library/hpl/dmac/ \ + -I../../watch-library/hpl/eic/ \ + -I../../watch-library/hpl/gclk/ \ + -I../../watch-library/hpl/mclk/ \ + -I../../watch-library/hpl/osc32kctrl/ \ + -I../../watch-library/hpl/oscctrl/ \ + -I../../watch-library/hpl/pm/ \ + -I../../watch-library/hpl/port/ \ + -I../../watch-library/hpl/rtc/ \ + -I../../watch-library/hpl/sercom/ \ + -I../../watch-library/hpl/slcd/ \ + -I../../watch-library/hpl/systick/ \ + -I../../watch-library/hpl/tcc/ \ + -I../../watch-library/hpl/tc/ \ + -I../../watch-library/hri/ \ + -I../../watch-library/config/ \ + -I../../watch-library/hw/ \ + -I../../watch-library/watch/ \ + -I../../watch-library + +# If you add any additional C files to your project, add them each to this list, e.g. +# ../drivers/st25dv.c +SRCS += \ + ../../tinyusb/src/tusb.c \ + ../../tinyusb/src/common/tusb_fifo.c \ + ../../tinyusb/src/class/cdc/cdc_device.c \ + ../../tinyusb/src/device/usbd.c \ + ../../tinyusb/src/device/usbd_control.c \ + ../../tinyusb/src/portable/microchip/samd/dcd_samd.c \ + ../../watch-library/main.c \ + ../../watch-library/startup_saml22.c \ + ../../watch-library/hw/driver_init.c \ + ../../watch-library/watch/watch.c \ + ../../watch-library/hal/src/hal_adc_sync.c \ + ../../watch-library/hal/src/hal_atomic.c \ + ../../watch-library/hal/src/hal_calendar.c \ + ../../watch-library/hal/src/hal_delay.c \ + ../../watch-library/hal/src/hal_ext_irq.c \ + ../../watch-library/hal/src/hal_gpio.c \ + ../../watch-library/hal/src/hal_i2c_m_sync.c \ + ../../watch-library/hal/src/hal_init.c \ + ../../watch-library/hal/src/hal_io.c \ + ../../watch-library/hal/src/hal_pwm.c \ + ../../watch-library/hal/src/hal_slcd_sync.c \ + ../../watch-library/hal/src/hal_sleep.c \ + ../../watch-library/hal/utils/src/utils_assert.c \ + ../../watch-library/hal/utils/src/utils_event.c \ + ../../watch-library/hal/utils/src/utils_list.c \ + ../../watch-library/hal/utils/src/utils_syscalls.c \ + ../../watch-library/hpl/adc/hpl_adc.c \ + ../../watch-library/hpl/core/hpl_core_m0plus_base.c \ + ../../watch-library/hpl/core/hpl_init.c \ + ../../watch-library/hpl/dmac/hpl_dmac.c \ + ../../watch-library/hpl/eic/hpl_eic.c \ + ../../watch-library/hpl/gclk/hpl_gclk.c \ + ../../watch-library/hpl/mclk/hpl_mclk.c \ + ../../watch-library/hpl/osc32kctrl/hpl_osc32kctrl.c \ + ../../watch-library/hpl/oscctrl/hpl_oscctrl.c \ + ../../watch-library/hpl/pm/hpl_pm.c \ + ../../watch-library/hpl/rtc/hpl_rtc.c \ + ../../watch-library/hpl/sercom/hpl_sercom.c \ + ../../watch-library/hpl/slcd/hpl_slcd.c \ + ../../watch-library/hpl/systick/hpl_systick.c \ + ../../watch-library/hpl/tcc/hpl_tcc.c \ + ../../watch-library/hpl/tc/hpl_tc.c + +DEFINES += \ + -D__SAML22J18A__ \ + -DDONT_USE_CMSIS_INIT diff --git a/rules.mk b/rules.mk new file mode 100644 index 00000000..cc442f67 --- /dev/null +++ b/rules.mk @@ -0,0 +1,41 @@ +CFLAGS += $(INCLUDES) $(DEFINES) + +OBJS = $(addprefix $(BUILD)/, $(notdir %/$(subst .c,.o, $(SRCS)))) + +all: directory $(BUILD)/$(BIN).elf $(BUILD)/$(BIN).hex $(BUILD)/$(BIN).bin $(BUILD)/$(BIN).uf2 size + +$(BUILD)/$(BIN).elf: $(OBJS) + @echo LD $@ + @$(CC) $(LDFLAGS) $(OBJS) $(LIBS) -o $@ + +$(BUILD)/$(BIN).hex: $(BUILD)/$(BIN).elf + @echo OBJCOPY $@ + @$(OBJCOPY) -O ihex $^ $@ + +$(BUILD)/$(BIN).bin: $(BUILD)/$(BIN).elf + @echo OBJCOPY $@ + @$(OBJCOPY) -O binary $^ $@ + +$(BUILD)/$(BIN).uf2: $(BUILD)/$(BIN).bin + @echo UF2CONV $@ + @$(UF2) $^ -co $@ + +install: + @$(UF2) -D $(BUILD)/$(BIN).uf2 + +%.o: + @echo CC $@ + @$(CC) $(CFLAGS) $(filter %/$(subst .o,.c,$(notdir $@)), $(SRCS)) -c -o $@ + +directory: + @$(MKDIR) -p $(BUILD) + +size: $(BUILD)/$(BIN).elf + @echo size: + @$(SIZE) -t $^ + +clean: + @echo clean + @-rm -rf $(BUILD) + +-include $(wildcard $(BUILD)/*.d) -- cgit v1.2.3