GithubHelp home page GithubHelp logo

sudar / arduino-makefile Goto Github PK

View Code? Open in Web Editor NEW
2.0K 2.0K 447.0 1.85 MB

Makefile for Arduino sketches. It defines the workflows for compiling code, flashing it to Arduino and even communicating through Serial.

Home Page: http://hardwarefun.com/tutorials/compiling-arduino-sketches-using-makefile

License: GNU Lesser General Public License v2.1

Makefile 78.82% Shell 7.85% Python 11.25% Roff 2.08%

arduino-makefile's People

Contributors

adamcdunlap avatar alohr avatar batchyx avatar biesiad avatar dcousens avatar dewhisna avatar dukejung avatar gaboose avatar gaftech avatar georgeharker avatar jeffkowalski avatar kierdavis avatar lukasz-e avatar maqifrnswa avatar matthijskooijman avatar peplin avatar petermosmans avatar ralfdoering avatar rpavlik avatar sej7278 avatar soburi avatar stepcut avatar straccio avatar sudar avatar svendahlstrand avatar szeder avatar taylorzowtuk avatar thomaskilian avatar tuna-f1sh avatar wingunder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arduino-makefile's Issues

Reset of Leonardo boards

Reset of Leonardo type boards is done a bit differently:

Rather than requiring a physical press of the reset button before an upload, the Leonardo is designed in a way that allows it to be reset by software running on a connected computer. The reset is triggered when the Leonardo's virtual (CDC) serial / COM port is opened at 1200 baud and then closed. When this happens, the processor will reset, breaking the USB connection to the computer (meaning that the virtual serial / COM port will disappear). After the processor resets, the bootloader starts, remaining active for about 8 seconds.

Please consider adding support for this to ard-reset-arduino. I'm no Perl wiz, but the following Python code did the trick:

import serial

ser = serial.Serial("/dev/ttyACM0", 1200)
ser.open()
ser.close()

Cheers!

Add symbol declaration from other ino files

When we have multiple ino files in a project, we can't use functions from other ino files like we do in the arduino editor.
The solution I found in order to maintain the compatibility with the standard editor is to add "extern" declarations of the symbols I need to use on top of the ino file in which I use them.

Would it be possible to make this automatic?

no make rule for hex in all

when I do a make, everything seems to build, but at the end I get an error:

make: *** No rule to make target `dkart_test_sprom.hex', needed by `all'.  Stop.

It appears to be making a binary file build-uno/dkart for an ino called dkart_test_sprom, but other files seem to be named correctly.

Here is my Makefile

I am using OSX 10.8.2 with Arduino 1.0.3.

Ability to use libraries from sketchbook folder as well

Thanks for this great makefile.
The script uses the libraries from the arduino folder; the arduino IDE will also allow you to put libraries in a "libraries" subfolder of your sketchbook folder. For my project I use libraries in both, and to get this to work with your script I had to copy them to the arduino libraries folder, which works, but even cooler would be to pull from both.
Thanks, Ken.

Weird lib problem

This sketch builds fine in the IDE, but not via CLI... I can't figure out why!

Help appreciated.

macbookair-brad:Parent brad$ ls -la
total 40
drwxr-xr-x   4 brad  brad    136  9 Jun 18:43 .
drwxr-xr-x  10 brad  brad    340  3 Jun 21:31 ..
-rw-r--r--   1 brad  brad    158  9 Jun 18:18 Makefile
-rw-r--r--@  1 brad  brad  15844  9 Jun 17:24 Parent.ino
macbookair-brad:Parent brad$ make
-------------------------
Arduino.mk Configuration:
- [USER]               ARDUINO_DIR = /Users/brad/Applications/Arduino.app/Contents/Resources/Java 
- [AUTODETECTED]       ARDUINO_VERSION = 105 
- [BUNDLED]            AVR_TOOLS_DIR = /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr (in Arduino distribution)
- [COMPUTED]           ARDUINO_LIB_PATH = /Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries (from ARDUINO_DIR)
- [COMPUTED]           ARDUINO_VAR_PATH = /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants (from ARDUINO_DIR)
- [USER]               ARDMK_DIR = /Users/brad/ard-make 
- [COMPUTED]           ARDMK_PATH = /Users/brad/ard-make/bin (relative to ARDMK_DIR)
-                      ARDUINO_SKETCHBOOK = /Users/brad/Documents/Arduino 
- [DEFAULT]            USER_LIB_PATH = /Users/brad/Documents/Arduino/libraries (in user sketchbook)
- [USER]               BOARD_TAG = pro328 
- [DETECTED]           MONITOR_BAUDRATE = 115200  (in sketch)
- [AUTODETECTED]       Size utility: AVR-aware for enhanced output
-
-                      ARDUINO_LIBS =
- [USER]                 Mirf
- [USER]                 Accelerometer
- [USER]                 i2c
- [USER]                 LEDLightFamilyHelper
- [SYSTEM]               SPI
-------------------------
mkdir build-pro328
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -x c++ -include Arduino.h -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   Parent.ino -o build-pro328/Parent.o
In file included from /Users/brad/Documents/Arduino/libraries/i2c/i2c.h:12,
                 from /Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper/LEDLightFamilyHelper.h:13,
                 from Parent.ino:67:
/Users/brad/Documents/Arduino/libraries/i2c/defs.h:84:1: warning: "PI" redefined
In file included from <command-line>:0:
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Arduino.h:28:1: warning: this is the location of the previous definition
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -std=gnu99   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/WInterrupts.c -o build-pro328/WInterrupts.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -std=gnu99   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring.c -o build-pro328/wiring.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -std=gnu99   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring_analog.c -o build-pro328/wiring_analog.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -std=gnu99   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring_digital.c -o build-pro328/wiring_digital.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -std=gnu99   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring_pulse.c -o build-pro328/wiring_pulse.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -std=gnu99   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/wiring_shift.c -o build-pro328/wiring_shift.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/CDC.cpp -o build-pro328/CDC.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HID.cpp -o build-pro328/HID.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp -o build-pro328/HardwareSerial.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp: In function 'void store_char(unsigned char, ring_buffer*)':
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp:98: warning: comparison between signed and unsigned integer expressions
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp: In function 'void __vector_18()':
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp:127: warning: unused variable 'c'
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp: In member function 'void HardwareSerial::begin(long unsigned int, byte)':
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp:368: warning: unused variable 'current_config'
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp: In member function 'virtual size_t HardwareSerial::write(uint8_t)':
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/HardwareSerial.cpp:467: warning: comparison between signed and unsigned integer expressions
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/IPAddress.cpp -o build-pro328/IPAddress.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.cpp -o build-pro328/Print.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.cpp: In member function 'size_t Print::print(const __FlashStringHelper*)':
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.cpp:44: warning: '__progmem__' attribute ignored
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Stream.cpp -o build-pro328/Stream.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Tone.cpp -o build-pro328/Tone.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Tone.cpp:119: warning: only initialized variables can be placed into program memory area
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/USBCore.cpp -o build-pro328/USBCore.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/WMath.cpp -o build-pro328/WMath.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/WString.cpp -o build-pro328/WString.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/main.cpp -o build-pro328/main.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-g++ -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino/new.cpp -o build-pro328/new.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/bin/avr-gcc -MMD -c -mmcu=atmega328p -DF_CPU=8000000L -DARDUINO=105 -I. -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/cores/arduino -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/variants/standard -I/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI -I/Users/brad/Documents/Arduino/libraries/Mirf -I/Users/brad/Documents/Arduino/libraries/Accelerometer -I/Users/brad/Documents/Arduino/libraries/i2c -I/Users/brad/Documents/Arduino/libraries/LEDLightFamilyHelper -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   /Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI/SPI.cpp -o build-pro328/libs/SPI/SPI.o
/Users/brad/Applications/Arduino.app/Contents/Resources/Java/libraries/SPI/SPI.cpp:65: fatal error: opening dependency file build-pro328/libs/SPI/SPI.d: No such file or directory
compilation terminated.
make: *** [build-pro328/libs/SPI/SPI.o] Error 1
macbookair-brad:Parent brad$  cat Makefile 
BOARD_TAG = pro328
ARDUINO_LIBS = SPI Mirf Accelerometer i2c LEDLightFamilyHelper
ARDUINO_PORT = /dev/tty.usbserial*
include ~/ard-make/arduino-mk/Arduino.mk
macbookair-brad:Parent brad$ 

ard-parse-boards does not locate/understand 3rd-party hardware directories.

As per http://arduino.cc/en/Guide/Environment#thirdpartyhardware , you are able to supplement the existing board libraries, core libraries, bootloaders, and programmer definitions without having to modify the originals by putting your additions in a new subdirectory in hardware/.

In other words, if your ARDUINO_DIR is /usr/share/arduino and you want to add a new board, the proper way to go about doing so is to create a new directory under /usr/share/arduino/hardware (I don't think the name matters, as long as it's not "arduino"), and put the relevant additions in there, following the same convention as the preexisting /usr/share/arduino/hardware/arduino directory. Thus your add-on file structure would start to look like this:

/usr/share/arduino/hardware/myboard/boards.txt (containing JUST the new board definition(s)!)
/usr/share/arduino/hardware/myboard/bootloaders/MyBoardRev1/Makefile
/usr/share/arduino/hardware/myboard/bootloaders/MyBoardRev1/r1bootloader.c
/usr/share/arduino/hardware/myboard/bootloaders/MyBoardRev1/r1bootloader.hex
/usr/share/arduino/hardware/myboard/cores/MyBoardRev1/Arduino.h

(etc, etc)

ard-parse-boards doesn't seem to follow this hunt behavior, since it is passed the full pathname to just the arduino subdir's boards.txt file. Instead, it should be provided with the base ARDUINO_DIR, so it can then check each subdirectory in ARDUINO_DIR/hardware/ for a boards.txt file, and use the information in each of these to compile the full boards list.

I also presume that every other component of Arduino-Makefile which may need to use data in ARDUINO_DIR/hardware will need to be modified to follow this behavior as well, making this a Pretty Big Modification to make. But... it's what the Arduino IDE does.

Arduino.mk insists on building way too many unnecessary libraries

I have this simple makefile

ARDUINO_DIR   = /usr/share/arduino
ARDMK_DIR     = /home/localkens/embed/src/Arduino-Makefile
AVR_TOOLS_DIR = /usr

BOARD_TAG    = diecimila
ARDUINO_PORT = /dev/ttyUSB4

ARDUINO_LIBS= SoftwareSerial

ARDUINO_USER_LIBS = ModbusMaster

USER_LIB_PATH=../../../

include /home/localkens/embed/src/Arduino-Makefile/arduino-mk/Arduino.mk

And make seems to insist on building all kinds of insane stuff, like HID and USB, and IPAddress???!, when I did not tell it to do that.

/usr/bin/avr-gcc -c -mmcu=atmega168 -DF_CPU=16000000L -DARDUINO=100 -I. -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/standard -I/usr/share/arduino/libraries/SoftwareSerial -I../../..//ModbusMaster -g -Os -w -Wall -DUSB_VID= -DUSB_PID= -ffunction-sections -fdata-sections -std=gnu99 ../../..//ModbusMaster/ModbusMaster.cpp -o build-diecimila/libs/ModbusMaster/ModbusMaster.o
/usr/bin/avr-ar rcs build-diecimila/libcore.a  build-diecimila/WInterrupts.o  build-diecimila/wiring_analog.o  build-diecimila/wiring.o  build-diecimila/wiring_digital.o  build-diecimila/wiring_pulse.o  build-diecimila/wiring_shift.o  build-diecimila/CDC.o  build-diecimila/HardwareSerial.o  build-diecimila/HID.o  build-diecimila/IPAddress.o  build-diecimila/main.o  build-diecimila/new.o  build-diecimila/Print.o  build-diecimila/Stream.o  build-diecimila/Tone.o  build-diecimila/USBCore.o  build-diecimila/WMath.o  build-diecimila/WString.o  build-diecimila/libs/SoftwareSerial/SoftwareSerial.o build-diecimila/libs/ModbusMaster/ModbusMaster.o 
/usr/bin/avr-gcc -mmcu=atmega168 -Wl,--gc-sections -Os -o build-diecimila/Basic.elf build-diecimila/Basic.o build-diecimila/libcore.a  -lc -lm
/usr/bin/avr-objcopy -O ihex -R .eeprom build-diecimila/Basic.elf build-diecimila/Basic.hex

Why does it think that a diecimilla is a Leonardo? It isn't. I've been looking around in the makefile to try to find out where this mistake is coming from, and can't seem to find it anywhere.

Handle cases where certain fuse bits are not present in boards.txt file

When using alternate cores, if the boards.txt file doesn't define some fuse bits, like unlock_bits or lock_bits, the perl script generates a warning and avrdude tries to use empty fuses.

Snippet of the error message

bootloader.unlock_bits isn't defined for the attiny85-8 board,  at /usr/bin/ard-parse-boards line 58.
bootloader.lock_bits isn't defined for the attiny85-8 board,  at /usr/bin/ard-parse-boards line 58.

Unable to build for Duemilanove

When the BOARD_TAG = atmega328, it generates the following error

It seems to work fine when BOARD_TAG = uno. I think some recent changes to how dependency is handled has broke this. Need to investigate further.

Arduino.mk Configuration:
-                      ARDUINO_DIR = /home/sudar/apps/arduino-1.0.3 
- [AUTODETECTED]       ARDUINO_VERSION = 103 
-                      AVR_TOOLS_DIR = /usr 
- [COMPUTED]           ARDUINO_LIB_PATH = /home/sudar/apps/arduino-1.0.3/libraries (from ARDUINO_DIR)
- [COMPUTED]           ARDUINO_VAR_PATH = /home/sudar/apps/arduino-1.0.3/hardware/arduino/variants (from ARDUINO_DIR)
- [USER]               ARDMK_DIR = /home/sudar/Dropbox/code/Arduino-Makefile 
- [COMPUTED]           ARDMK_PATH = /home/sudar/Dropbox/code/Arduino-Makefile/bin (relative to ARDMK_DIR)
- [AUTODETECTED]       ARDUINO_SKETCHBOOK = /home/sudar/Dropbox/code/arduino-sketches (in arduino preferences file)
- [DEFAULT]            USER_LIB_PATH = /home/sudar/Dropbox/code/arduino-sketches/libraries (in user sketchbook)
-                      BOARD_TAG = atmega328  
- [ASSUMED]            MONITOR_BAUDRATE = 9600 
- [AUTODETECTED]       Size utility: AVR-aware for enhanced output
-------------------------
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:689: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:686: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:692: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:689: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:695: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:692: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:705: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:695: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:708: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:705: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:711: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:708: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:714: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:711: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:717: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:714: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:721: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:717: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:725: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:721: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:729: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:725: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:736: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:729: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:739: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:736: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:743: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:739: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:749: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:743: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:753: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:749: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:756: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:753: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:818: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:756: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:821: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:818: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:824: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:821: warning: ignoring old commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:889: warning: overriding commands for target `build-atmega328'
/home/sudar/Dropbox/code/Arduino-Makefile/arduino-mk/Arduino.mk:824: warning: ignoring old commands for target `build-atmega328'
make: Circular build-atmega328 <- build-atmega328 dependency dropped.
make: Circular /BasicBot.hex <- build-atmega328 dependency dropped.
make: Circular /BasicBot.elf <- build-atmega328 dependency dropped.
make: Circular /BasicBot.o <- build-atmega328 dependency dropped.
/usr/bin/avr-g++ -x c++ -include Arduino.h -MMD -c -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=103 -I. -I/home/sudar/apps/arduino-1.0.3/hardware/arduino/cores/arduino -I/home/sudar/apps/arduino-1.0.3/hardware/arduino/variants/standard   -g -Os -Wall -ffunction-sections -fdata-sections -fno-exceptions   BasicBot.ino -o /BasicBot.o
BasicBot.ino:77:1: fatal error: opening dependency file /BasicBot.d: Permission denied
compilation terminated.
make: *** No rule to make target `build-atmega328'.  Stop.

Don't change fuses on every upload

The Arduino IDE doesn't change fuses every time a sketch is uploaded. It changes fuse settings only when "Burn Bootloader" option is selected.

The makefile should emulate this behavior as well.

Can't override OBJDIR

Hi there!

I'm trying to override OBJDIR by defining it with the other parameters but it seems like it's always not defined.

Is there something special to do?

thanks in advance :)

Method Declarations before use

Hello, I am wondering if I am missing something. I am using your Makefile and its working great. However, compiling fails unless I declare all of the functions used in the sketch before their use.

Am I missing some easy way around this? While this is just a minor annoyance, a way around this issue would certainly make it easier to use code that was previously written in the Arduino IDE.

Burning fuses by default in ispload

What's the reason for burning fuses in ispload target? I just bricked my Atmega328p on a breadboard because the fuses are not appropriate for my setup. Just leave the fuses alone.

AUTO_ARDUINO_VERSION detection doesn't work post 0.10-2 on Debian

Line 389 Arduino.mk from commit fdf6a75 doesn't work on Debian as the Arduino package names are of the format 1:1.0.4+dfsg-2 or 1:1.0.5+dfsg2-1

AUTO_ARDUINO_VERSION := $(shell cat $(ARDUINO_DIR)/lib/version.txt \
| sed -e 's/[.]//g' -e 's/$$/0000/' | head -c3) 

Returns "1:1" after this commit. A hacky fix is to replace the sed with:

sed -e 's/[^0-9]//g' -e 's/$$/0000/' |head -c3

Which returns "110" which isn't correct either, but it is higher than 100 at least.

This returns "104" properly on Debian, but not sure what the syntax of MacOSX or other Linux package numbers are, it works with just "1.0.1" (0023 becomes 002 unless you change the head to -c4) for instance:

sed -e 's/1://g' -e 's/[.]//g'  |head -c3

The zero padding doesn't work at all so i removed it

Rewrite ard-leonardo-reset script in perl

Right now the bin/ard-leonardo-reset script is in Python. All the other scripts are in perl, so it would be nice to rewrite this in perl as well.

My perl skills are not that good. It would be nice if someone with better perl skills than mine does this.

Parallel repo on GitHub

Hi Martin - I'm happy to see the Makefile on GitHub! I needed to make some changes to add support for the chipKIT (an Arduino-compatible board) a few months ago, so I mirrored your project here: https://github.com/peplin/arduino.mk

A few other people also started contributing, so I think we may have one or more things you could merge into your own tree. Unfortunately we can't easily use pull requests because the repositories don't have the same parent. Anything you'd like to accept I will need to re-work into your repo - certainly possible, just a little cumbersome.

Let me know if you would be interested in pull requests for any of these:

  • ard-parse-boards functions implemented entirely in the Makefile, so Perl and YAML aren't required
  • support for multiple library paths
  • support for the chipKIT
  • support for either .pde or .ino
  • option to not compile Ardunio's provided main()
  • minor fixes for building on both Linux and OS X

Regardless, I will certainly be pull your updates from 0.8 into my repo. Thanks!

Add support for Arduino 1.5

Arduino 1.5 has changed the directory structure.

Add an option to specify (or auto detect) Arduino version and then based on that change the directory paths.

Changes should be compatible with 1.0.x version of Arduino as well.

Fixes for Arduino 1.5.1

The Arduin 1.5.1 release breaks a few things because of a different directory layout.


diff --git a/arduino-mk/Arduino.mk b/arduino-mk/Arduino.mk
index 09819ac..87de248 100644
--- a/arduino-mk/Arduino.mk
+++ b/arduino-mk/Arduino.mk
@@ -308,8 +308,8 @@ AVR_TOOLS_PATH    = $(AVR_TOOLS_DIR)/bin
 endif

 ARDUINO_LIB_PATH  = $(ARDUINO_DIR)/libraries
-ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/arduino/cores/arduino
-ARDUINO_VAR_PATH  = $(ARDUINO_DIR)/hardware/arduino/variants
+ARDUINO_CORE_PATH = $(ARDUINO_DIR)/hardware/arduino/avr/cores/arduino
+ARDUINO_VAR_PATH  = $(ARDUINO_DIR)/hardware/arduino/avr/variants

 else

@@ -372,7 +372,7 @@ BOARD_TAG   = uno
 endif

 ifndef BOARDS_TXT
-BOARDS_TXT  = $(ARDUINO_DIR)/hardware/arduino/boards.txt
+BOARDS_TXT  = $(ARDUINO_DIR)/hardware/arduino/avr/boards.txt
 endif

 ifndef PARSE_BOARD
diff --git a/bin/ard-parse-boards b/bin/ard-parse-boards
index e2de71b..00ecb0a 100755
--- a/bin/ard-parse-boards
+++ b/bin/ard-parse-boards
@@ -9,7 +9,7 @@ use YAML;

 my %Opt = 
   (
-   boards_txt => '/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/boards.txt',
+   boards_txt => '/Applications/Arduino.app/Contents/Resources/Java/hardware/arduino/avr/boards.txt',
   );

 GetOptions(\%Opt,

$(ARDUINO_TOOLS_DIR)/etc/avrdude.conf ?

in the official destribution of arduino, I don't see such a configuration file.
what is it mean to be?
It's actually $(AVR_TOOLS_DIR)/avrdude.conf in 1.0.5 and 1.5.2

BUNDLED_AVR_TOOLS_DIR := $(call dir_if_exists,$(ARDUINO_DIR)/hardware/tools/avr)
ifdef BUNDLED_AVR_TOOLS_DIR
      AVR_TOOLS_DIR     = $(BUNDLED_AVR_TOOLS_DIR)
      # The avrdude bundled with Arduino can't find it's config
      AVRDUDE_CONF    = $(AVR_TOOLS_DIR)/etc/avrdude.conf

Visualize objdump using lstvis

It would be nice to use lstvis to visualize objdump.

But right now it can't be done since lstvis runs inside a browser.

We might have to either rewrite lstvis as a command line util or somehow invoke browser from makefile.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.