/make/arduino-mk

To get this branch, use:
bzr branch http://bzr.ed.am/make/arduino-mk

« back to all changes in this revision

Viewing changes to arduino.mk

  • Committer: edam
  • Date: 2012-01-26 12:51:07 UTC
  • Revision ID: edam@waxworlds.org-20120126125107-j8yqkge8f2crwvsl
Tags: 0.1
announce that we're uploading and error on SERIALDEV blank

Show diffs side-by-side

added added

removed removed

169
169
OBJECTS := $(addsuffix .o, $(basename $(SOURCES)))
170
170
ARDUINOSRCDIR := $(ARDUINODIR)/hardware/arduino/cores/arduino
171
171
ARDUINOLIB := _arduino.a
172
 
ARDUINOLIBTMP := $(ARDUINOLIB).tmp
 
172
ARDUINOLIBTMP := _arduino.a.tmp
173
173
ARDUINOLIBOBJS := $(patsubst %, $(ARDUINOLIBTMP)/%.o, $(basename $(notdir \
174
174
        $(wildcard $(addprefix $(ARDUINOSRCDIR)/, *.c *.cpp)))))
175
175
ARDUINOLIBOBJS += $(foreach lib, $(LIBRARIES), \
176
176
        $(patsubst %, $(ARDUINOLIBTMP)/%.o, $(basename $(notdir \
177
 
        $(wildcard $(addprefix $(ARDUINODIR)/libraries/$(lib)/, \
178
 
                *.c *.cpp utility/*.c utility/*.cpp ))))))
 
177
        $(wildcard $(addprefix $(ARDUINODIR)/libraries/$(lib)/, *.c *.cpp))))))
179
178
 
180
179
# obtain board parameters from the arduino boards.txt file
181
180
BOARDS_FILE := $(ARDUINODIR)/hardware/arduino/boards.txt
190
189
BOARD_UPLOAD_PROTOCOL := \
191
190
        $(shell sed -ne "s/$(BOARD).upload.protocol=\(.*\)/\1/p" $(BOARDS_FILE))
192
191
 
193
 
# prefer software that comes with arduino
194
 
TOOLSDIRPREFIX = $(wildcard $(ARDUINODIR)/hardware/tools/)
195
 
TOOLSAVRDIRPREFIX = $(wildcard $(ARDUINODIR)/hardware/tools/avr/)
196
 
 
197
 
# software (prioritise binaries that came with arduino software)
198
 
FIND_SOFTWARE = $(firstword $(wildcard \
199
 
        $(ARDUINODIR)/hardware/tools/$(1) \
200
 
        $(ARDUINODIR)/hardware/tools/avr/bin/$(1) \
201
 
        ) $(1) )
202
 
CC := $(call FIND_SOFTWARE,avr-gcc)
203
 
CXX := $(call FIND_SOFTWARE,avr-g++)
204
 
LD := $(call FIND_SOFTWARE,avr-ld)
205
 
AR := $(call FIND_SOFTWARE,avr-ar)
206
 
OBJCOPY := $(call FIND_SOFTWARE,avr-objcopy)
207
 
AVRDUDE := $(call FIND_SOFTWARE,avrdude)
 
192
# software
 
193
CC := avr-gcc
 
194
CXX := avr-g++
 
195
LD := avr-ld
 
196
AR := avr-ar
 
197
OBJCOPY := avr-objcopy
 
198
AVRDUDE := avrdude
208
199
 
209
200
# flags
210
201
CPPFLAGS = -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections
293
284
$(ARDUINOLIBTMP)/%.o: $(ARDUINODIR)/libraries/*/%.cpp
294
285
        @test -d $(ARDUINOLIBTMP) || mkdir $(ARDUINOLIBTMP)
295
286
        $(COMPILE.cpp) -o $@ $<
296
 
 
297
 
$(ARDUINOLIBTMP)/%.o: $(ARDUINODIR)/libraries/*/utility/%.c
298
 
        @test -d $(ARDUINOLIBTMP) || mkdir $(ARDUINOLIBTMP)
299
 
        $(COMPILE.cpp) -o $@ $<
300
 
 
301
 
$(ARDUINOLIBTMP)/%.o: $(ARDUINODIR)/libraries/*/utility/%.cpp
302
 
        @test -d $(ARDUINOLIBTMP) || mkdir $(ARDUINOLIBTMP)
303
 
        $(COMPILE.cpp) -o $@ $<