aboutsummaryrefslogtreecommitdiff
path: root/Arduino.mk
AgeCommit message (Collapse)Author
2015-03-28Locate 1.5+ preferences.txt file on MacSudar
2015-03-27Now we know that arduino 1.6.1 uses the ~/.arduino15 directorySimon John
we can find preferences.txt Still need to find out where it looks on OSX/Cygwin
2015-03-27Add = to PARSE_BOARD regex to make it less greedy.Simon John
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.
2015-03-26Added BOARD_SUB to OBJDIR so that when changing sub boards we don't ↵Simon John
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)
2015-03-25Added ARCHITECTURE to ALTERNATE_CORE_PATH to support 1.5+ cores like ↵Simon John
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.
2015-03-25Added search of PLATFORM_LIB_NAMES to ARDUINO_LIBS so that Wire.h is found ↵Simon John
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
2015-02-26Add "linuxgpio" to the list of ISP's that don't have a portonandoffables
2014-12-30Fix build.core parsingGabrielius Mickevicius
Disregard anything before first colon. E.g. build.core = arduino:arduino results in CORE = arduino Print CORE.
2014-12-30Tidy new arduino mk varsGabrielius Mickevicius
Add CORE and FORCE_MONITOR_PORT to arduino-mk-vars.md and FORCE_MONITOR_PORT to config print.
2014-12-30Let 'build.core' from boards.txt change ARDUINO_CORE_PATHGabrielius Mickevicius
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.
2014-12-28Let user skip MONITOR_PORT existance checkGabrielius Mickevicius
Define FORCE_MONITOR_PORT to enable. Useful if one uses 'ssh root@remotemachine avrdude' instead of the usual AVRDUDE command.
2014-12-07Do not add '.' to gcc includes search pathPhil Hord
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".
2014-12-03Moved location of avrdude and avrdude.conf for 1.5.8 on Linux (only!)Simon John
Subject to change during the beta phase, as its already different than 1.5.6, also may change when packaged for Debian (usually symlinked) Fixes issue #301
2014-11-29Removed all double-quoting except for comments/echo'sSimon John
Double-quoting was added in 7618da7 to allow for spaces in paths, that was a bad idea as: 1. most GNU Make functions can't handle spaces 2. it breaks variable expansion on Linux/OSX e.g. ~/sketchbook 3. Windows doesn't like double-quotes - see d5c7ed1 So basically, don't put spaces in your paths, as most Make functions can't handle them, even if escaped, and its a bit dangerous when shelling out to grep etc. Single-quoting is no better either.
2014-11-23Added support for PuTTY on WindowsPeter Mosmans
Use MONITOR_CMD=putty The optional parameter MONITOR_PARMS can be used as well
2014-11-23Improved Windows (Cygwin/MSYS) supportPeter Mosmans
Changed RESET_CMD structure under Cygwin Changed behaviour of get_monitor_port under Windows DEVICE_PATH always becomes/dev/ttyS[0-9] on Windows MONITOR_PORT always becomes com[0-9] on Windows
2014-11-10Fix speed regression since 8d443f62c, faster than 1.3.4 nowSimon John
Audited *some* use of := vs. =, when calling shell/foreach/wildcard, could probably do with more looking into.
2014-11-07Allow avrdude to erase the chip before programming during isploadThomas Hebb
We currently pass the -D (do not erase) option to avrdude unconditionally in order to work around an Arduino Mega bootloader bug. However, this has the side-effect of breaking the ispload target for all non-XMEGA chips, since a write operation on these chips essentially ANDs the new program with the existing memory contents. If the memory is not first erased to contain only 0xff, the resulting image is garbage. This patch makes it so we pass -D when we're using the Arduino bootloader but don't pass it when we're using ISP directly.
2014-11-05Made CXX compile *.cpp files instead of CC.Simon John
Fixes issue #285
2014-10-24Merge pull request #282 from sej7278/masterSudar
Add "avrispmkii" to the list of ISP's that don't have a port. Fix #279
2014-10-24Merge pull request #281 from stepcut/teensy.mkSudar
Add support for Teensyduino 3.x
2014-10-23Add's "avrispmkii" to the list of ISP's that don't have a port,Simon John
defaults to reading communication_type from avrdude.conf, which is "usb" usually, rather than setting the -P flag which is the user override.
2014-10-22move ARDUINO_DIR auto-detection into Common.mk. This allows Teensy.mk to use ↵stepcut
auto-detected location.
2014-10-14Merge pull request #277 from lukasz-e/arduino-1.5.x-libsSudar
Arduino 1.5.x libs - handle new library layout (issue #275) and hardware/vendor specific libs (issue #276)
2014-10-13do not print default (empty) ARDUINO_PLATFORM_LIB_PATH value for arduino 1.0.xLukasz Engel
2014-10-12remove unwanted TABsLukasz Engel
2014-10-12Replaced double quotes with singles when passing arguments toSimon John
avr-objcopy. Windows doesn't seem to like double quotes. Fixes issue #272, thanks @vogt31337
2014-10-11Arduino 1.5.x - support new library layout and plaform specific system libsLukasz Engel
- Add support for 1.5.x library layout. (https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification) - Allow using Arduino 1.5.x platform specific system libraries. Arduino 1.5.x has additional directories for platform (vendor/architecture) specific libraries - look there when searching for libraries.
2014-09-21Removed Travis-CI references from all examples. Regular usersSimon John
are not affected by test scripts/makefiles. Added makefile and gcc version info to config output. Tested on Arduino 1.0.6
2014-08-29Added *.cpp to extensions supported by "make generate_assembly"Simon John
2014-08-29Allow libraries/sketches to have the same name as system libs,Simon John
e.g. main or Wire Doesn't seem to work with main.cpp but main.ino works. Fixes issue #229 and #244
2014-08-17Fix regex for "make show_boards" on 1.5Simon John
In 1.5.6 the Due board has an underscore, this regex tweak allows for: arduino_due_x_dbg Arduino Due (Programming Port) arduino_due_x Arduino Due (Native USB Port)
2014-08-16allows "make clean" to be extended in the user's local makefile to cleanSimon John
other files out, e.g. backup/git files
2014-08-13add CFLAGS_STD and CXXFLAGS_STD defaultsladislas
2014-08-13Revert "Using CFLAGS_STD and CPPFLAGS_STD"Sudar
2014-08-12create CPPFLAGS_STD and make both CFLAGS_STD and CPPFLAGS_STD avalaible for ↵ladislas
CFLAGS and CXXFLAGS
2014-08-01Fix CFLAGS vs CXXFLAGS typoSimon John
2014-07-15Remove "./" in "make clean" to clean any OBJDIR & change "tinyladi" to ↵ladislas
"ladislas" in HISTORY.md
2014-07-12Made all the changes into one commit that could be a patch for masterSimon John
2014-07-12Bump up version to v1.3.4 for release1.3.4Sudar
2014-06-30Build core objects in subdirectory, fixes issue #82Simon John
2014-06-29Added quotes around greps/cats to help alleviate possible problemsSimon John
with spaces in directory/file-names. Removed $TARGETS as it was an unsafe wildcard and was only used in "make clean" which itself has been simplified to just delete the $OBJDIR rather than waste time deleting individual files.
2014-06-21Really fix $MONITOR_PORT detectionSimon John
Fixes issue #215
2014-06-15Fixed $MONITOR_PORT detection, thanks choffmannSimon John
2014-06-10Make Arduino.mk compatible with FlymakeRonan Barzic
If Flymake is configured to parse .ino files the same way as for c/c++ files, it creates a temporary file (_flymake.ino) in the same directory as the original file. It fails with the current Arduino.mk because of the check for multiple .ino files. This fix removes the check only when flymake is calling the Makefile (Flymake will call make with the variable CHK_SOURCES set to the temporary file name) To make Flymake working with .ino file : Add : check-syntax: $(CXX_NAME) -c -include Arduino.h -x c++ $(CXXFLAGS) $(CPPFLAGS) -fsyntax-only $(CHK_SOURCES) in the project Makefile after the inclusion of the Arduino.mk file Edit the flymake configuration : M-x customize-option RET flymake-allowed-file-name-masks RET (using auto completion !) Add the line : ("\\.ino\\'" flymake-simple-make-init) Then click on "Apply and Save" button Fix #211
2014-05-27Add missing newlines at end of some echo's (issue #207)Simon John
Whilst doing that, i noticed that there were some missing targets to "make help" so added those in and re-ordered and re-worded some of the targets to make more sense e.g. all of the upload's are together, all of the assemblers are together etc.
2014-05-23Fixed alpha sort on those crazy Macs ;-)Simon John
2014-05-22"make show_boards" now lists the board name as well as board tag.Simon John
also is alphabetically sorted by tag now. Fixes #204
2014-05-21Some language clean upSimon John
2014-05-20Check that on windows ARDUINO_DIR (and MPIDE_DIR) is a relative path.Simon John
Checks for paths starting with / e.g. /cydrive/arduino or a drive letter e.g. C:\Program Files\Arduino Fix #201 Fix #202