A Makefile for popular Microcontrollers supporting Arduino-2.3.x (avr, attiny, esp8266, esp32 and pico boards).
If:
- You'd prefer to be using vi or emacs to the Arduino IDE
- Your preferred source tree layout differs from Arduino's
- You want to program more than one type of board at the same time
- You want more control over the build process than it gives you (e.g., compiler optimisation levels)
- ... then this is for you!
Install the makefile fragments in somedir.
Create a Makefile in your sketch directory, such as this, for a TI Launchpad:
BOARD := MSP-EXP430FR5739LP
include msp430.mk
For an Arduino Uno, the equivalent would be:
BOARD := uno
include avr.mk
A minimal Makefile must specify a BOARD and include only one core. See the documentation for core-specific options.
Invoke with:
make -I somedir
Note: installing the fragments in a directory on Gnu Make's include path means you can simply do:
make
See the documentation.
- avr, 1.8.6
- attiny, 1.5.2
- Arduino esp8266, 3.1.2
- Arduino esp32, 3.3.7
- stm32, 2.6.0
- rp2040, 5.4.4
- Energia tivac, 1.0.4
- Energia msp430, 1.0.7
Note: Energia is no longer developed. Its cores are now integrated with Arduino via this repository.
uC-Makefile requires pcre2grep to be installed.
- elpaso's Makefile for msp430 provided inspiration.
- attiny support is largely due to SpenceKonde's ATTinyCore