Commit graph

241 commits

Author SHA1 Message Date
Sudar
c3dc56bd3a Define LOCAL_HEADERS which refers to all different types of header files 2013-08-19 22:52:32 +05:30
Sudar
d719847a8a Allow building with Arduino core, without a .ino/.pde file
Till not it is not possible to build with Arduino core, without using a
.ino or .pde file. This commit removes that restriction.

However, the user has to explicitly include Arduino header files.

Fix #105
2013-08-09 22:04:36 +05:30
Sudar
c92d6724d7 Autodetect baudrate only if either a .ino/.pde is present
Because of the way the autodetect code works, if no .ino/.pde file is
present, then the makefile hangs
2013-08-09 21:39:15 +05:30
Sudar
5ea10b3e19 Merge pull request #112 from openxc/silent-mkdir
Silence output from the many mkdir calls.
2013-07-27 23:22:03 -07:00
Sudar
8fee3165f4 Update instructions about ARDMK_DIR and ARDMK_PATH
Both `ARDMK_DIR` and `ARDMK_PATH` needs to be set differently based on
whether the makefile is installed through a package or git checkout.

Refer to #111 to find out why it is needed.
2013-07-28 11:42:21 +05:30
Sudar
b78d843357 Print config info about ARDMK_DIR after Common.mk file is included
The show_config_variable macro is available in Common.mk file. So invoke
it for ARDMK_DIR only after Common.mk file is included.

Fix #111
2013-07-28 11:42:20 +05:30
Sudar
82fad52f6c Remove duplicate definition of show_config_variable macro
In 5ed507cf43 as part of #98,
[`show_config_variable` was duplicated in Arduino.mk file](https://github.com/sudar/Arduino-Makefile/pull/98#commitcomment-3561542)

But it was later found that `ARDMK_DIR` is still not getting printed
(issue #111). This commit therefore removes the duplicated macro
definition.
2013-07-28 11:42:20 +05:30
Sudar
65b426e4ad Remove unnecessary checks for ARDMK_DIR
If `ARDMK_DIR` is not defined, then it is assumed to be the directory
where `Arduino.mk` or `chipKIT.mk` is present.

Since this assumption is made, `ARDMK_DIR` will always be set, whether
the user has explicitly set it or not. Therefore checking whether
`ARDMK_DIR` is not set is unnecessary. This commit removes these
unnecessary checks.
2013-07-28 11:42:20 +05:30
Christopher Peplin
288c53c312 Fix typo in Perl command in README 2013-07-18 12:01:39 -04:00
Christopher Peplin
617ea09b45 Silence output from the many mkdir calls. 2013-07-12 08:37:31 -04:00
Sudar
290a4986d6 Make ARDMK_PATH and ARDMK_DIR backward compatible
When support for ChipKit was added recently (issue #98) it broke the way
ARDMK_PATH and ARDMK_DIR were handled, if the package was installed
through package. It was only working if you have done a git checkout.

This commit fixes it, but searching for `Common.mk` both in
`ARDMK_DIR/arduino-mk` and `ARDMK_DIR/` directories.

Fix #110
2013-07-12 16:07:49 +05:30
Sudar
588f7028b2 Merge pull request #106 from openxc/build-in-subdirs
Allow objects to be in arbitrary subdirectories.
2013-07-11 08:19:37 -07:00
Sudar
81c2f7fe89 Merge branch 'serial-port-variable-name' of git://github.com/openxc/Arduino-Makefile into openxc-serial-port-variable-name 2013-07-10 09:05:52 +05:30
Christopher Peplin
266d629c25 Rename ARDUINO_PORT to MONITOR_PORT to reflect support for other platforms.
This commit includes backwards compatibility with the ARDUINO_PORT flag if
that's set.

Fix #109
2013-07-10 09:05:38 +05:30
Sudar
b76d6bd783 Merge pull request #107 from openxc/chipkit-avrdude
Fix path to avrdude for chipKIT's MPIDE installation.
2013-07-09 20:08:47 -07:00
Sudar
4165bad7d6 Merge pull request #108 from openxc/no-preferences-required
Don't require an IDE preferences file, fallback to default sketchbook.
2013-07-09 19:51:11 -07:00
Sudar
ba27470547 Merge pull request #104 from openxc/update-chipkit-parseboards
Update a call to PARSE_BOARD to Makefile-style in chipKIT file.
2013-07-09 19:38:04 -07:00
Christopher Peplin
3c00739165 Don't require an IDE preferences file, fallback to default sketchbook.
It should be possible to use the Makefile without ever running the
Arduino or chipKIT IDE. This change only looks for the preferences file
if the sketchbook path is not defined, and even then, will use the
default skethbook path if the preferences file is unavailable.
2013-07-09 17:03:02 -04:00
Christopher Peplin
18548b4890 Fix path to avrdude for chipKIT's MPIDE installation. 2013-07-09 16:40:27 -04:00
Christopher Peplin
9200fe3d4d Update a call to PARSE_BOARD to Makefile-style in chipKIT file. 2013-07-09 16:29:25 -04:00
Christopher Peplin
7c73209f04 Allow objects to be in arbitrary subdirectories. 2013-07-09 16:20:39 -04:00
Christopher Peplin
474da2ced4 Remove Perl YAML dependency from documentation.
YAML is no longer necessary in Perl since ard-parse-boards was implemented in the Makefile itself.
2013-07-09 13:01:08 -04:00
Sudar
6936a1dcfd Replace Leonardo detection with Caterina detection
Checks bootloader.path for "caterina", instead of checking only for
leonardo

Fix #96
Fix #97
Fix #102
2013-07-09 22:18:46 +05:30
Christopher Peplin
1bc31c814b Compile with debugging symbols only when DEBUG=1.
Fix #101
2013-07-09 21:48:31 +05:30
Christopher Peplin
87e29ea806 Implement ard-parse-boards with shell scripting instead of Perl.
Working towards dropping the dependency on Perl (which very few Windows users
have), this commit implements the required functionality from ard-parse-boards
in a few shell commands from within the Makefile.

Fix #100
2013-07-09 21:45:17 +05:30
Christopher Peplin
df88db2cfb Add support for the Digilent chipKIT platform
This commit modifies a few things in Arduino.mk to be able to support
overriding the necessary configuration options to support the chipKIT build,
and also includes an example sketch configured to build for the Max32 platform.

In addition the following changes were done as well

- Control C standard with a CFLAGS_STD flag, GNU99 by default.
- Duplicate show_config_variable in each sub-makefile.
- Remove redundant output of ARDUINO_PREFERENCES_PATH from config table.
- Defer Priting ARDMK_DIR until Arduino.mk.
- Define names of compiler tools earlier to use for path checking.

Duplicating show_config_variable is unfortunate because the code is duplicated,
but I don't see a good way around it since we need to dupliacate the check
for ARDMK_DIR before we can find Common.mk.

Fix #98
2013-07-09 21:42:05 +05:30
Christopher Peplin
e77df36522 Don't commit example build directories to git. 2013-07-09 21:42:05 +05:30
Simon John
14d491c3bd moved reset routines down past where we define CATERINA
my understanding of recursively expanded variables wasn't correct
2013-07-03 09:29:34 +02:00
Simon John
ae3e5c78ac Replace Leonardo detection with Caterina detection
Checks bootloader.path for "caterina"
2013-07-03 00:18:29 +02:00
Sudar
5abf12bdb2 Move wait-for-reconnection logic inside ard-reset-arduino
When a Leonardo based board is reset, the port disappears and we need to
wait till it comes back.

Earlier this logic was handled by a separate shell script. Now the logic
is moved inside the ard-reset-arduino perl script. This is done to
reduce the number of binaries that are needed by the makefile.

Fix #95
2013-07-02 21:48:33 +05:30
Sudar
8a2e251e95 Move binary sketch size verification logic inside makefile
Earlier bin/ard-verify-size shell script was used to validate that the
binary hex file size is less than the flash memory of the target
microcontroller.

This commit removes the dependency on the external shell script, by
moving the binary size verification logic inside the makefile itself.

Fix #54
2013-07-01 21:54:56 +05:30
Sudar
45f230c5c8 Improve avrdude and avrdude_conf path auto detection
In Arduino Linux distribution, avrdude and avrdude.conf files are placed
in different path. This commit improves the autodetection of avrdude
and avrdude.conf paths by considering this fact.

Fix #48
2013-06-29 21:40:36 +05:30
Sudar
96deb9cd06 Add CURRENT_OS macro which has the current os
Right now CURRENT_OS can have one of the following values

- WINDOWS
- LINUX
- MAC
2013-06-29 20:33:58 +05:30
Sudar
bf41775676 Print config info about AVR_TOOLS_DIR always
In 25a31afbd9 a bug was introduced which
prevented the config info for AVR_TOOLS_DIR to be printed when
AVRDUDE_CONF was defined.

This commit moves the config printing statement for AVR_TOOLS_DIR
outside the condition which checks whether AVRDUDE_CONF is defined.
2013-06-29 16:43:52 +05:30
Sudar
13804ff861 Update instructions about including libraries 2013-06-28 09:04:56 +05:30
Sudar
a7d5563698 Merge pull request #90 from ralfdoering/opensuse
Documention and fixes for openSUSE and system provided avrdude
2013-06-25 22:29:09 -07:00
Ralf Doering
d8b52bdd34 Mention AVRDUDE and AVRDUDE_CONF in README.md. 2013-06-25 20:18:03 +02:00
Ralf Doering
25a31afbd9 Don't overwrite AVRDUDE_CONF if AVR_TOOLS_DIR is not set.
If one likes to use avrdude from outside of Arduino together with
Arduino-bundled gcc crosstolchain, the setting of AVRDUDE_CONF got
overwritten.
2013-06-25 20:07:56 +02:00
Ralf Doering
74882aa13a Add openSUSE perl package hints to README.md.
Signed-off-by: Ralf Doering <ralf@rdoering.net>
2013-06-25 19:41:33 +02:00
Sudar
fb1fac8a86 Merge pull request #89 from ralfdoering/fix-whitespace-revised
Remove tab from empty line.
2013-06-25 07:37:52 -07:00
Ralf Doering
2a52ff7e02 Remove tab from empty line.
If editing and saving Arduino.mk with emacs, emacs complains about
"Suspicious line 1050". This line is empty but contains an extra tab.

Signed-off-by: Ralf Doering <ralf@rdoering.net>
2013-06-25 15:37:42 +02:00
Sudar
18688003a3 Add installation guide to Readme file 2013-06-23 16:58:19 +05:30
Sudar
700f82b3f1 Remove redundant checks for ARDUINO_DIR 2013-06-23 13:16:37 +05:30
Sudar
7e66672a6c Auto detect alternate core path from sketchbook folder
Fix #86
2013-06-23 13:08:06 +05:30
Sudar
2b75a0ddb4 Add Tiny SoftwareSerial example
This example shows how to use softwareSerial in a ATtiny device using
the ATtiny core
2013-06-22 15:35:01 +05:30
Sudar
e0856e51d9 Remove "utility" from example makefiles
From commit fc968b9191 files inside
utility are automatically build.

Fix #84
2013-06-22 11:48:26 +05:30
Simon John
c284ec93dd Add support for reseting "Micro" Arduino.
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 #80
Fix #83
2013-06-21 08:37:11 +05:30
Sudar
4e22abe0de Add support for specifying optimization level
Fix #81
2013-06-20 21:56:54 +05:30
Sudar
6cdad1d621 Add $OBJDIR to the list of configuration that gets printed
Fix #77
2013-06-20 21:32:35 +05:30
Sudar
3b35453564 Release v0.12.0 2013-06-20 12:58:57 +05:30