|
|
|
|
@@ -47,7 +47,7 @@
|
|
|
|
|
# make doxygen = Generate DoxyGen documentation for the project (must have
|
|
|
|
|
# DoxyGen installed)
|
|
|
|
|
#
|
|
|
|
|
# make debug = Start either simulavr or avarice as specified for debugging,
|
|
|
|
|
# make debug = Start either simulavr or avarice as specified for debugging,
|
|
|
|
|
# with avr-gdb or avr-insight as the front end for debugging.
|
|
|
|
|
#
|
|
|
|
|
# make filename.s = Just compile filename.c into the assembler code only.
|
|
|
|
|
@@ -64,14 +64,14 @@ MCU = at90usb1287
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Target board (see library "Board Types" documentation, NONE for projects not requiring
|
|
|
|
|
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
|
|
|
|
|
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
|
|
|
|
|
# "Board" inside the application directory.
|
|
|
|
|
BOARD = USBKEY
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Processor frequency.
|
|
|
|
|
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
|
|
|
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
|
|
|
# This will define a symbol, F_CPU, in all source code files equal to the
|
|
|
|
|
# processor frequency in Hz. You can then use this symbol in your source code to
|
|
|
|
|
# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
|
|
|
|
|
# automatically to create a 32-bit value in your source code.
|
|
|
|
|
#
|
|
|
|
|
@@ -84,7 +84,7 @@ F_CPU = 8000000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Input clock frequency.
|
|
|
|
|
# This will define a symbol, F_CLOCK, in all source code files equal to the
|
|
|
|
|
# This will define a symbol, F_CLOCK, in all source code files equal to the
|
|
|
|
|
# input clock frequency (before any prescaling is performed) in Hz. This value may
|
|
|
|
|
# differ from F_CPU if prescaling is used on the latter, and is required as the
|
|
|
|
|
# raw input clock is fed directly to the PLL sections of the AVR for high speed
|
|
|
|
|
@@ -135,7 +135,7 @@ SRC = $(TARGET).c \
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# List C++ source files here. (C dependencies are automatically generated.)
|
|
|
|
|
CPPSRC =
|
|
|
|
|
CPPSRC =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# List Assembler source files here.
|
|
|
|
|
@@ -148,7 +148,7 @@ CPPSRC =
|
|
|
|
|
ASRC =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Optimization level, can be [0, 1, 2, 3, s].
|
|
|
|
|
# Optimization level, can be [0, 1, 2, 3, s].
|
|
|
|
|
# 0 = turn off optimization. s = optimize for size.
|
|
|
|
|
# (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
|
|
|
|
|
OPT = s
|
|
|
|
|
@@ -262,7 +262,7 @@ CPPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS))
|
|
|
|
|
# for use in COFF files, additional information about filenames
|
|
|
|
|
# and function names needs to be present in the assembler source
|
|
|
|
|
# files -- see avr-libc docs [FIXME: not yet described there]
|
|
|
|
|
# -listing-cont-lines: Sets the maximum number of continuation lines of hex
|
|
|
|
|
# -listing-cont-lines: Sets the maximum number of continuation lines of hex
|
|
|
|
|
# dump that will be displayed for a given single line of source input.
|
|
|
|
|
ASFLAGS = $(ADEFS) -Wa,-adhlns=$(<:%.S=$(OBJDIR)/%.lst),-gstabs,--listing-cont-lines=100
|
|
|
|
|
|
|
|
|
|
@@ -275,7 +275,7 @@ PRINTF_LIB_MIN = -Wl,-u,vfprintf -lprintf_min
|
|
|
|
|
PRINTF_LIB_FLOAT = -Wl,-u,vfprintf -lprintf_flt
|
|
|
|
|
|
|
|
|
|
# If this is left blank, then it will use the Standard printf version.
|
|
|
|
|
PRINTF_LIB =
|
|
|
|
|
PRINTF_LIB =
|
|
|
|
|
#PRINTF_LIB = $(PRINTF_LIB_MIN)
|
|
|
|
|
#PRINTF_LIB = $(PRINTF_LIB_FLOAT)
|
|
|
|
|
|
|
|
|
|
@@ -287,7 +287,7 @@ SCANF_LIB_MIN = -Wl,-u,vfscanf -lscanf_min
|
|
|
|
|
SCANF_LIB_FLOAT = -Wl,-u,vfscanf -lscanf_flt
|
|
|
|
|
|
|
|
|
|
# If this is left blank, then it will use the Standard scanf version.
|
|
|
|
|
SCANF_LIB =
|
|
|
|
|
SCANF_LIB =
|
|
|
|
|
#SCANF_LIB = $(SCANF_LIB_MIN)
|
|
|
|
|
#SCANF_LIB = $(SCANF_LIB_FLOAT)
|
|
|
|
|
|
|
|
|
|
@@ -299,7 +299,7 @@ MATH_LIB = -lm
|
|
|
|
|
# Each directory must be seperated by a space.
|
|
|
|
|
# Use forward slashes for directory separators.
|
|
|
|
|
# For a directory that has spaces, enclose it in quotes.
|
|
|
|
|
EXTRALIBDIRS =
|
|
|
|
|
EXTRALIBDIRS =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -322,7 +322,7 @@ EXTMEMOPTS =
|
|
|
|
|
# -Map: create map file
|
|
|
|
|
# --cref: add cross reference to map file
|
|
|
|
|
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
|
|
|
|
|
LDFLAGS += -Wl,--relax
|
|
|
|
|
LDFLAGS += -Wl,--relax
|
|
|
|
|
LDFLAGS += -Wl,--gc-sections
|
|
|
|
|
LDFLAGS += $(EXTMEMOPTS)
|
|
|
|
|
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
|
|
|
|
|
@@ -356,7 +356,7 @@ AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
|
|
|
|
|
#AVRDUDE_NO_VERIFY = -V
|
|
|
|
|
|
|
|
|
|
# Increase verbosity level. Please use this when submitting bug
|
|
|
|
|
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
|
|
|
|
|
# reports about avrdude. See <http://savannah.nongnu.org/projects/avrdude>
|
|
|
|
|
# to submit bug reports.
|
|
|
|
|
#AVRDUDE_VERBOSE = -v -v
|
|
|
|
|
|
|
|
|
|
@@ -390,7 +390,7 @@ JTAG_DEV = /dev/com1
|
|
|
|
|
DEBUG_PORT = 4242
|
|
|
|
|
|
|
|
|
|
# Debugging host used to communicate between GDB / avarice / simulavr, normally
|
|
|
|
|
# just set to localhost unless doing some sort of crazy debugging when
|
|
|
|
|
# just set to localhost unless doing some sort of crazy debugging when
|
|
|
|
|
# avarice is running on a different computer.
|
|
|
|
|
DEBUG_HOST = localhost
|
|
|
|
|
|
|
|
|
|
@@ -419,7 +419,7 @@ WINSHELL = cmd
|
|
|
|
|
MSG_ERRORS_NONE = Errors: none
|
|
|
|
|
MSG_BEGIN = -------- begin --------
|
|
|
|
|
MSG_END = -------- end --------
|
|
|
|
|
MSG_SIZE_BEFORE = Size before:
|
|
|
|
|
MSG_SIZE_BEFORE = Size before:
|
|
|
|
|
MSG_SIZE_AFTER = Size after:
|
|
|
|
|
MSG_COFF = Converting to AVR COFF:
|
|
|
|
|
MSG_EXTENDED_COFF = Converting to AVR Extended COFF:
|
|
|
|
|
@@ -438,10 +438,10 @@ MSG_CREATING_LIBRARY = Creating library:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Define all object files.
|
|
|
|
|
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
|
|
|
|
|
OBJ = $(SRC:%.c=$(OBJDIR)/%.o) $(CPPSRC:%.cpp=$(OBJDIR)/%.o) $(ASRC:%.S=$(OBJDIR)/%.o)
|
|
|
|
|
|
|
|
|
|
# Define all listing files.
|
|
|
|
|
LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
|
|
|
|
|
LST = $(SRC:%.c=$(OBJDIR)/%.lst) $(CPPSRC:%.cpp=$(OBJDIR)/%.lst) $(ASRC:%.S=$(OBJDIR)/%.lst)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Compiler flags to generate dependency files.
|
|
|
|
|
@@ -506,11 +506,11 @@ sizeafter:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Display compiler version information.
|
|
|
|
|
gccversion :
|
|
|
|
|
gccversion :
|
|
|
|
|
@$(CC) --version
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Program the device.
|
|
|
|
|
# Program the device.
|
|
|
|
|
program: $(TARGET).hex $(TARGET).eep
|
|
|
|
|
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM)
|
|
|
|
|
|
|
|
|
|
@@ -537,9 +537,9 @@ dfu-ee: $(TARGET).hex $(TARGET).eep
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Generate avr-gdb config/init file which does the following:
|
|
|
|
|
# define the reset signal, load the target file, connect to target, and set
|
|
|
|
|
# define the reset signal, load the target file, connect to target, and set
|
|
|
|
|
# a breakpoint at main().
|
|
|
|
|
gdb-config:
|
|
|
|
|
gdb-config:
|
|
|
|
|
@$(REMOVE) $(GDBINIT_FILE)
|
|
|
|
|
@echo define reset >> $(GDBINIT_FILE)
|
|
|
|
|
@echo SIGNAL SIGHUP >> $(GDBINIT_FILE)
|
|
|
|
|
@@ -637,14 +637,14 @@ extcoff: $(TARGET).elf
|
|
|
|
|
$(OBJDIR)/%.o : %.c
|
|
|
|
|
@echo
|
|
|
|
|
@echo $(MSG_COMPILING) $<
|
|
|
|
|
$(CC) -c $(ALL_CFLAGS) $< -o $@
|
|
|
|
|
$(CC) -c $(ALL_CFLAGS) $< -o $@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Compile: create object files from C++ source files.
|
|
|
|
|
$(OBJDIR)/%.o : %.cpp
|
|
|
|
|
@echo
|
|
|
|
|
@echo $(MSG_COMPILING_CPP) $<
|
|
|
|
|
$(CC) -c $(ALL_CPPFLAGS) $< -o $@
|
|
|
|
|
$(CC) -c $(ALL_CPPFLAGS) $< -o $@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Compile: create assembler files from C source files.
|
|
|
|
|
@@ -666,7 +666,7 @@ $(OBJDIR)/%.o : %.S
|
|
|
|
|
|
|
|
|
|
# Create preprocessed source for use in sending a bug report.
|
|
|
|
|
%.i : %.c
|
|
|
|
|
$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
|
|
|
|
|
$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Target: clean project.
|
|
|
|
|
@@ -710,3 +710,4 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
|
|
|
|
|
build elf hex eep lss sym coff extcoff doxygen clean \
|
|
|
|
|
clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
|
|
|
|
|
debug gdb-config
|
|
|
|
|
|
|
|
|
|
|