So on my OpenBSD box there

Found at: vernunftzentrum.de:70/ckeen/phlog/2019-02-04-Programming-arduinos-without-an-IDE.md

So on my OpenBSD box there has been an arduino package that did not
use the Java IDE for programming an arduino or such clones. It came
make upload to programm your device.
But alas, the core libs have been outdated for quite a while. Running
cool libs like the fastled.io library was just not possible. Now the
makefile has been purged too!
After some poking I found the commit message of the port stating that
t now uses the arduino-makefile port, which is a general project for
building arduino code with a GNU Makefile.
This does include a 'serial monitor' and easy configuration, way
easier than before!
So a simple makefile for a fastled demo looks like this:
BOARD_TAG    = uno
USER_LIB_PATH = /home/ckeen/arduino/libs/
MONITOR_PORT = /dev/cuaU0
nclude ${ARDMK_DIR}/Arduino.mk
And I have cloned the fastled lib into my $HOME/arduino/libs before.
built automatically with a 'make upload'. This approach works nicely!
There are two caveats on OpenBSD / with arduino-makefile:
 - add yourself to the dialer group, for getting access to the
   /dev/cuaU0 device. 
 - the makefile does not do any preprocessing
   like the arduino IDE, so you will need to rearrange the sources
   of most sketches a bit to have the functions defined in the right
   order (or add forward declarations)