Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.
Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
This commit is contained in:
parent
42ac34b484
commit
6b5e684c77
116 changed files with 2969 additions and 4241 deletions
|
@ -85,7 +85,7 @@
|
|||
* </tr>
|
||||
* <tr>
|
||||
* <td>LIBUSB_DRIVER_COMPAT</td>
|
||||
* <td>Makefile CDEFS</td>
|
||||
* <td>Makefile LUFA_OPTS</td>
|
||||
* <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making
|
||||
* the code compatible with software such as avrdude (all platforms) that use the libUSB driver.
|
||||
* </tr>
|
||||
|
|
|
@ -112,12 +112,14 @@ OBJDIR = .
|
|||
|
||||
|
||||
# Path to the LUFA library
|
||||
LUFA_PATH = ../../
|
||||
LUFA_PATH = ../..
|
||||
|
||||
|
||||
# Path to the LUFA AVRISP-MKII project
|
||||
AVRISP_PATH = ../AVRISP-MKII/
|
||||
AVRISP_PATH = ../AVRISP-MKII
|
||||
|
||||
# LUFA library compile-time options
|
||||
|
||||
# LUFA library compile-time options and predefined tokens
|
||||
LUFA_OPTS = -D USB_DEVICE_ONLY
|
||||
LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8
|
||||
LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1
|
||||
|
@ -127,32 +129,35 @@ LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0
|
|||
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
|
||||
LUFA_OPTS += -D NO_DEVICE_SELF_POWER
|
||||
|
||||
LUFA_OPTS += -D AUX_LINE_PORT=PORTB
|
||||
LUFA_OPTS += -D AUX_LINE_PIN=PINB
|
||||
LUFA_OPTS += -D AUX_LINE_DDR=DDRB
|
||||
LUFA_OPTS += -D AUX_LINE_MASK="(1 << 4)"
|
||||
LUFA_OPTS += -D VTARGET_ADC_CHANNEL=2
|
||||
LUFA_OPTS += -D VTARGET_REF_VOLTS=3.3
|
||||
LUFA_OPTS += -D VTARGET_SCALE_FACTOR=2
|
||||
#LUFA_OPTS += -D LIBUSB_DRIVER_COMPAT
|
||||
|
||||
|
||||
# Create the LUFA source path variables by including the LUFA root makefile
|
||||
include $(LUFA_PATH)/LUFA/makefile
|
||||
|
||||
|
||||
# List C source files here. (C dependencies are automatically generated.)
|
||||
SRC = $(TARGET).c \
|
||||
AVRISPDescriptors.c \
|
||||
USARTDescriptors.c \
|
||||
Lib/SoftUART.c \
|
||||
$(AVRISP_PATH)/Lib/V2Protocol.c \
|
||||
$(AVRISP_PATH)/Lib/V2ProtocolParams.c \
|
||||
$(AVRISP_PATH)/Lib/ISP/ISPProtocol.c \
|
||||
$(AVRISP_PATH)/Lib/ISP/ISPTarget.c \
|
||||
$(AVRISP_PATH)/Lib/V2ProtocolParams.c \
|
||||
$(AVRISP_PATH)/Lib/ISP/ISPProtocol.c \
|
||||
$(AVRISP_PATH)/Lib/ISP/ISPTarget.c \
|
||||
$(AVRISP_PATH)/Lib/XPROG/XPROGProtocol.c \
|
||||
$(AVRISP_PATH)/Lib/XPROG/XPROGTarget.c \
|
||||
$(AVRISP_PATH)/Lib/XPROG/XMEGANVM.c \
|
||||
$(AVRISP_PATH)/Lib/XPROG/TINYNVM.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/DevChapter9.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Device.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Endpoint.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Host.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/HostChapter9.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/LowLevel.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/Pipe.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/LowLevel/USBInterrupt.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/Events.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/HighLevel/USBTask.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/CDC.c \
|
||||
$(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/CDC.c \
|
||||
$(LUFA_SRC_USB) \
|
||||
$(LUFA_SRC_USBCLASS)
|
||||
|
||||
|
||||
# List C++ source files here. (C dependencies are automatically generated.)
|
||||
|
@ -166,7 +171,7 @@ CPPSRC =
|
|||
# Even though the DOS/Win* filesystem matches both .s and .S the same,
|
||||
# it will preserve the spelling of the filenames, and gcc itself does
|
||||
# care about how the name is spelled on its command-line.
|
||||
ASRC =
|
||||
ASRC =
|
||||
|
||||
|
||||
# Optimization level, can be [0, 1, 2, 3, s].
|
||||
|
@ -186,7 +191,7 @@ DEBUG = dwarf-2
|
|||
# Each directory must be seperated by a space.
|
||||
# Use forward slashes for directory separators.
|
||||
# For a directory that has spaces, enclose it in quotes.
|
||||
EXTRAINCDIRS = $(LUFA_PATH)/ $(AVRISP_PATH)/
|
||||
EXTRAINCDIRS = $(LUFA_PATH)/ $(AVRISP_PATH)/
|
||||
|
||||
|
||||
# Compiler flag to set the C Standard level.
|
||||
|
@ -198,23 +203,23 @@ CSTANDARD = -std=c99
|
|||
|
||||
|
||||
# Place -D or -U options here for C sources
|
||||
CDEFS = -DF_CPU=$(F_CPU)UL -DF_CLOCK=$(F_CLOCK)UL -DBOARD=BOARD_$(BOARD) $(LUFA_OPTS)
|
||||
CDEFS += -DAUX_LINE_PORT=PORTB
|
||||
CDEFS += -DAUX_LINE_PIN=PINB
|
||||
CDEFS += -DAUX_LINE_DDR=DDRB
|
||||
CDEFS += -DAUX_LINE_MASK="(1 << 4)"
|
||||
CDEFS += -DVTARGET_ADC_CHANNEL=2
|
||||
CDEFS += -DVTARGET_REF_VOLTS=3.3
|
||||
CDEFS += -DVTARGET_SCALE_FACTOR=2
|
||||
#CDEFS += -DLIBUSB_DRIVER_COMPAT
|
||||
CDEFS = -DF_CPU=$(F_CPU)UL
|
||||
CDEFS += -DF_CLOCK=$(F_CLOCK)UL
|
||||
CDEFS += -DBOARD=BOARD_$(BOARD)
|
||||
CDEFS += $(LUFA_OPTS)
|
||||
|
||||
|
||||
# Place -D or -U options here for ASM sources
|
||||
ADEFS = -DF_CPU=$(F_CPU)
|
||||
|
||||
ADEFS = -DF_CPU=$(F_CPU)
|
||||
ADEFS += -DF_CLOCK=$(F_CLOCK)UL
|
||||
ADEFS += -DBOARD=BOARD_$(BOARD)
|
||||
ADEFS += $(LUFA_OPTS)
|
||||
|
||||
# Place -D or -U options here for C++ sources
|
||||
CPPDEFS = -DF_CPU=$(F_CPU)UL
|
||||
CPPDEFS = -DF_CPU=$(F_CPU)UL
|
||||
CPPDEFS += -DF_CLOCK=$(F_CLOCK)UL
|
||||
CPPDEFS += -DBOARD=BOARD_$(BOARD)
|
||||
CPPDEFS += $(LUFA_OPTS)
|
||||
#CPPDEFS += -D__STDC_LIMIT_MACROS
|
||||
#CPPDEFS += -D__STDC_CONSTANT_MACROS
|
||||
|
||||
|
@ -239,8 +244,9 @@ CFLAGS += -fshort-enums
|
|||
CFLAGS += -fno-strict-aliasing
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -Wstrict-prototypes
|
||||
CFLAGS += -Wundef
|
||||
#CFLAGS += -mshort-calls
|
||||
#CFLAGS += -fno-unit-at-a-time
|
||||
#CFLAGS += -Wundef
|
||||
#CFLAGS += -Wunreachable-code
|
||||
#CFLAGS += -Wsign-compare
|
||||
CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst)
|
||||
|
@ -264,7 +270,7 @@ CPPFLAGS += -fpack-struct
|
|||
CPPFLAGS += -fshort-enums
|
||||
CPPFLAGS += -fno-exceptions
|
||||
CPPFLAGS += -Wall
|
||||
CFLAGS += -Wundef
|
||||
CPPFLAGS += -Wundef
|
||||
#CPPFLAGS += -mshort-calls
|
||||
#CPPFLAGS += -fno-unit-at-a-time
|
||||
#CPPFLAGS += -Wstrict-prototypes
|
||||
|
@ -341,7 +347,7 @@ EXTMEMOPTS =
|
|||
# -Wl,...: tell GCC to pass this to linker.
|
||||
# -Map: create map file
|
||||
# --cref: add cross reference to map file
|
||||
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
|
||||
LDFLAGS = -Wl,-Map=$(TARGET).map,--cref
|
||||
LDFLAGS += -Wl,--relax
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
LDFLAGS += $(EXTMEMOPTS)
|
||||
|
@ -353,9 +359,7 @@ LDFLAGS += $(PRINTF_LIB) $(SCANF_LIB) $(MATH_LIB)
|
|||
|
||||
#---------------- Programming Options (avrdude) ----------------
|
||||
|
||||
# Programming hardware: alf avr910 avrisp bascom bsd
|
||||
# dt006 pavr picoweb pony-stk200 sp12 stk200 stk500
|
||||
#
|
||||
# Programming hardware
|
||||
# Type: avrdude -c ?
|
||||
# to get a full listing.
|
||||
#
|
||||
|
@ -435,6 +439,7 @@ REMOVEDIR = rm -rf
|
|||
COPY = cp
|
||||
WINSHELL = cmd
|
||||
|
||||
|
||||
# Define Messages
|
||||
# English
|
||||
MSG_ERRORS_NONE = Errors: none
|
||||
|
@ -480,7 +485,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
|
|||
|
||||
|
||||
# Default target.
|
||||
all: begin gccversion sizebefore build showliboptions showtarget sizeafter end
|
||||
all: begin gccversion sizebefore build sizeafter end
|
||||
|
||||
# Change the build target to build a HEX file or a library.
|
||||
build: elf hex eep lss sym
|
||||
|
@ -511,9 +516,7 @@ end:
|
|||
|
||||
# Display size of file.
|
||||
HEXSIZE = $(SIZE) --target=$(FORMAT) $(TARGET).hex
|
||||
ELFSIZE = $(SIZE) $(MCU_FLAG) $(FORMAT_FLAG) $(TARGET).elf
|
||||
MCU_FLAG = $(shell $(SIZE) --help | grep -- --mcu > /dev/null && echo --mcu=$(MCU) )
|
||||
FORMAT_FLAG = $(shell $(SIZE) --help | grep -- --format=.*avr > /dev/null && echo --format=avr )
|
||||
ELFSIZE = $(SIZE) --mcu=$(MCU) --format=avr $(TARGET).elf
|
||||
|
||||
sizebefore:
|
||||
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_BEFORE); $(ELFSIZE); \
|
||||
|
@ -523,22 +526,7 @@ sizeafter:
|
|||
@if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \
|
||||
2>/dev/null; echo; fi
|
||||
|
||||
showliboptions:
|
||||
@echo
|
||||
@echo ---- Compile Time Library Options ----
|
||||
@for i in $(LUFA_OPTS:-D%=%); do \
|
||||
echo $$i; \
|
||||
done
|
||||
@echo --------------------------------------
|
||||
|
||||
showtarget:
|
||||
@echo
|
||||
@echo --------- Target Information ---------
|
||||
@echo AVR Model: $(MCU)
|
||||
@echo Board: $(BOARD)
|
||||
@echo Clock: $(F_CPU)Hz CPU, $(F_CLOCK)Hz Master
|
||||
@echo --------------------------------------
|
||||
|
||||
|
||||
# Display compiler version information.
|
||||
gccversion :
|
||||
|
@ -628,7 +616,7 @@ extcoff: $(TARGET).elf
|
|||
%.hex: %.elf
|
||||
@echo
|
||||
@echo $(MSG_FLASH) $@
|
||||
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
|
||||
$(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock $< $@
|
||||
|
||||
%.eep: %.elf
|
||||
@echo
|
||||
|
@ -640,7 +628,7 @@ extcoff: $(TARGET).elf
|
|||
%.lss: %.elf
|
||||
@echo
|
||||
@echo $(MSG_EXTENDED_LISTING) $@
|
||||
$(OBJDUMP) -h -z -S $< > $@
|
||||
$(OBJDUMP) -h -S -z $< > $@
|
||||
|
||||
# Create a symbol table from ELF output file.
|
||||
%.sym: %.elf
|
||||
|
@ -702,18 +690,16 @@ $(OBJDIR)/%.o : %.S
|
|||
# Create preprocessed source for use in sending a bug report.
|
||||
%.i : %.c
|
||||
$(CC) -E -mmcu=$(MCU) -I. $(CFLAGS) $< -o $@
|
||||
|
||||
|
||||
|
||||
# Target: clean project.
|
||||
clean: begin clean_list clean_binary end
|
||||
clean: begin clean_list end
|
||||
|
||||
clean_binary:
|
||||
$(REMOVE) $(TARGET).hex
|
||||
|
||||
clean_list:
|
||||
clean_list :
|
||||
@echo
|
||||
@echo $(MSG_CLEANING)
|
||||
$(REMOVE) $(TARGET).hex
|
||||
$(REMOVE) $(TARGET).eep
|
||||
$(REMOVE) $(TARGET)eep.hex
|
||||
$(REMOVE) $(TARGET).cof
|
||||
$(REMOVE) $(TARGET).elf
|
||||
$(REMOVE) $(TARGET).map
|
||||
|
@ -724,7 +710,6 @@ clean_list:
|
|||
$(REMOVE) $(SRC:.c=.s)
|
||||
$(REMOVE) $(SRC:.c=.d)
|
||||
$(REMOVE) $(SRC:.c=.i)
|
||||
$(REMOVE) InvalidEvents.tmp
|
||||
$(REMOVEDIR) .dep
|
||||
|
||||
doxygen:
|
||||
|
@ -744,8 +729,7 @@ $(shell mkdir $(OBJDIR) 2>/dev/null)
|
|||
|
||||
|
||||
# Listing of phony targets.
|
||||
.PHONY : all showliboptions showtarget begin \
|
||||
finish end sizebefore sizeafter gccversion build \
|
||||
elf hex eep lss sym coff extcoff program dfu flip \
|
||||
flip-ee dfu-ee clean debug clean_list clean_binary \
|
||||
clean_doxygen gdb-config doxygen
|
||||
.PHONY : all begin finish end sizebefore sizeafter gccversion \
|
||||
build elf hex eep lss sym coff extcoff doxygen clean \
|
||||
clean_list clean_doxygen program dfu flip flip-ee dfu-ee \
|
||||
debug gdb-config
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue