| Age | Commit message (Collapse) | Author |
|
impact performance we should track when the issue is fixed upstream to remove the flag again (see links from Issue #486)
Enabled colourised diagnostics from avr-gcc
We forgot to increase ARDMK_VERSION for the 1.6.0 release
|
|
|
|
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`.
|
|
Remove use of tilde in documentation as ~ doesn't work, use $(HOME) instead
|
|
over ssh
|
|
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.
|
|
MONITOR_PARMS should be MONITOR_PARAMS.
|
|
Do not include the Arduino header when generating assembly for .cpp
files with generate_assembly. This was likely a copy-paste error.
|
|
|
|
|
|
build.core and
build.variant
Fixes Issue #461
|
|
IDE prior to 1.6.10
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)
|
|
Works with 1.6.10 or later; or 1.0.x with avr-gcc toolchain 4.8+
|
|
Updated HISTORY.md with latest commits
|
|
Search in submenu chip or cpu for vars
|
|
Arduino 1.6 to match
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.
|
|
Updated to reflect the Linux changes for Arduino 1.6.5
Updated to reflect the information (Linux portion) from the guide. Removed the URL to the blog.
|
|
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.
|
|
|
|
|
|
BOOTLOADER_FILE in 1.5+
Now we just check for BOOTLOADER_FILE being non-empty on both versions.
Fixes issue #402
|
|
e.g. attiny44-20, thanks to Atmel for the sample chip!
|
|
|
|
|
|
$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? ;-)
|
|
not just on Windows - fixes issue #381
Code around this area probably needs a tidy up at some point.
|
|
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.
|
|
comes with cheap arduino clones - DCCduino)
|
|
|
|
Fix #359
|
|
as suggested by @michaelbaisch in issue #346
Might want to update HISTORY.md with an "in development" version number.
|
|
|
|
|
|
Also added a note that in certain 1.6 cores (attiny) F_CPU is
a submenu item e.g. attiny.menu.clock.internal1.build.f_cpu=1000000L
|
|
|
|
|
|
we can find preferences.txt
Still need to find out where it looks on OSX/Cygwin
|
|
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.
|
|
accidentally overwrite
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.
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.
|
|
on 1.6.1 and its output separately to SYS_LIB_NAMES
Added "sort" to the USER/SYS/PLATFORM _LIBS so we don't get duplicates
|
|
|
|
Disregard anything before first colon.
E.g. build.core = arduino:arduino results in CORE = arduino
Print CORE.
|
|
Add CORE and FORCE_MONITOR_PORT to arduino-mk-vars.md and FORCE_MONITOR_PORT
to config print.
|
|
This is support for https://code.google.com/p/arduino-tiny
The arduino-tiny project provides a boards.txt file and a whole
separate Arduino core modified to work with attinies.
Arduino.mk will now switch to that core if it finds a
'build.core' parameter in boards.txt and a folder in
$(ALTERNATE_CORE_PATH)/cores by that name.
|
|
Define FORCE_MONITOR_PORT to enable.
Useful if one uses 'ssh root@remotemachine avrdude' instead of the
usual AVRDUDE command.
|
|
Include files are searched for in the include search path made up
from, among other places, the -I switches given to the gcc compiler.
The . (dot) used for the current directory is not in the search
path when the IDE builds the project and does not seem to be needed
in any reasonable case. Maybe it was included because someone thought
it meant to "search in the same directory as the file being compiled",
but I cannot tell because the switch was already included in the first
commit in this repo. In any case, the current file directory is already
searched by gcc before the search path is consulted, in any case, so
this switch is not needed to cause this behavior.
Including the "-I." switch causes compiles to fail when libraries
include a header which is coincidentally named the same as one of the
user headers. For example, if the user has a Udp.h file in his sketch
folder, the compile will fail if it includes the EthernetUdp.h file.
A simple example is the examples/WebServer code. It fails if you do
this:
touch examples/WebServer/Udp.h
make -C examples/WebServer
But it builds ok from the IDE which does not include "." in the
search path.
Similarly, HelloWorld fails for the same reason if you do this:
touch examples/HelloWorld/Print.h
make -C examples/HelloWorld
Remove the -I. switch from the CPPFLAGS directive altogether to
prevent this include filename confusion and to more closely model
the behavior of the IDE. Fixes #303.
It may also work to move the -I. to the end of the search path,
but this still would compile differently from the IDE and so it
is considered not to be a useful feature to retain in any case.
--
I did not add a test case here because it's not clear to me how it
should be added. Should I modify HelloWorld as described above,
or should I add examples/TestSearchPath/ with the same files
explicitly for this test? It would be clearer for me if there
was an explicit "tests" directory independent from "examples".
|