39 lines
933 B
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
|