It would seem that the pattern matches do not work when the source
file is created when make is running. The result of this is that it is
necessary to run "make" twice to build the firmware.
This adds an explicit rule without a pattern match for building
applet/Marlin.cpp it corrects the make behaviour at the cost of adding
a little redundancy in the Makefile.
Run avr-size with the --mcu=... -C option as well. That reports how
much actual device program and data memory is used along with a
percentage fullness.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Often it can be useful to see the actual commands being run by make.
Other projects (eg, the Linux kernel) support this with a "V=1" make
parameter. Do the same here.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
+ Removed most explicit pathnames, use the standard make "VPATH" to let
make find the files for itself.
+ Added a "hardware variant" variable that allows compiging Sanguino and
Gen7 as well as "generic" arduino.
+ Allows overriding the MOTHERBOARD define from the Makefile
+ Removed the 'preprocessor' bit that wasn't needed, now just "include" the
files that are needed, since it allows gcc to show the right file/line
when displaying error/warnings.
+ Uses gcc's own dependency generator to generate the .d files, and
and include these instead of self-patching the makefile
Signed-off-by: Michel Pollet <buserror@gmail.com>