atduskgreg-rad 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. data/History.txt +104 -0
  2. data/License.txt +282 -0
  3. data/Manifest.txt +142 -0
  4. data/README.rdoc +55 -0
  5. data/Rakefile +142 -0
  6. data/bin/hello_world_test/Makefile +436 -0
  7. data/bin/hello_world_test/hello_world.cpp +23 -0
  8. data/bin/rad +302 -0
  9. data/lib/examples/add_hysteresis.rb +13 -0
  10. data/lib/examples/basic_blink.rb +10 -0
  11. data/lib/examples/blink_m_address_assignment.rb +104 -0
  12. data/lib/examples/blink_m_hello.rb +14 -0
  13. data/lib/examples/blink_m_multi.rb +61 -0
  14. data/lib/examples/blink_with_serial.rb +16 -0
  15. data/lib/examples/configure_pa_lcd_boot.rb +91 -0
  16. data/lib/examples/debounce_methods.rb +49 -0
  17. data/lib/examples/external_variable_fu.rb +26 -0
  18. data/lib/examples/external_variables.rb +32 -0
  19. data/lib/examples/first_sound.rb +23 -0
  20. data/lib/examples/frequency_generator.rb +30 -0
  21. data/lib/examples/hello_array.rb +48 -0
  22. data/lib/examples/hello_array2.rb +79 -0
  23. data/lib/examples/hello_array_eeprom.rb +59 -0
  24. data/lib/examples/hello_clock.rb +84 -0
  25. data/lib/examples/hello_eeprom.rb +51 -0
  26. data/lib/examples/hello_eeprom_lcdpa.rb +81 -0
  27. data/lib/examples/hello_format_print.rb +94 -0
  28. data/lib/examples/hello_lcd_charset.rb +75 -0
  29. data/lib/examples/hello_pa_lcd.rb +59 -0
  30. data/lib/examples/hello_servos.rb +88 -0
  31. data/lib/examples/hello_spectra_sound.rb +38 -0
  32. data/lib/examples/hello_world.rb +11 -0
  33. data/lib/examples/hello_xbee.rb +12 -0
  34. data/lib/examples/hysteresis_duel.rb +39 -0
  35. data/lib/examples/i2c_with_clock_chip.rb +124 -0
  36. data/lib/examples/midi_beat_box.rb +86 -0
  37. data/lib/examples/midi_scales.rb +94 -0
  38. data/lib/examples/motor_knob.rb +30 -0
  39. data/lib/examples/servo_buttons.rb +23 -0
  40. data/lib/examples/servo_calibrate_continuous.rb +92 -0
  41. data/lib/examples/servo_throttle.rb +40 -0
  42. data/lib/examples/software_serial.rb +10 -0
  43. data/lib/examples/sparkfun_lcd.rb +48 -0
  44. data/lib/examples/spectra_soft_pot.rb +34 -0
  45. data/lib/examples/times_method.rb +8 -0
  46. data/lib/examples/toggle.rb +10 -0
  47. data/lib/examples/twitter.rb +57 -0
  48. data/lib/examples/two_wire.rb +14 -0
  49. data/lib/libraries/AFSoftSerial/AFSoftSerial.cpp +321 -0
  50. data/lib/libraries/AFSoftSerial/AFSoftSerial.h +61 -0
  51. data/lib/libraries/AFSoftSerial/keywords.txt +18 -0
  52. data/lib/libraries/AF_XPort/AF_XPort.cpp +166 -0
  53. data/lib/libraries/AF_XPort/AF_XPort.h +48 -0
  54. data/lib/libraries/DS1307/DS1307.cpp +162 -0
  55. data/lib/libraries/DS1307/DS1307.h +66 -0
  56. data/lib/libraries/DS1307/keywords.txt +18 -0
  57. data/lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp +144 -0
  58. data/lib/libraries/FrequencyTimer2/FrequencyTimer2.h +42 -0
  59. data/lib/libraries/FrequencyTimer2/keywords.txt +22 -0
  60. data/lib/libraries/I2CEEPROM/I2CEEPROM.cpp +120 -0
  61. data/lib/libraries/I2CEEPROM/I2CEEPROM.h +70 -0
  62. data/lib/libraries/I2CEEPROM/keywords.txt +21 -0
  63. data/lib/libraries/LoopTimer/LoopTimer.cpp +35 -0
  64. data/lib/libraries/LoopTimer/LoopTimer.h +34 -0
  65. data/lib/libraries/LoopTimer/keywords.txt +27 -0
  66. data/lib/libraries/OneWire/OneWire.cpp +194 -0
  67. data/lib/libraries/OneWire/OneWire.h +63 -0
  68. data/lib/libraries/OneWire/keywords.txt +35 -0
  69. data/lib/libraries/OneWire/readme.txt +13 -0
  70. data/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp +296 -0
  71. data/lib/libraries/SWSerLCDpa/SWSerLCDpa.h +69 -0
  72. data/lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp +311 -0
  73. data/lib/libraries/SWSerLCDsf/SWSerLCDsf.h +67 -0
  74. data/lib/libraries/Servo/Servo.cpp +192 -0
  75. data/lib/libraries/Servo/Servo.h +61 -0
  76. data/lib/libraries/Stepper/Stepper.cpp +220 -0
  77. data/lib/libraries/Stepper/Stepper.h +86 -0
  78. data/lib/libraries/Stepper/keywords.txt +28 -0
  79. data/lib/libraries/Wire/Wire.cpp +262 -0
  80. data/lib/libraries/Wire/Wire.h +67 -0
  81. data/lib/libraries/Wire/keywords.txt +31 -0
  82. data/lib/libraries/Wire/twi.h +57 -0
  83. data/lib/libraries/Wire/utility/twi.c +449 -0
  84. data/lib/libraries/Wire/utility/twi.h +57 -0
  85. data/lib/plugins/bitwise_ops.rb +54 -0
  86. data/lib/plugins/blink.rb +25 -0
  87. data/lib/plugins/blink_m.rb +356 -0
  88. data/lib/plugins/debounce.rb +138 -0
  89. data/lib/plugins/debug_output_to_lcd.rb +71 -0
  90. data/lib/plugins/hysteresis.rb +52 -0
  91. data/lib/plugins/input_output_state.rb +84 -0
  92. data/lib/plugins/lcd_padding.rb +58 -0
  93. data/lib/plugins/mem_test.rb +37 -0
  94. data/lib/plugins/midi.rb +60 -0
  95. data/lib/plugins/parallax_ping.rb +50 -0
  96. data/lib/plugins/servo_pulse.rb +31 -0
  97. data/lib/plugins/servo_setup.rb +86 -0
  98. data/lib/plugins/smoother.rb +54 -0
  99. data/lib/plugins/spark_fun_serial_lcd.rb +100 -0
  100. data/lib/plugins/spectra_symbol.rb +79 -0
  101. data/lib/plugins/twitter_connect.rb +145 -0
  102. data/lib/rad.rb +5 -0
  103. data/lib/rad/README.rdoc +5 -0
  104. data/lib/rad/arduino_plugin.rb +246 -0
  105. data/lib/rad/arduino_sketch.rb +627 -0
  106. data/lib/rad/generators/makefile/makefile.erb +243 -0
  107. data/lib/rad/generators/makefile/makefile.rb +38 -0
  108. data/lib/rad/hardware_library.rb +813 -0
  109. data/lib/rad/init.rb +14 -0
  110. data/lib/rad/progressbar.rb +236 -0
  111. data/lib/rad/rad_processor.rb +128 -0
  112. data/lib/rad/rad_rewriter.rb +94 -0
  113. data/lib/rad/rad_type_checker.rb +26 -0
  114. data/lib/rad/sim/arduino_sketch.rb +57 -0
  115. data/lib/rad/sketch_compiler.rb +47 -0
  116. data/lib/rad/tasks/build_and_make.rake +210 -0
  117. data/lib/rad/tasks/rad.rb +2 -0
  118. data/lib/rad/todo.txt +13 -0
  119. data/lib/rad/variable_processing.rb +153 -0
  120. data/lib/rad/version.rb +9 -0
  121. data/scripts/txt2html +67 -0
  122. data/setup.rb +1585 -0
  123. data/spec/examples/hello_world.rb +11 -0
  124. data/spec/examples/serial_motor.rb +12 -0
  125. data/spec/models/arduino_sketch_spec.rb +82 -0
  126. data/spec/models/sketch_compiler_spec.rb +96 -0
  127. data/spec/models/spec_helper.rb +2 -0
  128. data/spec/sim/hello_world_spec.rb +42 -0
  129. data/spec/spec.opts +1 -0
  130. data/test/test_array_processing.rb +179 -0
  131. data/test/test_plugin_loading.rb +151 -0
  132. data/test/test_translation_post_processing.rb +185 -0
  133. data/test/test_variable_processing.rb +238 -0
  134. data/website/examples/assembler_test.rb.html +73 -0
  135. data/website/examples/gps_reader.rb.html +39 -0
  136. data/website/examples/hello_world.rb.html +38 -0
  137. data/website/examples/serial_motor.rb.html +41 -0
  138. data/website/index.html +178 -0
  139. data/website/index.txt +64 -0
  140. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  141. data/website/stylesheets/screen.css +169 -0
  142. data/website/template.rhtml +48 -0
  143. metadata +217 -0
data/README.rdoc ADDED
@@ -0,0 +1,55 @@
1
+ =Welcome to RAD (Ruby Arduino Development)
2
+
3
+ RAD is a framework for programming the Arduino physcial computing platform using Ruby. RAD converts Ruby scripts written using a set of Rails-like conventions and helpers into C source code which can be compiled and run on the Arduino microcontroller. It also provides a set of Rake tasks for automating the compilation and upload process.
4
+
5
+ For a full introduction see http://rad.rubyforge.org
6
+
7
+ ==Documentation
8
+
9
+ The main documentation is here: ArduinoSketch.
10
+
11
+ See also the Arduino Software reference: http://www.arduino.cc/en/Reference/HomePage
12
+
13
+ ==Examples
14
+
15
+ See the examples directory for lots of examples of RAD in action:
16
+ http://github.com/atduskgreg/rad/tree/master/lib/examples
17
+
18
+ The atduskgreg/rad wiki also contains a growing library of examples and hardware tutorials:
19
+ http://github.com/atduskgreg/rad/wikis
20
+
21
+ ==Getting Started
22
+
23
+ To install the edge gem:
24
+
25
+ # Update to RubyGems 1.2.0 before proceeding!
26
+ $ gem sources -a http://gems.github.com (you only have to do this once)
27
+ $ sudo gem install atduskgreg-rad
28
+
29
+ A very old and feature poor (though slightly more 'stable' RAD) is available from RubyGems:
30
+
31
+ $ sudo gem install rad
32
+
33
+ We plan to push tagged releases to RubyGems at key points. The 0.3 release should be coming up soon.
34
+
35
+ Run the rad command to create a new project:
36
+
37
+ $ rad my_project
38
+
39
+ Write a sketch that will blink a single LED every 500ms:
40
+
41
+ class MyProject < ArduinoSketch
42
+ output_pin 13, :as => led
43
+
44
+ def loop
45
+ blink led, 500
46
+ end
47
+ end
48
+
49
+ Attach your Arduino and use rake to complile and upload your sketch:
50
+
51
+ $ rake make:upload
52
+
53
+ ==Get Involved
54
+
55
+ Cheers? Jeers? Wanna help out? Contact Greg Borenstein: greg [dot] borenstein [at] gmail [dot] com
data/Rakefile ADDED
@@ -0,0 +1,142 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/clean'
4
+ require 'rake/testtask'
5
+ require 'rake/packagetask'
6
+ require 'rake/gempackagetask'
7
+ require 'rake/rdoctask'
8
+ require 'rake/contrib/rubyforgepublisher'
9
+ require 'fileutils'
10
+ require 'hoe'
11
+
12
+ RAD_ROOT = File.expand_path(File.dirname(__FILE__))
13
+
14
+ begin
15
+ require 'spec/rake/spectask'
16
+ rescue LoadError
17
+ puts 'To use rspec for testing you must install rspec gem:'
18
+ puts '$ sudo gem install rspec'
19
+ exit
20
+ end
21
+
22
+ include FileUtils
23
+ require File.join(File.dirname(__FILE__), 'lib', 'rad', 'version')
24
+
25
+ BIN = "rad"
26
+ AUTHOR = 'Greg Borenstein' # can also be an array of Authors
27
+ EMAIL = "greg@mfdz.com"
28
+ DESCRIPTION = "A framework for programming the Arduino physcial computing platform using Ruby. RAD converts Ruby scripts written using a set of Rails-like conventions and helpers into C source code which can be compiled and run on the Arduino microcontroller."
29
+ GEM_NAME = 'rad' # what ppl will type to install your gem
30
+
31
+ @config_file = "~/.rubyforge/user-config.yml"
32
+ @config = nil
33
+ def rubyforge_username
34
+ unless @config
35
+ begin
36
+ @config = YAML.load(File.read(File.expand_path(@config_file)))
37
+ rescue
38
+ puts <<-EOS
39
+ ERROR: No rubyforge config file found: #{@config_file}"
40
+ Run 'rubyforge setup' to prepare your env for access to Rubyforge
41
+ - See http://newgem.rubyforge.org/rubyforge.html for more details
42
+ EOS
43
+ exit
44
+ end
45
+ end
46
+ @rubyforge_username ||= @config["username"]
47
+ end
48
+
49
+ RUBYFORGE_PROJECT = 'rad' # The unix name for your project
50
+ HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
51
+ DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
52
+
53
+ NAME = "rad"
54
+ REV = nil
55
+ # UNCOMMENT IF REQUIRED:
56
+ # REV = `svn info`.each {|line| if line =~ /^Revision:/ then k,v = line.split(': '); break v.chomp; else next; end} rescue nil
57
+ VERS = Rad::VERSION::STRING + (REV ? ".#{REV}" : "")
58
+ CLEAN.include ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store']
59
+ RDOC_OPTS = ['--quiet', '--title', 'rad documentation',
60
+ "--opname", "index.html",
61
+ "--line-numbers",
62
+ "--main", "README",
63
+ "--inline-source"]
64
+
65
+ class Hoe
66
+ def extra_deps
67
+ @extra_deps.reject { |x| Array(x).first == 'hoe' }
68
+ end
69
+ end
70
+
71
+ # Generate all the Rake tasks
72
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
73
+ hoe = Hoe.new(GEM_NAME, VERS) do |p|
74
+ p.author = AUTHOR
75
+ p.description = DESCRIPTION
76
+ p.email = EMAIL
77
+ p.summary = DESCRIPTION
78
+ p.url = HOMEPATH
79
+ p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
80
+ p.test_globs = ["test/**/test_*.rb"]
81
+ p.clean_globs |= CLEAN #An array of file patterns to delete on clean.
82
+
83
+ # == Optional
84
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
85
+ p.extra_deps = [ ['RubyToC', '>= 1.0.0'] ]
86
+ #p.spec_extras = {} # A hash of extra values to set in the gemspec.
87
+ end
88
+
89
+ CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n")
90
+ PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
91
+ hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
92
+
93
+ desc 'Generate website files'
94
+ task :website_generate do
95
+ Dir['website/**/*.txt'].each do |txt|
96
+ sh %{ ruby scripts/txt2html #{txt} > #{txt.gsub(/txt$/,'html')} }
97
+ end
98
+ end
99
+
100
+ desc 'Upload website files to rubyforge'
101
+ task :website_upload do
102
+ host = "#{rubyforge_username}@rubyforge.org"
103
+ remote_dir = "/var/www/gforge-projects/#{PATH}/"
104
+ local_dir = 'website'
105
+ sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
106
+ end
107
+
108
+ desc 'Generate and upload website files'
109
+ task :website => [:website_generate, :website_upload, :publish_docs]
110
+
111
+ desc 'Release the website and new gem version'
112
+ task :deploy => [:check_version, :website, :release] do
113
+ puts "Remember to create SVN tag:"
114
+ puts "svn copy svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/trunk " +
115
+ "svn+ssh://#{rubyforge_username}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
116
+ puts "Suggested comment:"
117
+ puts "Tagging release #{CHANGES}"
118
+ end
119
+
120
+ desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
121
+ task :local_deploy => [:website_generate, :install_gem]
122
+
123
+ task :check_version do
124
+ unless ENV['VERSION']
125
+ puts 'Must pass a VERSION=x.y.z release version'
126
+ exit
127
+ end
128
+ unless ENV['VERSION'] == VERS
129
+ puts "Please update your version.rb to match the release version, currently #{VERS}"
130
+ exit
131
+ end
132
+ end
133
+
134
+ desc "Run the specs under spec/models"
135
+ Spec::Rake::SpecTask.new do |t|
136
+ t.spec_opts = ['--options', "spec/spec.opts"]
137
+ t.spec_files = FileList['spec/models/*_spec.rb']
138
+ end
139
+
140
+ desc "Default task is to run specs"
141
+ task :default => :spec
142
+
@@ -0,0 +1,436 @@
1
+ # Arduino makefile
2
+ #
3
+ # This makefile allows you to build sketches from the command line
4
+ # without the Arduino environment (or Java).
5
+ #
6
+ # The Arduino environment does preliminary processing on a sketch before
7
+ # compiling it. If you're using this makefile instead, you'll need to do
8
+ # a few things differently:
9
+ #
10
+ # - Give your program's file a .cpp extension (e.g. foo.cpp).
11
+ #
12
+ # - Put this line at top of your code: #include <WProgram.h>
13
+ #
14
+ # - Write prototypes for all your functions (or define them before you
15
+ # call them). A prototype declares the types of parameters a
16
+ # function will take and what type of value it will return. This
17
+ # means that you can have a call to a function before the definition
18
+ # of the function. A function prototype looks like the first line of
19
+ # the function, with a semi-colon at the end. For example:
20
+ # int digitalRead(int pin);
21
+ #
22
+ # - Write a main() function for your program that returns an int, calls
23
+ # init() and setup() once (in that order), and then calls loop()
24
+ # repeatedly():
25
+ #
26
+ # int main()
27
+ # {
28
+ # init();
29
+ # setup();
30
+ #
31
+ # for (;;)
32
+ # loop();
33
+ #
34
+ # return 0;
35
+ # }
36
+ #
37
+ # Instructions for using the makefile:
38
+ #
39
+ # 1. Copy this file into the folder with your sketch.
40
+ #
41
+ # 2. Below, modify the line containing "TARGET" to refer to the name of
42
+ # of your program's file without an extension (e.g. TARGET = foo).
43
+ #
44
+ # 3. Modify the line containg "ARDUINO" to point the directory that
45
+ # contains the Arduino core (for normal Arduino installations, this
46
+ # is the hardware/cores/arduino sub-directory).
47
+ #
48
+ # 4. Modify the line containing "PORT" to refer to the filename
49
+ # representing the USB or serial connection to your Arduino board
50
+ # (e.g. PORT = /dev/tty.USB0). If the exact name of this file
51
+ # changes, you can use * as a wildcard (e.g. PORT = /dev/tty.USB*).
52
+ #
53
+ # 5. At the command line, change to the directory containing your
54
+ # program's file and the makefile.
55
+ #
56
+ # 6. Type "make" and press enter to compile/verify your program.
57
+ #
58
+ # 7. Type "make upload", reset your Arduino board, and press enter to
59
+ # upload your program to the Arduino board.
60
+ #
61
+ # $Id$
62
+
63
+ PORT = /dev/tty.usb*
64
+ TARGET = hello_world
65
+ ARDUINO = /Applications/arduino-0012/hardware/cores/arduino
66
+ SOFTWARE_SERIAL = /Applications/arduino-0012/hardware/libraries/SoftwareSerial
67
+ SRC = $(ARDUINO)/pins_arduino.c $(ARDUINO)/wiring.c \
68
+ $(ARDUINO)/wiring_analog.c $(ARDUINO)/wiring_digital.c \
69
+ $(ARDUINO)/wiring_pulse.c $(ARDUINO)/wiring_serial.c \
70
+ $(ARDUINO)/wiring_shift.c $(ARDUINO)/WInterrupts.c
71
+ CXXSRC = $(ARDUINO)/HardwareSerial.cpp $(SOFTWARE_SERIAL)/SoftwareSerial.cpp $(ARDUINO)/Print.cpp
72
+ MCU = atmega168
73
+ ASRC =
74
+ F_CPU = 16000000
75
+ FORMAT = ihex
76
+ UPLOAD_RATE = 19200
77
+ BIN_DIR = /Applications/arduino-0012/hardware/tools/avr/bin
78
+
79
+ # Name of this Makefile (used for "make depend").
80
+ MAKEFILE = Makefile
81
+
82
+ # Debugging format.
83
+ # Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
84
+ # AVR (extended) COFF requires stabs, plus an avr-objcopy run.
85
+ DEBUG = stabs
86
+
87
+ OPT = s
88
+
89
+ # Place -D or -U options here
90
+ CDEFS = -DF_CPU=$(F_CPU)
91
+ CXXDEFS = -DF_CPU=$(F_CPU)
92
+
93
+ # Place -I options here
94
+ CINCS = -I$(ARDUINO) -I$(SOFTWARE_SERIAL)
95
+ +CXXINCS = -I$(ARDUINO) -I$(SOFTWARE_SERIAL)
96
+
97
+ # Compiler flag to set the C Standard level.
98
+ # c89 - "ANSI" C
99
+ # gnu89 - c89 plus GCC extensions
100
+ # c99 - ISO C99 standard (not yet fully implemented)
101
+ # gnu99 - c99 plus GCC extensions
102
+ CSTANDARD = -std=gnu99
103
+ CDEBUG = -g$(DEBUG)
104
+ CWARN = -Wall -Wstrict-prototypes
105
+ CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
106
+ #CEXTRA = -Wa,-adhlns=$(<:.c=.lst)
107
+
108
+ CFLAGS = $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CSTANDARD) $(CEXTRA)
109
+ CXXFLAGS = $(CDEFS) $(CINCS) -O$(OPT)
110
+ #ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
111
+ LDFLAGS = -lm
112
+
113
+
114
+ # Programming support using avrdude. Settings and variables.
115
+ AVRDUDE_PROGRAMMER = stk500
116
+ AVRDUDE_PORT = $(PORT)
117
+ AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
118
+ AVRDUDE_FLAGS = -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \
119
+ -b $(UPLOAD_RATE) -C /Applications/arduino-0012/hardware/tools/avr/etc/avrdude.conf
120
+
121
+ # Program settings
122
+ CC = $(BIN_DIR)/avr-gcc
123
+ CXX = $(BIN_DIR)/avr-g++
124
+ OBJCOPY = $(BIN_DIR)/avr-objcopy
125
+ OBJDUMP = $(BIN_DIR)/avr-objdump
126
+ AR = $(BIN_DIR)/avr-ar
127
+ SIZE = $(BIN_DIR)/avr-size
128
+ NM = $(BIN_DIR)/avr-nm
129
+ AVRDUDE = $(BIN_DIR)/avrdude
130
+ REMOVE = rm -f
131
+ MV = mv -f
132
+
133
+ # Define all object files.
134
+ OBJ = $(SRC:.c=.o) $(CXXSRC:.cpp=.o) $(ASRC:.S=.o)
135
+
136
+ # Define all listing files.
137
+ LST = $(ASRC:.S=.lst) $(CXXSRC:.cpp=.lst) $(SRC:.c=.lst)
138
+
139
+ # Combine all necessary flags and optional flags.
140
+ # Add target processor to flags.
141
+ ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
142
+ ALL_CXXFLAGS = -mmcu=$(MCU) -I. $(CXXFLAGS)
143
+ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
144
+
145
+
146
+ # Default target.
147
+ all: build
148
+
149
+ build: elf hex
150
+
151
+ elf: $(TARGET).elf
152
+ hex: $(TARGET).hex
153
+ eep: $(TARGET).eep
154
+ lss: $(TARGET).lss
155
+ sym: $(TARGET).sym
156
+
157
+ # Program the device.
158
+ upload: $(TARGET).hex
159
+ $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
160
+
161
+
162
+
163
+
164
+ # Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
165
+ COFFCONVERT=$(OBJCOPY) --debugging \
166
+ --change-section-address .data-0x800000 \
167
+ --change-section-address .bss-0x800000 \
168
+ --change-section-address .noinit-0x800000 \
169
+ --change-section-address .eeprom-0x810000
170
+
171
+
172
+ coff: $(TARGET).elf
173
+ $(COFFCONVERT) -O coff-avr $(TARGET).elf $(TARGET).cof
174
+
175
+
176
+ extcoff: $(TARGET).elf
177
+ $(COFFCONVERT) -O coff-ext-avr $(TARGET).elf $(TARGET).cof
178
+
179
+
180
+ .SUFFIXES: .elf .hex .eep .lss .sym
181
+
182
+ .elf.hex:
183
+ $(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
184
+
185
+ .elf.eep:
186
+ -$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
187
+ --change-section-lma .eeprom=0 -O $(FORMAT) $< $@
188
+
189
+ # Create extended listing file from ELF output file.
190
+ .elf.lss:
191
+ $(OBJDUMP) -h -S $< > $@
192
+
193
+ # Create a symbol table from ELF output file.
194
+ .elf.sym:
195
+ $(NM) -n $< > $@
196
+
197
+
198
+ core.a: $(OBJ)
199
+ @for i in $(OBJ); do echo $(AR) rcs core.a $$i; $(AR) rcs core.a $$i; done
200
+
201
+ # Link: create ELF output file from library.
202
+ $(TARGET).elf: core.a
203
+ $(CC) $(ALL_CFLAGS) -o $@ $(TARGET).cpp -L. core.a $(LDFLAGS)
204
+
205
+ # Compile: create object files from C++ source files.
206
+ .cpp.o:
207
+ $(CXX) -c $(ALL_CXXFLAGS) $< -o $@
208
+
209
+ # Compile: create object files from C source files.
210
+ .c.o:
211
+ $(CC) -c $(ALL_CFLAGS) $< -o $@
212
+
213
+
214
+ # Compile: create assembler files from C source files.
215
+ .c.s:
216
+ $(CC) -S $(ALL_CFLAGS) $< -o $@
217
+
218
+
219
+ # Assemble: create object files from assembler source files.
220
+ .S.o:
221
+ $(CC) -c $(ALL_ASFLAGS) $< -o $@
222
+
223
+
224
+
225
+ # Target: clean project.
226
+ clean:
227
+ $(REMOVE) $(TARGET).hex $(TARGET).eep $(TARGET).cof $(TARGET).elf \
228
+ $(TARGET).map $(TARGET).sym $(TARGET).lss core.a \
229
+ $(OBJ) $(LST) $(SRC:.c=.s) $(SRC:.c=.d) $(CXXSRC:.cpp=.s) $(CXXSRC:.cpp=.d)
230
+
231
+ depend:
232
+ if grep '^# DO NOT DELETE' $(MAKEFILE) >/dev/null; \
233
+ then \
234
+ sed -e '/^# DO NOT DELETE/,$$d' $(MAKEFILE) > \
235
+ $(MAKEFILE).$$$$ && \
236
+ $(MV) $(MAKEFILE).$$$$ $(MAKEFILE); \
237
+ fi
238
+ echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' \
239
+ >> $(MAKEFILE); \
240
+ $(CC) -M -mmcu=$(MCU) $(CDEFS) $(CINCS) $(SRC) $(ASRC) >> $(MAKEFILE)
241
+
242
+ .PHONY: all build elf hex eep lss sym program coff extcoff clean depend
243
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
244
+ pins_arduino.o: \
245
+ /Applications/arduino-0012/hardware/cores/arduino/pins_arduino.c \
246
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
247
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
248
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
249
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
250
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
251
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
252
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
253
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
254
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
255
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
256
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
257
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
258
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
259
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
260
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
261
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
262
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
263
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
264
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
265
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
266
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h \
267
+ /Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
268
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
269
+ wiring.o: /Applications/arduino-0012/hardware/cores/arduino/wiring.c \
270
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
271
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
272
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
273
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
274
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
275
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
276
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
277
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
278
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
279
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
280
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
281
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
282
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
283
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
284
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
285
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
286
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
287
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
288
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
289
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
290
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h
291
+ wiring_analog.o: \
292
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_analog.c \
293
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
294
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
295
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
296
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
297
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
298
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
299
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
300
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
301
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
302
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
303
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
304
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
305
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
306
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
307
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
308
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
309
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
310
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
311
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
312
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
313
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h \
314
+ /Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
315
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
316
+ wiring_digital.o: \
317
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_digital.c \
318
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
319
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
320
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
321
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
322
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
323
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
324
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
325
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
326
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
327
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
328
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
329
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
330
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
331
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
332
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
333
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
334
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
335
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
336
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
337
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
338
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h \
339
+ /Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
340
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
341
+ wiring_pulse.o: \
342
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_pulse.c \
343
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
344
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
345
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
346
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
347
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
348
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
349
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
350
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
351
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
352
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
353
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
354
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
355
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
356
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
357
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
358
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
359
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
360
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
361
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
362
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
363
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h \
364
+ /Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
365
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
366
+ wiring_serial.o: \
367
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_serial.c \
368
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
369
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
370
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
371
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
372
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
373
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
374
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
375
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
376
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
377
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
378
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
379
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
380
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
381
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
382
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
383
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
384
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
385
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
386
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
387
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
388
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h
389
+ wiring_shift.o: \
390
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_shift.c \
391
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
392
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
393
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
394
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
395
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
396
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
397
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
398
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
399
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
400
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
401
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
402
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
403
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
404
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
405
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
406
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
407
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
408
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
409
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
410
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
411
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h
412
+ WInterrupts.o: \
413
+ /Applications/arduino-0012/hardware/cores/arduino/WInterrupts.c \
414
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
415
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
416
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
417
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
418
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
419
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
420
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
421
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
422
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
423
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
424
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
425
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
426
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h \
427
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
428
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
429
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
430
+ /Applications/arduino-0012/hardware/cores/arduino/WConstants.h \
431
+ /Applications/arduino-0012/hardware/cores/arduino/wiring.h \
432
+ /Applications/arduino-0012/hardware/cores/arduino/binary.h \
433
+ /Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
434
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
435
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
436
+ /Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h