Considering the number of project files spread in different locations
when developing an Arduino project, proper use of tags can be difficult;
resolving beyond local functions.
I've added automatic generation of a tags file, which includes:
* Standard ctags source in project dir (.c, .cpp, .h)
* Arduino source in project dir (.ide, .pde)
* Arduino core based on detected project core from Arduino install.
* Included Arduino libraries from user library folder.
As a Vim user I find this hugely useful and think it would be a useful
addtion for others. Target has been added as `make tags`.
The matching parentheses and | in sed expresssions need to be escaped
or sed will consider like normal characters.
Without this fix, make show_submenu was showing lines like this one:
pro.menu.cpu.8MHzatmega328 ATmega328 (3.3V, 8 MHz)
It now properly outputs lines like this:
pro 8MHzatmega328 ATmega328 (3.3V, 8 MHz)
This output is much less misleading to users especially newcomers.
doesn't support LTO or plugins. Fixes Issue #456
So essentially LTO support will only be enabled with avr-gcc 4.9.2 which comes with 1.6.10 or later
and Debian, Ubuntu etc; not 4.8.1 which comes with IDE 1.6.9 and a few earlier versions.
Tested with:
* 1.6.8 (avr-gcc 4.8.1 which doesn't support LTO so uses avr-ar and doesn't set LTO flags)
* 1.6.12 (avr-gcc 4.9.2 which supports LTO so uses avr-gcc-ar and sets LTO flags)
* 1.0.5 with Debian avr-gcc 4.9.2 (supports LTO so uses avr-gcc-ar and sets LTO flags)
upstream (without it compilation seems to fail on OSX). Updated docs.
Also made ARDUINO_LIB_PATH overloadable (as implied by arduino-mk-vars.md) although this is a
pretty niche use-case.
Using new Arduino IDE and ATTinyCore board module he need to search var
various vars not in cpu submenu but in chip. Changed the makefile in
order to search chip or cpu using regular expression.
$ARCHITECTURE is probably safe as that's usually called $ARCH.
Fixes issue #386.
Need to decide if this is going to upset too many user's who have already
started using $VENDOR - and who uses tcsh? ;-)
With this fix the `TARGET` variable is set correctly when the project directory
(or its path) contains spaces. So in this case:
/Users/Joe/Dropbox (Personal)/example project
`TARGET` will be set to `example_project` instead of `Dropbox example project`
(like it was before this fix).
Needed to fix the new wiring_pulse.S in IDE 1.6.5 which
also has a wiring_pulse.c source file.
Mostly rebased @peplin's PR #266, so should allow us
to support newer chipKIT builds too.
For instance in the Sparkfun 1.6 core, we have:
promicro16.build.vid.0=0x1B4F
promicro16.build.vid.1=0x1B4F
promicro16.build.vid=0x1B4F
So we end up matching all 3 instead of just the last one.
Adding the = means we're looking for promicro16.build.vid= so
not catching the .0 or .1 version.
existing builds.
E.g. mega1280 and mega2560 previously *both* created a "build-mega" directory,
now they'll create build-mega-mega2560 and build-mega-mega1280
Only applies to 1.5+ of course, and only when BOARD_SUB is used. 1.0 will still
create build-mega2560 and build-mega1280 directories (just BOARD_TAG)
arduino-tiny and damellis' attiny85 cores don't use a vendor, but they
do use the avr architecture (subdirectory) in their 1.5/1.6 branches.
arduino-tiny builds and is auto-detected now, still needs some
work to support sub-cpu's and clocks.
damellis doesn't compile, but that's not our makefile it seems.