lewis-crawler/crawler_software/arduino/crawler_slave/Makefile

39 lines
933 B
Makefile

# A makefile for building the robot's slave software
# Uses arduino-cli
#
# Kitsune Scientific 2021
# What board to build for and its core
CORE ?= arduino:avr
FQBN ?= arduino:avr:nano:cpu=atmega328old
# What port to build on
ifndef SERIAL_DEV
ifneq (,$(wildcard /dev/ttyUSB0))
SERIAL_DEV = /dev/ttyUSB0
else ifneq (,$(wildcard /dev/ttyACM0))
SERIAL_DEV = /dev/ttyACM0
else
SERIAL_DEV = unknown
endif
endif
all: requirements build upload
build: requirements crawler_slave.ino
arduino-cli core install $(CORE)
arduino-cli compile -b $(FQBN) crawler_slave
upload: requirements crawler_slave.ino
arduino-cli upload -b $(FQBN) crawler_slave -p $(SERIAL_DEV)
requirements:
@if [ -e requirements.txt ]; \
then while read -r i ; do echo ; \
echo "---> Installing " '"'$$i'"' ; \
arduino-cli lib install "$$i" ; \
done < requirements.txt ; \
else echo "---> MISSING requirements.txt file"; \
fi