Micro can be reset using Leonardo reset functions itself. So call
Leonardo reset functions for Micro as well.
The reset function seems to have some issues for Micro and is not
100% reliable, like Leonardo. See comments in #30.
Fix#80Fix#83
Before, .ino and .pde files would be converted to .cpp files and there
is a rule to convert those .cpp files to .s files for make
generated_assembly. However, since 1f043bb (Compile .ino and .pde files
directly) these intermediate .cpp files are no longer generated,
breaking the rule to generate .s files.
This fixes this by also generating .s files from .ino and .pde files
directly.
Closes#76
To compile plain AVR C files, the variable NO_CORE should be initialized
to a non-empty value.
When NO_CORE is set, the following changes happen
- boards.txt file is not parsed. The user should explicitly set MCU,
F_CPU, fuse bits etc.
- MONITOR_BAUDRATE is not calculated
Fix#63
Introduce two new variables AVRDUDE_ISP_FUSES_PRE and
AVRDUDE_ISP_FUSES_POST which are set based on whether the fuse bits are
present or not.
avrdude is invoked to set fuse bits only if these new variables are not
empty.
Fix#61
This causes make to consider the line part of the preceding recipe,
causing the variable to remain unset and the preceding recipe to break.
In this case, this was the recipe for user libraries with .c files,
which is uncommon enough for this to go unnoticed.
This was broken in 3bce1d88 (Allow adding extra common dependencies).
ard-reset-leonardo which was used for reseting Leonardo was written in
Python. Now the logic is added inside the ard-reset-arduino perl script
itself.
Fix#62
Squashed commit of the following:
commit a63366980f
Author: Simon John <git@the-jedi.co.uk>
Date: Fri Jun 14 11:36:00 2013 +0200
who put a space in the shebangs?!
commit c798eb26ea
Author: Simon John <git@the-jedi.co.uk>
Date: Fri Jun 14 11:10:12 2013 +0200
replaced ard-reset-leonardo with an update to ard-reset-arduino
which is now called from Arduino.mk with the --leonardo flag
removed some trailing whitespace
upped version string in Arduino.mk
In commit 3bce1d88 (Allow adding extra common dependencies), the way
$(OBJDIR) was created changed. Instead of having some ad-hoc mkdir calls
around, all relevant rules were made to depend on the directory instead.
However, this change didn't take into account that the object files for
libraries live instead a subdirectory of $(OBJDIR), which was no longer
automatically created. This made compilation of all libraries fail, on a
clean build directory.
Fixing the rules to depend on $(dir $@) or $(dir %) doesn't work, since
those function calls are expanded by making upon reading the file, not
later when the rule is actually matched.
Therefore, this commit restores the previous explicit mkdir calls for
library object files. The non-library objects files, which do not live
in a subdirectory, still use the dependency approach as before.
Fixes: #58
Leonardo board requires a new way of handling board reset.
There is a new script which does the reset differently for leonardo boards.
close#30 and close#44
This makes sure a library or core file gets rebuild when a header file
it depends on is changed, preventing weird surprises when the
application is recompiled with the new header values but the library
isn't.
For most users, this won't be strictly needed, but anyone working on a
library or even the Arduino core, this is must to prevent surprises or
needing a make clean between every build attempt.
This adds a dependency on $(OBJDIR) for every rule that creates a file
inside $(OBJDIR) but does not already depend on any file within
$(OBJDIR). All other dependencies on $(OBJDIR) are removed.
These dependencies are added after a | to tell make that this is a
"order-only prerequisite". This means that the file inside $(OBJDIR)
needs $(OBJDIR) to be present but if $(OBJDIR) changes (which happens
whenever a file _inside_ the directory is touched!), there is no need to
recompile the file within $(OBJDIR).
Implementing this using a generic implicit rule like:
$(OBJDIR)/%: | $(OBJDIR)
doesn't work, since make doesn't merge the prerequisites of multiple
implicit rules like it does for explicit rules. We could use
$(LOCAL_OBJS) and friends to create explicit rules to do something like
the above, but just adding the dependencies on all rules seems more
explicit and future-proof.