aboutsummaryrefslogtreecommitdiff
path: root/Arduino.mk
AgeCommit message (Collapse)Author
2018-09-30Merge pull request #580 from wingunder/masterSudar Muthu
Moved the PARSE_BOARD macro and added the TOOL_PREFIX variable for setting up tool chains.
2018-09-28Pass OpenOCD options to debug_init targetJohn Whittington
2018-09-15Moved the BOARDS_TXT section and stop if BOARDS_TXT is not a file.Pieter du Preez
The section of Arduino.mk that calculates BOARDS_TXT was moved to just before the point where it gets used for the first time (a call to PARSE_BOARD). An error gets generated if BOARDS_TXT is not pointing to a valid file, directly after the BOARDS_TXT calculation. In addition, the PARSE_BOARD macro will now be bypassed if the BOARDS_TXT variable points to a non-existing file. If a user makefile uses PARSE_BOARD before including Arduino.mk, and the BOARDS_TXT is wrong, the error will only be caught in the Arduino.mk file, which is probably acceptable.
2018-09-14Added the TOOL_PREFIX variable for setting up the executable tools.Pieter du Preez
Currently three different tool chains seem to be used: * avr-* * pic32-* * arm-none-eabi-* These all get set up independently. This patch centralizes the definitions of the executable tools and does it generically, by means of the newly introduced TOOL_PREFIX variable. Setting up a tool chain is now simply a matter of defining the TOOL_PREFIX variable. For the currently supported tool chains it gets set to avr, pic32 or arm-none-eabi. Arbitrary tool chains can now easily be set up, by the TOOL_PREFIX variable. Although the use of the OVERRIDE_EXECUTABLES variable is now almost not justifiable, it was left as-is, in order to assure backwards compatibility.
2018-09-13Moved the PARSE_BOARD macro from Arduino.mk to Common.mk.Pieter du Preez
There seems to be 3 different macros to parse the boards.txt file. This patch moves the PARSE_BOARD macro from Arduino.mk to Common.mk. The PARSE_OPENCM and PARSE_TEENSY macros in Teensy.mk and OpenCM.mk were removed and the common PARSE_BOARD is now being called from everywhere. Advantages of this fix are: 1. Less code, i.e. no redundant parse macros. 2. A single standardized algorithm to parse the boards.txt file.
2018-08-09Fix typo of AVRDUDE_ISP_OPTHiroaki Yamazoe
2018-06-14Support for Arduino Due addedJohn Whittington
Update HISTORY.md Add avr core emulation to C sources
2018-03-18Added the DIAGNOSTICS_COLOR_WHEN var for controlling diagnostics-color.Pieter du Preez
Some IDEs do not work nicely with the recently added diagnostics-color compiler switch. This patch adds the DIAGNOSTICS_COLOR_WHEN variable, for controlling diagnostics-color switch. The default was chosen to be 'always', which makes the Arduino.mk file backwards compatible with everything up to commit fa82c3a9db (Sat Sep 2 15:32:52 2017 +0100). The supported values for DIAGNOSTICS_COLOR_WHEN are: `always`, `never` and `auto`, and as with all Arduino.mk variables, it can easily be overridden. For more details on the diagnostics-color compiler switch, see: https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Language-Independent-Options.html#Language-Independent-Options
2018-02-24Merge branch 'master' into disable-prog-types-compatSimon John
2018-02-24Merge pull request #533 from doronbehar/detect-archlinuxSimon John
Set `ARDMK_VENDOR` differently if OS is Arch Linux.
2018-02-24SAMD Cortex M0 device support (Zero, MKR1000, etc)John Whittington
Compilation improvements by adding variant as other obj but not working on device Arduino Zero devices with OpenOCD working Created ARM_TOOLS_DIR and define arm toolchain executables in Sam.mk Check avr-gcc on last AVR_TOOLS_DIR detect and indenting formatting GDB debugging and programming added Documentation updates and define ARDMK_VENDOR rather than include Sam.mk Expand all parse_boards when defined rather than when used Trim extra defines regex working on both macOS and Linux but need better fix Print USB ids and added debug usage to readme Add note on Arduino package dir and made board.txt work Do ARM ARDUINO_ARCH define in Arduino.mk] Add MZeroBlink to non-testable examples for now Remove \B from extra defines grep Add ARDUINO_PACKAGE_DIR for board support files Fix a typo in the README Fix typo in arduino-mk-vars.md Prevent re-including Arduino.mk from Sam.mk when make restarts for upload Add catrina to ARD_REST_OPTS if/else Remove realpath in Sam.mk for cygwin compatability SAMD bootloader support in ard-reset using --zero Enters bootloader using open/close of port at 1200 BAUD, then polls the attached devices for new port enumerating (bootloader). This is how the Arduino IDE operates Bossa support for Zero, MKR1000 etc Re-word Arm README section after Native USB development Reset for zero refactored like IDE Zero bootloader reset tested on macOS and comments added Re-word ARM bootloader and remove imports from testing Patch changes ARDMK_VENDOR->ARCHITECHTURE, show_config_vars, ignore CORE_VER if emtpy Common.mk header guard, openocd/bossac avoid separator, typos Documentation update for patch changes Move ARM tools to Sam.mk and auto-detect include Correct accidental commit of Blink Makefile change Lib fix with alternative core and documentation Append zero to ARD_RESET_OPTS rather than set Prioritise package ARM upload tools over path installed Add note in README on ARM tools versions Move openocd variant config script flag to OPTS
2018-01-24Allow compatibility with old pgmspace API to be disabled by the userKier Davis
When this compatibility mode is enabled, code that is entirely compliant with the new pgmspace API can still raise deprecation warnings when symbols present in both the old and new APIs (for example, PGM_P) are used. Clearly, these warnings are false positives. They can be avoided by disabling the compatibility mode. This functionality is achieved by prepending the flag that enables the compatibility mode to CPPFLAGS instead of appending it, thus allowing the user to override the default behaviour and disable the compatibility mode by putting the negation of the flag in the CPPFLAGS variable in their top-level Makefile.
2018-01-03Merge remote-tracking branch 'upstream/master'John Whittington
2017-12-22Moved -e flag for avrdude from set_fuses to ispload as you wouldn't want a ↵Simon John
chip erase operation when only setting the fuses. ispload probably should erase the flash+eeprom+lockbits as that's when you upload the sketch. setting fuses should be just that, not deleting anything.
2017-10-06Set `ARDMK_VENDOR` differently if OS is Arch Linux.Doron Behar
2017-10-03Recognize serial monitors with full path in MONITOR_CMDSZEDER Gábor
When assembling the command line for the various supported serial monitors, MONITOR_CMD must match the name of one of the supported commands to be recognized. Serial monitors given with leading path components are not recognized, and a command like make MONITOR_CMD=~/src/picocom/picocom monitor errors out as the fallback monitor command is executed instead of the picocom-specific one. However, sometimes it's necessary to specify a supported serial monitor with its full path, because e.g. the user wants to tests a freshly compiled version before installing it. Sure, the user could just run the serial monitor directly, but that's cumbersome because he has to pay attention to use the right baud rate and USB port. So strip all leading path components, if present, from MONITOR_CMD using the 'nondir' make function before checking whether it's one of the supported serial monitors. This way commands like the above would just work. While at it, remove the single quotes around 'putty': they are both unnecessary and inconsistent with similar constructs throughout Arduino.mk.
2017-09-28Add support for ISP_PROG Atmel IceJohn Whittington
2017-09-28Fix:Add to langmap not set ino,pde using ctagsJohn Whittington
2017-09-27Recognize serial monitors with full path in MONITOR_CMDSZEDER Gábor
When assembling the command line for the various supported serial monitors, MONITOR_CMD must match the name of one of the supported commands to be recognized. Serial monitors given with leading path components are not recognized, and a command like make MONITOR_CMD=~/src/picocom/picocom monitor errors out as the fallback monitor command is executed instead of the picocom-specific one. However, sometimes it's necessary to specify a supported serial monitor with its full path, because e.g. the user wants to tests a freshly compiled version before installing it. Sure, the user could just run the serial monitor directly, but that's cumbersome because he has to pay attention to use the right baud rate and USB port. So strip all leading path components, if present, from MONITOR_CMD using the 'nondir' make function before checking whether it's one of the supported serial monitors. This way commands like the above would just work. While at it, remove the single quotes around 'putty': they are both unnecessary and inconsistent with similar constructs throughout Arduino.mk.
2017-09-06Fix indentingJohn Whittington
2017-09-06Auto detect Windows sketchbook path using USERPROFILE not HOME and spellingJohn Whittington
2017-09-05Documentation changes for Windows usageJohn Whittington
2017-09-05Detect Cygwin Python or user installed Windows Python and use according ↵John Whittington
device port
2017-09-03Merge branch 'master' of https://github.com/sudar/Arduino-MakefileJohn Whittington
2017-09-03rm old tags file made safer and only if it existsJohn Whittington
2017-09-03Ido/ino typo in echo when building tagsJohn Whittington
2017-09-02Moved the LTO etc. flags from CXXFLAGS_STD to CXXFLAGSSimon John
2017-09-01Merge with upstreamJohn Whittington
2017-09-01Use LOCAL_SRC variable due to proir assert and only scan libs if there are libsJohn Whittington
2017-07-21Add -fno-devirtualize to CXXFLAGS_STD to workaround a g++ bug. As this could ↵Simon John
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
2017-07-12Add makefile for Robotis OpenCM & update version to 1.6.0Karl Semich
2017-06-04Support for generation of project tags fileJohn Whittington
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`.
2017-06-01Fix autodetection of USB_PID on SparkFun's new ProMicro coreSimon John
Remove use of tilde in documentation as ~ doesn't work, use $(HOME) instead
2017-04-01Add support for cu as MONITOR_CMD, use ~. to exit, be mindful when using ↵Simon John
over ssh
2017-03-13show_submenu: fix sed expressionCédric Bosdonnat
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.
2017-03-12Correct spelling mistake in PuTTY sectionEric Dand
MONITOR_PARMS should be MONITOR_PARAMS.
2017-01-21Arduino.mk: Fix generating assembly for cpp files.batchy
Do not include the Arduino header when generating assembly for .cpp files with generate_assembly. This was likely a copy-paste error.
2017-01-11Bump up version to 1.5.2 for releasev1.5.21.5.2Sudar Muthu
2016-11-04make it work with modern arduino and teensyduino scriptsGeorge Harker
2016-10-11Changed the PARSE_BOARD function to handle colons found in things like ↵Simon John
build.core and build.variant Fixes Issue #461
2016-10-11Changed LTO support check to avr-gcc > 4.9.0 as the 4.8.1 bundled with the ↵Simon John
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)
2016-09-08Added LTO flags etc. to provide smaller/faster AVR code.Simon John
Works with 1.6.10 or later; or 1.0.x with avr-gcc toolchain 4.8+
2016-07-29Fix for 1.6.10 version detectionSimon John
Updated HISTORY.md with latest commits
2016-07-25Merge pull request #437 from straccio/masterSudar Muthu
Search in submenu chip or cpu for vars
2016-07-25Added -std=gnu++11 -fno-threadsafe-statics to CXXFLAGS_STD if we're using ↵Simon John
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.
2016-07-02Update READMEaz-z
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.
2016-06-22Search in BOARDS_TXT for chip or cpu submenustraccio
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.
2016-02-22Bump up version to v1.5.1 for release1.5.1Sudar Muthu
2016-02-19added show_submenu targetandrew hutchison
2015-12-28Removed the check for BOOTLOADER_PATH being empty as its merged intoSimon John
BOOTLOADER_FILE in 1.5+ Now we just check for BOOTLOADER_FILE being non-empty on both versions. Fixes issue #402