From 6b5e684c77e5fa855b609d01e9a07fec296e9257 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 19 Jul 2010 14:00:44 +0000 Subject: 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. --- Bootloaders/CDC/makefile | 97 ++++++------- Bootloaders/DFU/makefile | 106 ++++++-------- Demos/Device/ClassDriver/AudioInput/AudioInput.txt | 2 +- Demos/Device/ClassDriver/AudioInput/makefile | 99 ++++++------- .../Device/ClassDriver/AudioOutput/AudioOutput.txt | 6 +- Demos/Device/ClassDriver/AudioOutput/makefile | 100 ++++++------- .../Device/ClassDriver/DualVirtualSerial/makefile | 96 +++++-------- Demos/Device/ClassDriver/GenericHID/makefile | 97 +++++-------- Demos/Device/ClassDriver/Joystick/makefile | 97 +++++-------- Demos/Device/ClassDriver/Keyboard/makefile | 97 +++++-------- Demos/Device/ClassDriver/KeyboardMouse/makefile | 97 +++++-------- Demos/Device/ClassDriver/MIDI/makefile | 95 +++++-------- Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c | 10 +- .../Device/ClassDriver/MassStorage/MassStorage.txt | 4 +- Demos/Device/ClassDriver/MassStorage/makefile | 99 ++++++------- .../MassStorageKeyboard/MassStorageKeyboard.txt | 4 +- .../ClassDriver/MassStorageKeyboard/makefile | 154 +++++++++------------ Demos/Device/ClassDriver/Mouse/makefile | 97 +++++-------- .../ClassDriver/RNDISEthernet/RNDISEthernet.txt | 14 +- Demos/Device/ClassDriver/RNDISEthernet/makefile | 111 +++++++-------- Demos/Device/ClassDriver/VirtualSerial/makefile | 96 +++++-------- .../Device/ClassDriver/VirtualSerialMouse/makefile | 98 +++++-------- Demos/Device/Incomplete/Sideshow/makefile | 107 ++++++-------- Demos/Device/LowLevel/AudioInput/AudioInput.txt | 2 +- Demos/Device/LowLevel/AudioInput/makefile | 98 ++++++------- Demos/Device/LowLevel/AudioOutput/AudioOutput.txt | 6 +- Demos/Device/LowLevel/AudioOutput/makefile | 101 ++++++-------- Demos/Device/LowLevel/DualVirtualSerial/makefile | 97 ++++++------- Demos/Device/LowLevel/GenericHID/makefile | 97 ++++++------- Demos/Device/LowLevel/Joystick/makefile | 97 ++++++------- Demos/Device/LowLevel/Keyboard/makefile | 97 ++++++------- Demos/Device/LowLevel/KeyboardMouse/makefile | 97 ++++++------- Demos/Device/LowLevel/MIDI/makefile | 99 ++++++------- Demos/Device/LowLevel/MassStorage/Lib/SCSI.c | 10 +- Demos/Device/LowLevel/MassStorage/makefile | 100 ++++++------- Demos/Device/LowLevel/Mouse/makefile | 99 ++++++------- .../LowLevel/RNDISEthernet/RNDISEthernet.txt | 14 +- Demos/Device/LowLevel/RNDISEthernet/makefile | 114 +++++++-------- Demos/Device/LowLevel/VirtualSerial/makefile | 97 ++++++------- .../DualRole/ClassDriver/MouseHostDevice/makefile | 103 ++++++-------- .../ClassDriver/JoystickHostWithParser/makefile | 105 ++++++-------- Demos/Host/ClassDriver/KeyboardHost/makefile | 105 ++++++-------- .../ClassDriver/KeyboardHostWithParser/makefile | 105 ++++++-------- Demos/Host/ClassDriver/MIDIHost/makefile | 104 ++++++-------- Demos/Host/ClassDriver/MassStorageHost/makefile | 104 ++++++-------- Demos/Host/ClassDriver/MouseHost/makefile | 105 ++++++-------- .../Host/ClassDriver/MouseHostWithParser/makefile | 105 ++++++-------- Demos/Host/ClassDriver/PrinterHost/makefile | 103 ++++++-------- Demos/Host/ClassDriver/RNDISEthernetHost/makefile | 104 ++++++-------- Demos/Host/ClassDriver/StillImageHost/makefile | 101 ++++++-------- Demos/Host/ClassDriver/VirtualSerialHost/makefile | 104 ++++++-------- Demos/Host/Incomplete/BluetoothHost/makefile | 120 +++++++--------- Demos/Host/LowLevel/GenericHIDHost/makefile | 102 ++++++-------- .../Host/LowLevel/JoystickHostWithParser/makefile | 102 ++++++-------- Demos/Host/LowLevel/KeyboardHost/makefile | 97 ++++++------- .../Host/LowLevel/KeyboardHostWithParser/makefile | 98 ++++++------- Demos/Host/LowLevel/MIDIHost/makefile | 97 ++++++------- Demos/Host/LowLevel/MassStorageHost/makefile | 101 ++++++-------- Demos/Host/LowLevel/MouseHost/makefile | 101 ++++++-------- Demos/Host/LowLevel/MouseHostWithParser/makefile | 102 ++++++-------- Demos/Host/LowLevel/PrinterHost/makefile | 97 ++++++------- Demos/Host/LowLevel/RNDISEthernetHost/makefile | 97 ++++++------- Demos/Host/LowLevel/StillImageHost/makefile | 101 ++++++-------- Demos/Host/LowLevel/VirtualSerialHost/makefile | 97 ++++++------- LUFA/Drivers/Board/Temperature.h | 2 +- LUFA/Drivers/Peripheral/Serial.h | 2 +- LUFA/Drivers/Peripheral/SerialStream.h | 2 +- LUFA/Drivers/Peripheral/TWI.h | 3 +- LUFA/Drivers/USB/Class/Audio.h | 2 +- LUFA/Drivers/USB/Class/CDC.h | 4 +- LUFA/Drivers/USB/Class/Device/Audio.h | 2 +- LUFA/Drivers/USB/Class/Device/CDC.h | 2 +- LUFA/Drivers/USB/Class/Device/HID.h | 2 +- LUFA/Drivers/USB/Class/Device/MIDI.h | 2 +- LUFA/Drivers/USB/Class/Device/MassStorage.h | 2 +- LUFA/Drivers/USB/Class/Device/RNDIS.h | 2 +- LUFA/Drivers/USB/Class/HID.h | 6 +- LUFA/Drivers/USB/Class/Host/CDC.h | 2 +- LUFA/Drivers/USB/Class/Host/HID.h | 4 +- LUFA/Drivers/USB/Class/Host/HIDParser.h | 2 +- LUFA/Drivers/USB/Class/Host/MIDI.h | 2 +- LUFA/Drivers/USB/Class/Host/MassStorage.h | 2 +- LUFA/Drivers/USB/Class/Host/Printer.h | 2 +- LUFA/Drivers/USB/Class/Host/RNDIS.h | 2 +- LUFA/Drivers/USB/Class/Host/StillImage.h | 2 +- LUFA/Drivers/USB/Class/MIDI.h | 4 +- LUFA/Drivers/USB/Class/MassStorage.h | 4 +- LUFA/Drivers/USB/Class/Printer.h | 2 +- LUFA/Drivers/USB/Class/RNDIS.h | 4 +- LUFA/Drivers/USB/Class/StillImage.h | 2 +- LUFA/Drivers/USB/USB.h | 22 +-- LUFA/ManPages/ChangeLog.txt | 1 + LUFA/ManPages/MigrationInformation.txt | 2 +- LUFA/Scheduler/Scheduler.h | 2 +- LUFA/makefile | 96 ++++++++----- Projects/AVRISP-MKII/AVRISP-MKII.txt | 22 +-- Projects/AVRISP-MKII/makefile | 123 +++++++--------- Projects/Benito/Benito.txt | 12 +- Projects/Benito/makefile | 112 +++++++-------- Projects/Incomplete/MIDIToneGenerator/makefile | 98 ++++++------- .../Incomplete/StandaloneProgrammer/Lib/SCSI.c | 10 +- Projects/Incomplete/StandaloneProgrammer/makefile | 102 ++++++-------- Projects/LEDNotifier/makefile | 98 ++++++------- Projects/Magstripe/Magstripe.txt | 20 +-- Projects/Magstripe/makefile | 118 +++++++--------- Projects/MissileLauncher/makefile | 100 ++++++------- Projects/RelayBoard/makefile | 148 +++++++++----------- Projects/TempDataLogger/Lib/SCSI.c | 12 +- Projects/TempDataLogger/TemperatureDataLogger.txt | 2 +- Projects/TempDataLogger/makefile | 109 ++++++--------- Projects/USBtoSerial/makefile | 98 ++++++------- Projects/Webserver/Lib/SCSI.c | 10 +- Projects/Webserver/Webserver.txt | 6 +- Projects/Webserver/makefile | 128 ++++++++--------- Projects/XPLAINBridge/XPLAINBridge.txt | 2 +- Projects/XPLAINBridge/makefile | 130 ++++++++--------- 116 files changed, 2973 insertions(+), 4245 deletions(-) diff --git a/Bootloaders/CDC/makefile b/Bootloaders/CDC/makefile index 339e4ac7a..d39d2b21d 100644 --- a/Bootloaders/CDC/makefile +++ b/Bootloaders/CDC/makefile @@ -109,7 +109,7 @@ OBJDIR = . LUFA_PATH = ../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 @@ -121,20 +121,14 @@ LUFA_OPTS += -D NO_DEVICE_SELF_POWER LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP +# 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 \ Descriptors.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_SRC_USB) \ # List C++ source files here. (C dependencies are automatically generated.) @@ -180,16 +174,26 @@ 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 = -DF_CPU=$(F_CPU)UL +CDEFS += -DF_CLOCK=$(F_CLOCK)UL +CDEFS += -DBOARD=BOARD_$(BOARD) CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL +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) +CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL +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) +CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL +CPPDEFS += $(LUFA_OPTS) #CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS @@ -208,14 +212,15 @@ CFLAGS += -O$(OPT) CFLAGS += -funsigned-char CFLAGS += -funsigned-bitfields CFLAGS += -ffunction-sections +CFLAGS += -fno-inline-small-functions CFLAGS += -fpack-struct CFLAGS += -fshort-enums -CFLAGS += -fno-inline-small-functions 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) @@ -239,7 +244,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 @@ -316,8 +321,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,--section-start=.text=$(BOOT_START) +LDFLAGS = -Wl,-Map=$(TARGET).map,--cref LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS) @@ -329,9 +333,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. # @@ -411,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +459,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 @@ -487,9 +490,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); \ @@ -499,22 +500,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 : @@ -583,7 +569,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 @@ -595,7 +581,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 @@ -657,18 +643,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 @@ -679,7 +663,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -699,8 +682,6 @@ $(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 clean \ -debug clean_list clean_binary clean_doxygen \ -gdb-config doxygen \ No newline at end of file +.PHONY : all begin finish end sizebefore sizeafter gccversion \ +build elf hex eep lss sym coff extcoff doxygen clean \ +clean_list clean_doxygen program debug gdb-config diff --git a/Bootloaders/DFU/makefile b/Bootloaders/DFU/makefile index 2aee6ab14..e53fca678 100644 --- a/Bootloaders/DFU/makefile +++ b/Bootloaders/DFU/makefile @@ -54,7 +54,7 @@ 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 # "Board" inside the application directory. -BOARD = USBKEY +BOARD = USBKEY # Processor frequency. @@ -109,7 +109,7 @@ OBJDIR = . LUFA_PATH = ../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_DEVICE_ONLY LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 LUFA_OPTS += -D CONTROL_ONLY_DEVICE @@ -122,22 +122,16 @@ LUFA_OPTS += -D NO_DEVICE_SELF_POWER LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP +# 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 \ Descriptors.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_SRC_USB) \ + + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -149,7 +143,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]. @@ -181,16 +175,26 @@ 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 = -DF_CPU=$(F_CPU)UL +CDEFS += -DF_CLOCK=$(F_CLOCK)UL +CDEFS += -DBOARD=BOARD_$(BOARD) CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL +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) +CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL +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) +CDEFS += -DBOOT_START_ADDR=$(BOOT_START)UL +CPPDEFS += $(LUFA_OPTS) #CPPDEFS += -D__STDC_LIMIT_MACROS #CPPDEFS += -D__STDC_CONSTANT_MACROS @@ -209,15 +213,15 @@ CFLAGS += -O$(OPT) CFLAGS += -funsigned-char CFLAGS += -funsigned-bitfields CFLAGS += -ffunction-sections -CFLAGS += -fdata-sections +CFLAGS += -fno-inline-small-functions CFLAGS += -fpack-struct CFLAGS += -fshort-enums -CFLAGS += -fno-inline-small-functions 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) @@ -241,7 +245,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 @@ -318,8 +322,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,--section-start=.text=$(BOOT_START) +LDFLAGS = -Wl,-Map=$(TARGET).map,--cref LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS) @@ -331,9 +334,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. # @@ -413,6 +414,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +460,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 @@ -489,9 +491,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); \ @@ -501,22 +501,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 : @@ -585,7 +570,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 @@ -597,7 +582,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 @@ -659,18 +644,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 @@ -681,7 +664,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -701,8 +683,6 @@ $(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 clean \ -debug clean_list clean_binary clean_doxygen \ -gdb-config doxygen \ No newline at end of file +.PHONY : all begin finish end sizebefore sizeafter gccversion \ +build elf hex eep lss sym coff extcoff doxygen clean \ +clean_list clean_doxygen program debug gdb-config diff --git a/Demos/Device/ClassDriver/AudioInput/AudioInput.txt b/Demos/Device/ClassDriver/AudioInput/AudioInput.txt index 2406cdd0b..0033e6a0f 100644 --- a/Demos/Device/ClassDriver/AudioInput/AudioInput.txt +++ b/Demos/Device/ClassDriver/AudioInput/AudioInput.txt @@ -71,7 +71,7 @@ * * * MICROPHONE_BIASED_TO_HALF_RAIL - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted. * * diff --git a/Demos/Device/ClassDriver/AudioInput/makefile b/Demos/Device/ClassDriver/AudioInput/makefile index c3974c95c..afe724932 100644 --- a/Demos/Device/ClassDriver/AudioInput/makefile +++ b/Demos/Device/ClassDriver/AudioInput/makefile @@ -115,29 +115,25 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D MICROPHONE_BIASED_TO_HALF_RAIL + + +# 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 \ Descriptors.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/Audio.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +179,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 = -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 @@ -216,8 +220,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) @@ -241,7 +246,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 @@ -318,7 +323,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) @@ -330,9 +335,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. # @@ -412,6 +415,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +461,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 @@ -488,9 +492,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); \ @@ -499,23 +501,8 @@ sizebefore: 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 : @@ -605,7 +592,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 @@ -617,7 +604,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 @@ -679,18 +666,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 @@ -701,7 +686,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +705,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt index 9170478ad..f92c91ac2 100644 --- a/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt +++ b/Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt @@ -73,17 +73,17 @@ * * * AUDIO_OUT_STEREO - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller. * * * AUDIO_OUT_MONO - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller. * * * AUDIO_OUT_PORTC - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an * external DAC. * diff --git a/Demos/Device/ClassDriver/AudioOutput/makefile b/Demos/Device/ClassDriver/AudioOutput/makefile index b103a2da4..ed56f897e 100644 --- a/Demos/Device/ClassDriver/AudioOutput/makefile +++ b/Demos/Device/ClassDriver/AudioOutput/makefile @@ -115,29 +115,27 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D AUDIO_OUT_STEREO +#LUFA_OPTS += -D AUDIO_OUT_MONO +#LUFA_OPTS += -D AUDIO_OUT_PORTC + + +# 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 \ Descriptors.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/Audio.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,16 +181,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 += -DAUDIO_OUT_STEREO +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 @@ -217,8 +222,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) @@ -242,7 +248,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 @@ -319,7 +325,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) @@ -331,9 +337,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. # @@ -413,6 +417,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +463,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 @@ -489,9 +494,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); \ @@ -501,22 +504,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 : @@ -606,7 +594,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 @@ -618,7 +606,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 @@ -680,18 +668,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 @@ -702,7 +688,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +707,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/DualVirtualSerial/makefile b/Demos/Device/ClassDriver/DualVirtualSerial/makefile index a14d8d35a..acb74e82e 100644 --- a/Demos/Device/ClassDriver/DualVirtualSerial/makefile +++ b/Demos/Device/ClassDriver/DualVirtualSerial/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,22 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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.) @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/GenericHID/makefile b/Demos/Device/ClassDriver/GenericHID/makefile index cf6f22cf5..8e1b067cf 100644 --- a/Demos/Device/ClassDriver/GenericHID/makefile +++ b/Demos/Device/ClassDriver/GenericHID/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,15 +177,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 = -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 @@ -218,8 +218,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) @@ -243,7 +244,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 @@ -320,7 +321,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) @@ -332,9 +333,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. # @@ -414,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -459,7 +459,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 @@ -490,9 +490,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); \ @@ -502,22 +500,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 : @@ -607,7 +590,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 @@ -619,7 +602,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 @@ -681,18 +664,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 @@ -703,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -723,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/Joystick/makefile b/Demos/Device/ClassDriver/Joystick/makefile index 8967c13ad..7c70ec0cd 100644 --- a/Demos/Device/ClassDriver/Joystick/makefile +++ b/Demos/Device/ClassDriver/Joystick/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,15 +177,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 = -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 @@ -218,8 +218,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) @@ -243,7 +244,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 @@ -320,7 +321,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) @@ -332,9 +333,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. # @@ -414,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -459,7 +459,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 @@ -490,9 +490,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); \ @@ -502,22 +500,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 : @@ -607,7 +590,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 @@ -619,7 +602,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 @@ -681,18 +664,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 @@ -703,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -723,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/Keyboard/makefile b/Demos/Device/ClassDriver/Keyboard/makefile index 5841a982c..ebd5b029a 100644 --- a/Demos/Device/ClassDriver/Keyboard/makefile +++ b/Demos/Device/ClassDriver/Keyboard/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,15 +177,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 = -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 @@ -218,8 +218,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) @@ -243,7 +244,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 @@ -320,7 +321,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) @@ -332,9 +333,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. # @@ -414,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -459,7 +459,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 @@ -490,9 +490,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); \ @@ -502,22 +500,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 : @@ -607,7 +590,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 @@ -619,7 +602,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 @@ -681,18 +664,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 @@ -703,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -723,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/KeyboardMouse/makefile b/Demos/Device/ClassDriver/KeyboardMouse/makefile index c10fd9ba9..5955304fb 100644 --- a/Demos/Device/ClassDriver/KeyboardMouse/makefile +++ b/Demos/Device/ClassDriver/KeyboardMouse/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,15 +177,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 = -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 @@ -218,8 +218,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) @@ -243,7 +244,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 @@ -320,7 +321,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) @@ -332,9 +333,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. # @@ -414,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -459,7 +459,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 @@ -490,9 +490,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); \ @@ -502,22 +500,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 : @@ -607,7 +590,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 @@ -619,7 +602,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 @@ -681,18 +664,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 @@ -703,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -723,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/MIDI/makefile b/Demos/Device/ClassDriver/MIDI/makefile index 899d35b89..fac283b31 100644 --- a/Demos/Device/ClassDriver/MIDI/makefile +++ b/Demos/Device/ClassDriver/MIDI/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,21 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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/MIDI.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c index f0796eaed..24d7859f0 100644 --- a/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c +++ b/Demos/Device/ClassDriver/MassStorage/Lib/SCSI.c @@ -249,14 +249,8 @@ static void SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* MSInterfaceI */ static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* MSInterfaceInfo, const bool IsDataRead) { - uint32_t BlockAddress; - uint16_t TotalBlocks; - - /* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */ - BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); - - /* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */ - TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); + uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); + uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); /* Check if the block address is outside the maximum allowable value for the LUN */ if (BlockAddress >= LUN_MEDIA_BLOCKS) diff --git a/Demos/Device/ClassDriver/MassStorage/MassStorage.txt b/Demos/Device/ClassDriver/MassStorage/MassStorage.txt index 3489ca033..538257347 100644 --- a/Demos/Device/ClassDriver/MassStorage/MassStorage.txt +++ b/Demos/Device/ClassDriver/MassStorage/MassStorage.txt @@ -85,8 +85,8 @@ * * TOTAL_LUNS * MassStorage.h - * Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive - * - this can be set to any positive non-zero amount. + * Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive - + * this can be set to any positive non-zero amount. * * */ diff --git a/Demos/Device/ClassDriver/MassStorage/makefile b/Demos/Device/ClassDriver/MassStorage/makefile index 67e86bd95..a7c1bed82 100644 --- a/Demos/Device/ClassDriver/MassStorage/makefile +++ b/Demos/Device/ClassDriver/MassStorage/makefile @@ -115,33 +115,25 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT + + +# 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 \ Descriptors.c \ - Lib/SCSI.c \ Lib/DataflashManager.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/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \ + Lib/SCSI.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -187,15 +179,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 = -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 @@ -220,8 +220,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) @@ -245,7 +246,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 @@ -322,7 +323,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) @@ -334,9 +335,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. # @@ -416,6 +415,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -461,7 +461,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 @@ -492,9 +492,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); \ @@ -504,22 +502,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 : @@ -609,7 +592,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 @@ -621,7 +604,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 @@ -683,18 +666,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 @@ -705,7 +686,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -725,8 +705,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.txt b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.txt index 568874157..f2fffc1fc 100644 --- a/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.txt +++ b/Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.txt @@ -85,8 +85,8 @@ * * TOTAL_LUNS * MassStorage.h - * Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive - * - this can be set to any positive non-zero amount. + * Total number of Logical Units (drives) in the device. The total device capacity is shared equally between each drive - + * this can be set to any positive non-zero amount. * * */ diff --git a/Demos/Device/ClassDriver/MassStorageKeyboard/makefile b/Demos/Device/ClassDriver/MassStorageKeyboard/makefile index 8a932fc72..9450ee584 100644 --- a/Demos/Device/ClassDriver/MassStorageKeyboard/makefile +++ b/Demos/Device/ClassDriver/MassStorageKeyboard/makefile @@ -71,28 +71,21 @@ BOARD = USBKEY # Processor frequency. # This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency. You can then use this symbol in your source code to +# 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. -# Typical values are: -# F_CPU = 1000000 -# F_CPU = 1843200 -# F_CPU = 2000000 -# F_CPU = 3686400 -# F_CPU = 4000000 -# F_CPU = 7372800 -# F_CPU = 8000000 -# F_CPU = 11059200 -# F_CPU = 14745600 -# F_CPU = 16000000 -# F_CPU = 18432000 -# F_CPU = 20000000 +# +# This will be an integer division of F_CLOCK below, as it is sourced by +# F_CLOCK after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. F_CPU = 8000000 # Input clock frequency. # This will define a symbol, F_CLOCK, in all source code files equal to the -# input clock frequency (before any prescaling is performed). This value may +# 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 # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' @@ -122,36 +115,25 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT +# 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 \ Descriptors.c \ - Lib/SCSI.c \ Lib/DataflashManager.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/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \ - - + Lib/SCSI.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -197,15 +179,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 = -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 @@ -230,8 +220,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) @@ -255,7 +246,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 @@ -332,8 +323,8 @@ 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,--relax +LDFLAGS = -Wl,-Map=$(TARGET).map,--cref +LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS) LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS)) @@ -344,9 +335,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. # @@ -426,6 +415,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -471,7 +461,7 @@ ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS) # Default target. -all: begin gccversion sizebefore build showeventhooks 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 @@ -502,9 +492,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); \ @@ -514,40 +502,38 @@ sizeafter: @if test -f $(TARGET).elf; then echo; echo $(MSG_SIZE_AFTER); $(ELFSIZE); \ 2>/dev/null; echo; fi -showeventhooks: build - @echo - @echo -------- Unhooked LUFA Events -------- - @$(shell) (grep -s '^EVENT_.*LUFA/.*\\.o' $(TARGET).map | \ - cut -d' ' -f1 | cut -d'_' -f2- | grep ".*") || \ - echo "(None)" - @echo -------------------------------------- -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 : @$(CC) --version - # Program the device. program: $(TARGET).hex $(TARGET).eep $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) +flip: $(TARGET).hex + batchisp -hardware usb -device $(MCU) -operation erase f + batchisp -hardware usb -device $(MCU) -operation loadbuffer $(TARGET).hex program + batchisp -hardware usb -device $(MCU) -operation start reset 0 + +dfu: $(TARGET).hex + dfu-programmer $(MCU) erase + dfu-programmer $(MCU) flash --debug 1 $(TARGET).hex + dfu-programmer $(MCU) reset + +flip-ee: $(TARGET).hex $(TARGET).eep + $(COPY) $(TARGET).eep $(TARGET)eep.hex + batchisp -hardware usb -device $(MCU) -operation memory EEPROM erase + batchisp -hardware usb -device $(MCU) -operation memory EEPROM loadbuffer $(TARGET)eep.hex program + batchisp -hardware usb -device $(MCU) -operation start reset 0 + $(REMOVE) $(TARGET)eep.hex + +dfu-ee: $(TARGET).hex $(TARGET).eep + dfu-programmer $(MCU) flash-eeprom --debug 1 --suppress-bootloader-mem $(TARGET).eep + dfu-programmer $(MCU) reset + # Generate avr-gdb config/init file which does the following: # define the reset signal, load the target file, connect to target, and set @@ -606,7 +592,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 @@ -618,7 +604,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 @@ -680,18 +666,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 @@ -702,7 +686,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +705,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/Mouse/makefile b/Demos/Device/ClassDriver/Mouse/makefile index c6250282a..d202a6a8c 100644 --- a/Demos/Device/ClassDriver/Mouse/makefile +++ b/Demos/Device/ClassDriver/Mouse/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,23 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,15 +177,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 = -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 @@ -218,8 +218,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) @@ -243,7 +244,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 @@ -320,7 +321,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) @@ -332,9 +333,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. # @@ -414,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -459,7 +459,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 @@ -490,9 +490,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); \ @@ -502,22 +500,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 : @@ -607,7 +590,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 @@ -619,7 +602,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 @@ -681,18 +664,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 @@ -703,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -723,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt index 2175ecb7f..ab325ca00 100644 --- a/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt +++ b/Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt @@ -85,37 +85,37 @@ * * * NO_DECODE_ETHERNET - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received Ethernet headers will not be decoded and printed to the device serial port. * * * NO_DECODE_ARP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received ARP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_IP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received IP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_ICMP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received ICMP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_TCP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received TCP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_UDP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received UDP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_DHCP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received DHCP headers will not be decoded and printed to the device serial port. * * diff --git a/Demos/Device/ClassDriver/RNDISEthernet/makefile b/Demos/Device/ClassDriver/RNDISEthernet/makefile index 1164fbc66..c3650e9da 100644 --- a/Demos/Device/ClassDriver/RNDISEthernet/makefile +++ b/Demos/Device/ClassDriver/RNDISEthernet/makefile @@ -115,17 +115,29 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_DECODE_ETHERNET +LUFA_OPTS += -D NO_DECODE_ARP +LUFA_OPTS += -D NO_DECODE_IP +LUFA_OPTS += -D NO_DECODE_ICMP +LUFA_OPTS += -D NO_DECODE_TCP +LUFA_OPTS += -D NO_DECODE_UDP +LUFA_OPTS += -D NO_DECODE_DHCP + + +# 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 \ - Descriptors.c \ + Descriptors.c \ Lib/Ethernet.c \ Lib/ProtocolDecoders.c \ Lib/ICMP.c \ @@ -135,20 +147,10 @@ SRC = $(TARGET).c \ Lib/ARP.c \ Lib/IP.c \ Lib/Webserver.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/RNDIS.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -194,17 +196,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 += -DNO_DECODE_ETHERNET -DNO_DECODE_ARP -DNO_DECODE_ICMP -CDEFS += -DNO_DECODE_IP -DNO_DECODE_TCP -DNO_DECODE_UDP -DNO_DECODE_DHCP -DNO_DECODE_DNS +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 @@ -229,8 +237,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) @@ -254,7 +263,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 @@ -331,7 +340,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) @@ -343,9 +352,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. # @@ -425,6 +432,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -470,7 +478,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 @@ -501,9 +509,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); \ @@ -513,22 +519,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 : @@ -618,7 +609,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 @@ -630,7 +621,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 @@ -692,18 +683,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 @@ -714,7 +703,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -734,8 +722,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 \ No newline at end of file +.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 \ No newline at end of file diff --git a/Demos/Device/ClassDriver/VirtualSerial/makefile b/Demos/Device/ClassDriver/VirtualSerial/makefile index ef615a1d6..18c3be52f 100644 --- a/Demos/Device/ClassDriver/VirtualSerial/makefile +++ b/Demos/Device/ClassDriver/VirtualSerial/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,22 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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.) @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/ClassDriver/VirtualSerialMouse/makefile b/Demos/Device/ClassDriver/VirtualSerialMouse/makefile index d05facbf9..04141a50f 100644 --- a/Demos/Device/ClassDriver/VirtualSerialMouse/makefile +++ b/Demos/Device/ClassDriver/VirtualSerialMouse/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../../../.. -# 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 @@ -123,24 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -186,15 +177,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 = -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 @@ -219,8 +218,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) @@ -244,7 +244,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 @@ -321,7 +321,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) @@ -333,9 +333,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. # @@ -415,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -460,7 +459,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 @@ -491,9 +490,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); \ @@ -503,22 +500,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 : @@ -608,7 +590,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 @@ -620,7 +602,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 @@ -682,18 +664,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 @@ -704,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -724,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/Incomplete/Sideshow/makefile b/Demos/Device/Incomplete/Sideshow/makefile index 280126410..f0782f183 100644 --- a/Demos/Device/Incomplete/Sideshow/makefile +++ b/Demos/Device/Incomplete/Sideshow/makefile @@ -115,35 +115,29 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.c \ - Lib/SideshowCommon.c \ - Lib/SideshowCommands.c \ Lib/SideshowApplications.c \ + Lib/SideshowCommands.c \ + Lib/SideshowCommon.c \ Lib/SideshowContent.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/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,19 +179,27 @@ EXTRAINCDIRS = $(LUFA_PATH)/ # gnu89 = c89 plus GCC extensions # c99 = ISO C99 standard (not yet fully implemented) # gnu99 = c99 plus GCC extensions -CSTANDARD = -std=c99 +CSTANDARD = -std=gnu99 # 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 = -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 @@ -222,8 +224,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) @@ -247,7 +250,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 @@ -324,7 +327,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) @@ -336,9 +339,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. # @@ -418,6 +419,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -463,7 +465,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 @@ -494,9 +496,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); \ @@ -506,22 +506,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 : @@ -611,7 +596,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 @@ -623,7 +608,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 @@ -685,18 +670,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 @@ -707,7 +690,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -727,8 +709,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/AudioInput/AudioInput.txt b/Demos/Device/LowLevel/AudioInput/AudioInput.txt index fb021f897..149f8360a 100644 --- a/Demos/Device/LowLevel/AudioInput/AudioInput.txt +++ b/Demos/Device/LowLevel/AudioInput/AudioInput.txt @@ -71,7 +71,7 @@ * * * MICROPHONE_BIASED_TO_HALF_RAIL - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this alters the demo so that the half VCC bias of the microphone input is subtracted. * * diff --git a/Demos/Device/LowLevel/AudioInput/makefile b/Demos/Device/LowLevel/AudioInput/makefile index b94f4e2c3..dc7fa47ee 100644 --- a/Demos/Device/LowLevel/AudioInput/makefile +++ b/Demos/Device/LowLevel/AudioInput/makefile @@ -115,29 +115,24 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D MICROPHONE_BIASED_TO_HALF_RAIL + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +178,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 = -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 @@ -216,8 +219,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) @@ -241,7 +245,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 @@ -318,7 +322,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) @@ -330,9 +334,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. # @@ -412,6 +414,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +460,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 @@ -488,9 +491,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); \ @@ -500,22 +501,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 : @@ -605,7 +591,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 @@ -617,7 +603,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 @@ -679,18 +665,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 @@ -701,7 +685,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +704,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt b/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt index 9170478ad..f92c91ac2 100644 --- a/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt +++ b/Demos/Device/LowLevel/AudioOutput/AudioOutput.txt @@ -73,17 +73,17 @@ * * * AUDIO_OUT_STEREO - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this outputs the audio samples in stereo to the timer output pins of the microcontroller. * * * AUDIO_OUT_MONO - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this outputs the audio samples in mono to the timer output pin of the microcontroller. * * * AUDIO_OUT_PORTC - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this outputs the audio samples in mono to port C of the microcontroller, for connection to an * external DAC. * diff --git a/Demos/Device/LowLevel/AudioOutput/makefile b/Demos/Device/LowLevel/AudioOutput/makefile index 762fccc91..9e61803e7 100644 --- a/Demos/Device/LowLevel/AudioOutput/makefile +++ b/Demos/Device/LowLevel/AudioOutput/makefile @@ -115,29 +115,26 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D AUDIO_OUT_STEREO +#LUFA_OPTS += -D AUDIO_OUT_MONO +#LUFA_OPTS += -D AUDIO_OUT_PORTC + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,16 +180,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 += -DAUDIO_OUT_STEREO +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 @@ -217,8 +221,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) @@ -242,7 +247,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 @@ -319,7 +324,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) @@ -331,9 +336,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. # @@ -413,6 +416,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +462,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 @@ -489,9 +493,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); \ @@ -501,22 +503,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 : @@ -606,7 +593,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 @@ -618,7 +605,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 @@ -680,18 +667,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 @@ -702,7 +687,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +706,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/DualVirtualSerial/makefile b/Demos/Device/LowLevel/DualVirtualSerial/makefile index f3106b8c7..c9f49a559 100644 --- a/Demos/Device/LowLevel/DualVirtualSerial/makefile +++ b/Demos/Device/LowLevel/DualVirtualSerial/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/GenericHID/makefile b/Demos/Device/LowLevel/GenericHID/makefile index 806d51c67..abf347593 100644 --- a/Demos/Device/LowLevel/GenericHID/makefile +++ b/Demos/Device/LowLevel/GenericHID/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/Joystick/makefile b/Demos/Device/LowLevel/Joystick/makefile index e7ae0c0cc..329163ee8 100644 --- a/Demos/Device/LowLevel/Joystick/makefile +++ b/Demos/Device/LowLevel/Joystick/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/Keyboard/makefile b/Demos/Device/LowLevel/Keyboard/makefile index ca4554cb7..00892d9d8 100644 --- a/Demos/Device/LowLevel/Keyboard/makefile +++ b/Demos/Device/LowLevel/Keyboard/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/KeyboardMouse/makefile b/Demos/Device/LowLevel/KeyboardMouse/makefile index b2542b319..eeee41e06 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/makefile +++ b/Demos/Device/LowLevel/KeyboardMouse/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/MIDI/makefile b/Demos/Device/LowLevel/MIDI/makefile index 5b3b903ab..308933252 100644 --- a/Demos/Device/LowLevel/MIDI/makefile +++ b/Demos/Device/LowLevel/MIDI/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -499,23 +499,8 @@ sizebefore: 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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c index 05c9265dd..d718e7eea 100644 --- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c +++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c @@ -252,14 +252,8 @@ static void SCSI_Command_Send_Diagnostic(void) */ static void SCSI_Command_ReadWrite_10(const bool IsDataRead) { - uint32_t BlockAddress; - uint16_t TotalBlocks; - - /* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */ - BlockAddress = SwapEndian_32(*(uint32_t*)&CommandBlock.SCSICommandData[2]); - - /* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */ - TotalBlocks = SwapEndian_16(*(uint16_t*)&CommandBlock.SCSICommandData[7]); + uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&CommandBlock.SCSICommandData[2]); + uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&CommandBlock.SCSICommandData[7]); /* Check if the block address is outside the maximum allowable value for the LUN */ if (BlockAddress >= LUN_MEDIA_BLOCKS) diff --git a/Demos/Device/LowLevel/MassStorage/makefile b/Demos/Device/LowLevel/MassStorage/makefile index b127d4f92..4ae0040ce 100644 --- a/Demos/Device/LowLevel/MassStorage/makefile +++ b/Demos/Device/LowLevel/MassStorage/makefile @@ -115,31 +115,24 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT + + +# 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 \ Descriptors.c \ - Lib/SCSI.c \ Lib/DataflashManager.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 \ + Lib/SCSI.c \ + $(LUFA_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,15 +178,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 = -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 @@ -218,8 +219,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) @@ -243,7 +245,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 @@ -320,7 +322,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) @@ -332,9 +334,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. # @@ -414,6 +414,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -459,7 +460,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 @@ -490,9 +491,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); \ @@ -501,23 +500,8 @@ sizebefore: 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 : @@ -607,7 +591,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 @@ -619,7 +603,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 @@ -681,18 +665,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 @@ -703,7 +685,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -723,8 +704,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/Mouse/makefile b/Demos/Device/LowLevel/Mouse/makefile index adc4f75b0..744da6b5a 100644 --- a/Demos/Device/LowLevel/Mouse/makefile +++ b/Demos/Device/LowLevel/Mouse/makefile @@ -115,30 +115,25 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) + + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -182,15 +177,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 = -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 @@ -216,8 +219,8 @@ CFLAGS += -fno-strict-aliasing CFLAGS += -Wall CFLAGS += -Wstrict-prototypes #CFLAGS += -mshort-calls -CFLAGS += -Wundef #CFLAGS += -fno-unit-at-a-time +#CFLAGS += -Wundef #CFLAGS += -Wunreachable-code #CFLAGS += -Wsign-compare CFLAGS += -Wa,-adhlns=$(<:%.c=$(OBJDIR)/%.lst) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt index 2175ecb7f..ab325ca00 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt +++ b/Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt @@ -85,37 +85,37 @@ * * * NO_DECODE_ETHERNET - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received Ethernet headers will not be decoded and printed to the device serial port. * * * NO_DECODE_ARP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received ARP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_IP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received IP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_ICMP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received ICMP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_TCP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received TCP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_UDP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received UDP headers will not be decoded and printed to the device serial port. * * * NO_DECODE_DHCP - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, received DHCP headers will not be decoded and printed to the device serial port. * * diff --git a/Demos/Device/LowLevel/RNDISEthernet/makefile b/Demos/Device/LowLevel/RNDISEthernet/makefile index 69383e263..3e57640f7 100644 --- a/Demos/Device/LowLevel/RNDISEthernet/makefile +++ b/Demos/Device/LowLevel/RNDISEthernet/makefile @@ -115,19 +115,30 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + +LUFA_OPTS += -D NO_DECODE_ETHERNET +LUFA_OPTS += -D NO_DECODE_ARP +LUFA_OPTS += -D NO_DECODE_IP +LUFA_OPTS += -D NO_DECODE_ICMP +LUFA_OPTS += -D NO_DECODE_TCP +LUFA_OPTS += -D NO_DECODE_UDP +LUFA_OPTS += -D NO_DECODE_DHCP + + +# 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 \ - Descriptors.c \ - Lib/RNDIS.c \ + Descriptors.c \ Lib/Ethernet.c \ Lib/ProtocolDecoders.c \ Lib/ICMP.c \ @@ -137,19 +148,10 @@ SRC = $(TARGET).c \ Lib/ARP.c \ Lib/IP.c \ Lib/Webserver.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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 \ + Lib/RNDIS.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -195,16 +197,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 += -DNO_DECODE_ETHERNET -DNO_DECODE_ARP -DNO_DECODE_ICMP -DNO_DECODE_IP -DNO_DECODE_TCP -DNO_DECODE_UDP -DNO_DECODE_DHCP +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 @@ -229,8 +238,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) @@ -254,7 +264,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 @@ -331,7 +341,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) @@ -343,9 +353,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. # @@ -425,6 +433,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -470,7 +479,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 @@ -501,9 +510,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); \ @@ -513,22 +520,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 : @@ -618,7 +610,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 @@ -630,7 +622,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 @@ -692,18 +684,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 @@ -714,7 +704,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -734,8 +723,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 \ No newline at end of file +.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 \ No newline at end of file diff --git a/Demos/Device/LowLevel/VirtualSerial/makefile b/Demos/Device/LowLevel/VirtualSerial/makefile index 65d851050..c0d989e87 100644 --- a/Demos/Device/LowLevel/VirtualSerial/makefile +++ b/Demos/Device/LowLevel/VirtualSerial/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_DEVICE_ONLY +# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/DualRole/ClassDriver/MouseHostDevice/makefile b/Demos/DualRole/ClassDriver/MouseHostDevice/makefile index 87fd546a4..79ab4f4f1 100644 --- a/Demos/DualRole/ClassDriver/MouseHostDevice/makefile +++ b/Demos/DualRole/ClassDriver/MouseHostDevice/makefile @@ -115,35 +115,27 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.c \ DeviceFunctions.c \ HostFunctions.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -188,15 +180,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 = -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 @@ -221,8 +221,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) @@ -246,7 +247,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 @@ -323,7 +324,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) @@ -335,9 +336,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. # @@ -417,6 +416,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -462,7 +462,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 @@ -493,9 +493,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); \ @@ -505,22 +503,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 : @@ -610,7 +593,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 @@ -622,7 +605,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 @@ -684,18 +667,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 @@ -706,7 +687,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -726,8 +706,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/makefile b/Demos/Host/ClassDriver/JoystickHostWithParser/makefile index d2a8b88e5..3d408ae6a 100644 --- a/Demos/Host/ClassDriver/JoystickHostWithParser/makefile +++ b/Demos/Host/ClassDriver/JoystickHostWithParser/makefile @@ -115,30 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -183,15 +175,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 = -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 @@ -216,8 +216,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) @@ -241,7 +242,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 @@ -318,7 +319,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) @@ -330,9 +331,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. # @@ -412,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +457,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 @@ -488,9 +488,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); \ @@ -500,22 +498,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 : @@ -605,7 +588,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 @@ -617,7 +600,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 @@ -679,18 +662,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 @@ -701,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/KeyboardHost/makefile b/Demos/Host/ClassDriver/KeyboardHost/makefile index af1cd0008..e93721194 100644 --- a/Demos/Host/ClassDriver/KeyboardHost/makefile +++ b/Demos/Host/ClassDriver/KeyboardHost/makefile @@ -115,30 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY -LUFA_OPTS += -D HID_HOST_BOOT_PROTOCOL_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -183,15 +175,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 = -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 @@ -216,8 +216,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) @@ -241,7 +242,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 @@ -318,7 +319,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) @@ -330,9 +331,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. # @@ -412,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +457,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 @@ -488,9 +488,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); \ @@ -500,22 +498,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 : @@ -605,7 +588,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 @@ -617,7 +600,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 @@ -679,18 +662,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 @@ -701,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile index c9490a5a1..d5325bb3e 100644 --- a/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile +++ b/Demos/Host/ClassDriver/KeyboardHostWithParser/makefile @@ -115,30 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -183,15 +175,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 = -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 @@ -216,8 +216,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) @@ -241,7 +242,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 @@ -318,7 +319,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) @@ -330,9 +331,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. # @@ -412,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +457,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 @@ -488,9 +488,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); \ @@ -500,22 +498,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 : @@ -605,7 +588,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 @@ -617,7 +600,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 @@ -679,18 +662,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 @@ -701,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/MIDIHost/makefile b/Demos/Host/ClassDriver/MIDIHost/makefile index d77d70613..c2a987e0e 100644 --- a/Demos/Host/ClassDriver/MIDIHost/makefile +++ b/Demos/Host/ClassDriver/MIDIHost/makefile @@ -115,29 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/MIDI.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MIDI.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -182,15 +175,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 = -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 @@ -215,8 +216,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) @@ -240,7 +242,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 @@ -317,7 +319,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) @@ -329,9 +331,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. # @@ -411,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +457,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 @@ -487,9 +488,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); \ @@ -499,22 +498,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 : @@ -604,7 +588,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 @@ -616,7 +600,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 @@ -678,18 +662,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 @@ -700,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/MassStorageHost/makefile b/Demos/Host/ClassDriver/MassStorageHost/makefile index a1e7e0680..e8ccd7bea 100644 --- a/Demos/Host/ClassDriver/MassStorageHost/makefile +++ b/Demos/Host/ClassDriver/MassStorageHost/makefile @@ -115,30 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D USB_HOST_ONLY -Wextra +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000 +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -183,15 +176,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 = -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 @@ -216,8 +217,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) @@ -241,7 +243,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 @@ -318,7 +320,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) @@ -330,9 +332,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. # @@ -412,6 +412,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +458,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 @@ -488,9 +489,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); \ @@ -500,22 +499,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 : @@ -605,7 +589,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 @@ -617,7 +601,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 @@ -679,18 +663,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 @@ -701,7 +683,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +702,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/MouseHost/makefile b/Demos/Host/ClassDriver/MouseHost/makefile index 420d159bc..f12dd8874 100644 --- a/Demos/Host/ClassDriver/MouseHost/makefile +++ b/Demos/Host/ClassDriver/MouseHost/makefile @@ -115,30 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY -LUFA_OPTS += -D HID_HOST_BOOT_PROTOCOL_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -183,15 +175,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 = -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 @@ -216,8 +216,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) @@ -241,7 +242,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 @@ -318,7 +319,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) @@ -330,9 +331,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. # @@ -412,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +457,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 @@ -488,9 +488,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); \ @@ -500,22 +498,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 : @@ -605,7 +588,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 @@ -617,7 +600,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 @@ -679,18 +662,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 @@ -701,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/makefile b/Demos/Host/ClassDriver/MouseHostWithParser/makefile index e1857fde5..ecbdc2f6f 100644 --- a/Demos/Host/ClassDriver/MouseHostWithParser/makefile +++ b/Demos/Host/ClassDriver/MouseHostWithParser/makefile @@ -115,30 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HIDParser.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -183,15 +175,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 = -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 @@ -216,8 +216,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) @@ -241,7 +242,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 @@ -318,7 +319,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) @@ -330,9 +331,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. # @@ -412,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +457,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 @@ -488,9 +488,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); \ @@ -500,22 +498,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 : @@ -605,7 +588,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 @@ -617,7 +600,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 @@ -679,18 +662,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 @@ -701,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/PrinterHost/makefile b/Demos/Host/ClassDriver/PrinterHost/makefile index 15a29f73f..3434ad5d9 100644 --- a/Demos/Host/ClassDriver/PrinterHost/makefile +++ b/Demos/Host/ClassDriver/PrinterHost/makefile @@ -115,28 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/Printer.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -181,15 +175,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 = -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 @@ -214,8 +216,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) @@ -239,7 +242,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 @@ -316,7 +319,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) @@ -328,9 +331,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. # @@ -410,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -455,7 +457,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 @@ -486,9 +488,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); \ @@ -498,22 +498,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 : @@ -603,7 +588,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 @@ -615,7 +600,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 @@ -677,18 +662,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 @@ -699,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -719,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/RNDISEthernetHost/makefile b/Demos/Host/ClassDriver/RNDISEthernetHost/makefile index 28efa4a54..3f1b082f1 100644 --- a/Demos/Host/ClassDriver/RNDISEthernetHost/makefile +++ b/Demos/Host/ClassDriver/RNDISEthernetHost/makefile @@ -115,29 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/RNDIS.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/RNDIS.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -182,15 +175,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 = -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 @@ -215,8 +216,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) @@ -240,7 +242,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 @@ -317,7 +319,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) @@ -329,9 +331,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. # @@ -411,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +457,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 @@ -487,9 +488,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); \ @@ -499,22 +498,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 : @@ -604,7 +588,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 @@ -616,7 +600,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 @@ -678,18 +662,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 @@ -700,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/StillImageHost/makefile b/Demos/Host/ClassDriver/StillImageHost/makefile index 53edd2829..f34358f12 100644 --- a/Demos/Host/ClassDriver/StillImageHost/makefile +++ b/Demos/Host/ClassDriver/StillImageHost/makefile @@ -115,28 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/StillImage.c \ - + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -181,15 +175,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 = -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 @@ -214,8 +216,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) @@ -239,7 +242,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 @@ -316,7 +319,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) @@ -328,9 +331,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. # @@ -410,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -455,7 +457,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 @@ -486,9 +488,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); \ @@ -498,22 +498,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 : @@ -603,7 +588,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 @@ -615,7 +600,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 @@ -677,18 +662,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 @@ -699,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -719,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/ClassDriver/VirtualSerialHost/makefile b/Demos/Host/ClassDriver/VirtualSerialHost/makefile index 7b0a27b43..6399d2da0 100644 --- a/Demos/Host/ClassDriver/VirtualSerialHost/makefile +++ b/Demos/Host/ClassDriver/VirtualSerialHost/makefile @@ -115,29 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -182,15 +175,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 = -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 @@ -215,8 +216,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) @@ -240,7 +242,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 @@ -317,7 +319,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) @@ -329,9 +331,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. # @@ -411,6 +411,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +457,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 @@ -487,9 +488,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); \ @@ -499,22 +498,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 : @@ -604,7 +588,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 @@ -616,7 +600,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 @@ -678,18 +662,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 @@ -700,7 +682,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +701,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 \ No newline at end of file +.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 diff --git a/Demos/Host/Incomplete/BluetoothHost/makefile b/Demos/Host/Incomplete/BluetoothHost/makefile index 90f0255b3..50de5a149 100644 --- a/Demos/Host/Incomplete/BluetoothHost/makefile +++ b/Demos/Host/Incomplete/BluetoothHost/makefile @@ -71,28 +71,21 @@ BOARD = USBKEY # Processor frequency. # This will define a symbol, F_CPU, in all source code files equal to the -# processor frequency. You can then use this symbol in your source code to +# 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. -# Typical values are: -# F_CPU = 1000000 -# F_CPU = 1843200 -# F_CPU = 2000000 -# F_CPU = 3686400 -# F_CPU = 4000000 -# F_CPU = 7372800 -# F_CPU = 8000000 -# F_CPU = 11059200 -# F_CPU = 14745600 -# F_CPU = 16000000 -# F_CPU = 18432000 -# F_CPU = 20000000 +# +# This will be an integer division of F_CLOCK below, as it is sourced by +# F_CLOCK after it has run through any CPU prescalers. Note that this value +# does not *change* the processor frequency - it should merely be updated to +# reflect the processor speed set externally so that the code can use accurate +# software delays. F_CPU = 16000000 # Input clock frequency. # This will define a symbol, F_CLOCK, in all source code files equal to the -# input clock frequency (before any prescaling is performed). This value may +# 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 # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL' @@ -122,12 +115,16 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ BluetoothEvents.c \ @@ -140,19 +137,9 @@ SRC = $(TARGET).c \ Lib/SDPServices.c \ Lib/RFCOMM.c \ Lib/RFCOMMControl.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -198,15 +185,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 = -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 @@ -231,8 +226,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) @@ -256,7 +252,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 @@ -333,7 +329,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) @@ -345,9 +341,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. # @@ -427,6 +421,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -472,7 +467,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 @@ -503,9 +498,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); \ @@ -515,22 +508,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 : @@ -620,7 +598,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 @@ -632,7 +610,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 @@ -694,18 +672,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 @@ -716,7 +692,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -736,8 +711,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/GenericHIDHost/makefile b/Demos/Host/LowLevel/GenericHIDHost/makefile index ed006016a..d8fcddf77 100644 --- a/Demos/Host/LowLevel/GenericHIDHost/makefile +++ b/Demos/Host/LowLevel/GenericHIDHost/makefile @@ -115,29 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY +LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +176,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 = -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 @@ -216,8 +217,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) @@ -241,7 +243,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 @@ -318,7 +320,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) @@ -330,9 +332,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. # @@ -412,6 +412,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +458,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 @@ -488,9 +489,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); \ @@ -500,22 +499,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 : @@ -605,7 +589,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 @@ -617,7 +601,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 @@ -679,18 +663,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 @@ -701,7 +683,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +702,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/makefile b/Demos/Host/LowLevel/JoystickHostWithParser/makefile index 61468d288..b9a82370e 100644 --- a/Demos/Host/LowLevel/JoystickHostWithParser/makefile +++ b/Demos/Host/LowLevel/JoystickHostWithParser/makefile @@ -115,30 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY +LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ HIDReport.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/KeyboardHost/makefile b/Demos/Host/LowLevel/KeyboardHost/makefile index 53145d497..877f0e2ea 100644 --- a/Demos/Host/LowLevel/KeyboardHost/makefile +++ b/Demos/Host/LowLevel/KeyboardHost/makefile @@ -115,28 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -182,15 +176,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 = -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 @@ -215,8 +217,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) @@ -240,7 +243,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 @@ -317,7 +320,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) @@ -329,9 +332,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. # @@ -411,6 +412,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +458,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 @@ -487,9 +489,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); \ @@ -499,22 +499,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 : @@ -604,7 +589,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 @@ -616,7 +601,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 @@ -678,18 +663,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 @@ -700,7 +683,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +702,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile index 0d490edc6..a100eeafe 100644 --- a/Demos/Host/LowLevel/KeyboardHostWithParser/makefile +++ b/Demos/Host/LowLevel/KeyboardHostWithParser/makefile @@ -115,30 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ HIDReport.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/MIDIHost/makefile b/Demos/Host/LowLevel/MIDIHost/makefile index 9e80525dc..27b899fd3 100644 --- a/Demos/Host/LowLevel/MIDIHost/makefile +++ b/Demos/Host/LowLevel/MIDIHost/makefile @@ -115,28 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -182,15 +176,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 = -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 @@ -215,8 +217,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) @@ -240,7 +243,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 @@ -317,7 +320,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) @@ -329,9 +332,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. # @@ -411,6 +412,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +458,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 @@ -487,9 +489,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); \ @@ -499,22 +499,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 : @@ -604,7 +589,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 @@ -616,7 +601,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 @@ -678,18 +663,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 @@ -700,7 +683,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +702,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/MassStorageHost/makefile b/Demos/Host/LowLevel/MassStorageHost/makefile index b57e7abba..3728b760e 100644 --- a/Demos/Host/LowLevel/MassStorageHost/makefile +++ b/Demos/Host/LowLevel/MassStorageHost/makefile @@ -115,30 +115,24 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY +LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" LUFA_OPTS += -D USB_STREAM_TIMEOUT_MS=5000 +# 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 \ ConfigDescriptor.c \ Lib/MassStoreCommands.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -184,15 +178,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 = -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 @@ -217,8 +219,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) @@ -242,7 +245,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 @@ -319,7 +322,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) @@ -331,9 +334,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. # @@ -413,6 +414,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +460,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 @@ -489,9 +491,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); \ @@ -501,22 +501,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 : @@ -606,7 +591,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 @@ -618,7 +603,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 @@ -680,18 +665,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 @@ -702,7 +685,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +704,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/MouseHost/makefile b/Demos/Host/LowLevel/MouseHost/makefile index bcb2e556a..5aeaf8721 100644 --- a/Demos/Host/LowLevel/MouseHost/makefile +++ b/Demos/Host/LowLevel/MouseHost/makefile @@ -115,28 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY +LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -182,15 +176,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 = -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 @@ -215,8 +217,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) @@ -240,7 +243,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 @@ -317,7 +320,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) @@ -329,9 +332,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. # @@ -411,6 +412,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +458,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 @@ -487,9 +489,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); \ @@ -499,22 +499,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 : @@ -604,7 +589,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 @@ -616,7 +601,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 @@ -678,18 +663,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 @@ -700,7 +683,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +702,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/MouseHostWithParser/makefile b/Demos/Host/LowLevel/MouseHostWithParser/makefile index 31807c536..84a5f728c 100644 --- a/Demos/Host/LowLevel/MouseHostWithParser/makefile +++ b/Demos/Host/LowLevel/MouseHostWithParser/makefile @@ -115,30 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY +LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ HIDReport.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/HIDParser.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/PrinterHost/makefile b/Demos/Host/LowLevel/PrinterHost/makefile index c608f9892..66efd03e2 100644 --- a/Demos/Host/LowLevel/PrinterHost/makefile +++ b/Demos/Host/LowLevel/PrinterHost/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ Lib/PrinterCommands.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/RNDISEthernetHost/makefile b/Demos/Host/LowLevel/RNDISEthernetHost/makefile index ba438606a..06aed481f 100644 --- a/Demos/Host/LowLevel/RNDISEthernetHost/makefile +++ b/Demos/Host/LowLevel/RNDISEthernetHost/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ Lib/RNDISCommands.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/StillImageHost/makefile b/Demos/Host/LowLevel/StillImageHost/makefile index daf53c5d9..de242d8e6 100644 --- a/Demos/Host/LowLevel/StillImageHost/makefile +++ b/Demos/Host/LowLevel/StillImageHost/makefile @@ -115,29 +115,23 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY +LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ Lib/StillImageCommands.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +177,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 = -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 @@ -216,8 +218,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) @@ -241,7 +244,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 @@ -318,7 +321,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) @@ -330,9 +333,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. # @@ -412,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +459,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 @@ -488,9 +490,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); \ @@ -500,22 +500,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 : @@ -605,7 +590,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 @@ -617,7 +602,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 @@ -679,18 +664,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 @@ -701,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +703,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 \ No newline at end of file +.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 diff --git a/Demos/Host/LowLevel/VirtualSerialHost/makefile b/Demos/Host/LowLevel/VirtualSerialHost/makefile index a404806ec..6e15fafa7 100644 --- a/Demos/Host/LowLevel/VirtualSerialHost/makefile +++ b/Demos/Host/LowLevel/VirtualSerialHost/makefile @@ -115,28 +115,22 @@ OBJDIR = . LUFA_PATH = ../../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D NO_STREAM_CALLBACKS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ ConfigDescriptor.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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_SRC_USB) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -182,15 +176,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 = -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 @@ -215,8 +217,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) @@ -240,7 +243,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 @@ -317,7 +320,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) @@ -329,9 +332,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. # @@ -411,6 +412,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -456,7 +458,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 @@ -487,9 +489,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); \ @@ -499,22 +499,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 : @@ -604,7 +589,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 @@ -616,7 +601,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 @@ -678,18 +663,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 @@ -700,7 +683,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +702,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 \ No newline at end of file +.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 diff --git a/LUFA/Drivers/Board/Temperature.h b/LUFA/Drivers/Board/Temperature.h index 98bd23498..c44c60d59 100644 --- a/LUFA/Drivers/Board/Temperature.h +++ b/LUFA/Drivers/Board/Temperature.h @@ -39,7 +39,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/Board/Temperature.c + * - LUFA/Drivers/Board/Temperature.c (Makefile source module name: LUFA_SRC_TEMPERATURE) * * \section Module Description * Temperature sensor driver. This provides an easy to use interface for the hardware temperature sensor located diff --git a/LUFA/Drivers/Peripheral/Serial.h b/LUFA/Drivers/Peripheral/Serial.h index 7501c61b9..103c7dbbc 100644 --- a/LUFA/Drivers/Peripheral/Serial.h +++ b/LUFA/Drivers/Peripheral/Serial.h @@ -39,7 +39,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/Peripheral/Serial.c + * - LUFA/Drivers/Peripheral/Serial.c (Makefile source module name: LUFA_SRC_SERIAL) * * \section Module Description * Hardware serial USART driver. This module provides an easy to use driver for diff --git a/LUFA/Drivers/Peripheral/SerialStream.h b/LUFA/Drivers/Peripheral/SerialStream.h index e5d4796be..2b7362864 100644 --- a/LUFA/Drivers/Peripheral/SerialStream.h +++ b/LUFA/Drivers/Peripheral/SerialStream.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/Peripheral/SerialStream.c + * - LUFA/Drivers/Peripheral/SerialStream.c (Makefile source module name: LUFA_SRC_SERIALSTREAM) * * \section Module Description * Serial stream driver for the USART subsystem on supported USB AVRs. This makes use of the functions in the diff --git a/LUFA/Drivers/Peripheral/TWI.h b/LUFA/Drivers/Peripheral/TWI.h index 87637505f..42539203e 100644 --- a/LUFA/Drivers/Peripheral/TWI.h +++ b/LUFA/Drivers/Peripheral/TWI.h @@ -42,7 +42,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/Peripheral/TWI.c + * - LUFA/Drivers/Peripheral/TWI.c (Makefile source module name: LUFA_SRC_TWI) + * * * \section Module Description * Master Mode Hardware TWI driver. This module provides an easy to use driver for the hardware diff --git a/LUFA/Drivers/USB/Class/Audio.h b/LUFA/Drivers/USB/Class/Audio.h index 49d637263..1efbaab52 100644 --- a/LUFA/Drivers/USB/Class/Audio.h +++ b/LUFA/Drivers/USB/Class/Audio.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/Audio.c + * - LUFA/Drivers/USB/Class/Device/Audio.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Audio Class Driver module. This module contains an internal implementation of the USB Audio Class, for Device diff --git a/LUFA/Drivers/USB/Class/CDC.h b/LUFA/Drivers/USB/Class/CDC.h index ca99e3cc7..a33ebb179 100644 --- a/LUFA/Drivers/USB/Class/CDC.h +++ b/LUFA/Drivers/USB/Class/CDC.h @@ -42,8 +42,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/CDC.c - * - LUFA/Drivers/USB/Class/Host/CDC.c + * - LUFA/Drivers/USB/Class/Device/CDC.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/CDC.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * CDC Class Driver module. This module contains an internal implementation of the USB CDC-ACM class Virtual Serial diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h index b51a8a025..7fdd8aa1d 100644 --- a/LUFA/Drivers/USB/Class/Device/Audio.h +++ b/LUFA/Drivers/USB/Class/Device/Audio.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/Audio.c + * - LUFA/Drivers/USB/Class/Device/Audio.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Device Mode USB Class driver framework interface, for the Audio USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Device/CDC.h b/LUFA/Drivers/USB/Class/Device/CDC.h index 1407b41e8..86543d456 100644 --- a/LUFA/Drivers/USB/Class/Device/CDC.h +++ b/LUFA/Drivers/USB/Class/Device/CDC.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/CDC.c + * - LUFA/Drivers/USB/Class/Device/CDC.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Device Mode USB Class driver framework interface, for the CDC USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Device/HID.h b/LUFA/Drivers/USB/Class/Device/HID.h index cdcce9357..6a6198e87 100644 --- a/LUFA/Drivers/USB/Class/Device/HID.h +++ b/LUFA/Drivers/USB/Class/Device/HID.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/HID.c + * - LUFA/Drivers/USB/Class/Device/HID.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Device Mode USB Class driver framework interface, for the HID USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.h b/LUFA/Drivers/USB/Class/Device/MIDI.h index e2fa06ad2..9ea3deae5 100644 --- a/LUFA/Drivers/USB/Class/Device/MIDI.h +++ b/LUFA/Drivers/USB/Class/Device/MIDI.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/MIDI.c + * - LUFA/Drivers/USB/Class/Device/MIDI.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Device Mode USB Class driver framework interface, for the MIDI USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Device/MassStorage.h b/LUFA/Drivers/USB/Class/Device/MassStorage.h index 4a9450e53..9e8cccb6f 100644 --- a/LUFA/Drivers/USB/Class/Device/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Device/MassStorage.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/MassStorage.c + * - LUFA/Drivers/USB/Class/Device/MassStorage.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Device Mode USB Class driver framework interface, for the Mass Storage USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Device/RNDIS.h b/LUFA/Drivers/USB/Class/Device/RNDIS.h index 7d0f3e9a2..7c9bc87cf 100644 --- a/LUFA/Drivers/USB/Class/Device/RNDIS.h +++ b/LUFA/Drivers/USB/Class/Device/RNDIS.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/RNDIS.c + * - LUFA/Drivers/USB/Class/Device/RNDIS.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Device Mode USB Class driver framework interface, for the RNDIS USB Class driver. diff --git a/LUFA/Drivers/USB/Class/HID.h b/LUFA/Drivers/USB/Class/HID.h index 539fa4c6d..6def55d59 100644 --- a/LUFA/Drivers/USB/Class/HID.h +++ b/LUFA/Drivers/USB/Class/HID.h @@ -42,9 +42,9 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/HID.c - * - LUFA/Drivers/USB/Class/Host/HID.c - * - LUFA/Drivers/USB/Class/Host/HIDParser.c + * - LUFA/Drivers/USB/Class/Device/HID.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/HID.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/HIDParser.c (Makefile source module name: LUFA_SRC_USB) * * \section Module Description * HID Class Driver module. This module contains an internal implementation of the USB HID Class, for both Device diff --git a/LUFA/Drivers/USB/Class/Host/CDC.h b/LUFA/Drivers/USB/Class/Host/CDC.h index 18cf280e3..1c69a3126 100644 --- a/LUFA/Drivers/USB/Class/Host/CDC.h +++ b/LUFA/Drivers/USB/Class/Host/CDC.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/CDC.c + * - LUFA/Drivers/USB/Class/Host/CDC.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Host Mode USB Class driver framework interface, for the CDC USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h index 70728d80a..e898b3188 100644 --- a/LUFA/Drivers/USB/Class/Host/HID.h +++ b/LUFA/Drivers/USB/Class/Host/HID.h @@ -42,8 +42,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/HID.c - * - LUFA/Drivers/USB/Class/Host/HIDParser.c + * - LUFA/Drivers/USB/Class/Host/HID.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/HIDParser.c (Makefile source module name: LUFA_SRC_USB) * * \section Module Description * Host Mode USB Class driver framework interface, for the HID USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Host/HIDParser.h b/LUFA/Drivers/USB/Class/Host/HIDParser.h index 6f4ff1d31..9ec90c6a9 100644 --- a/LUFA/Drivers/USB/Class/Host/HIDParser.h +++ b/LUFA/Drivers/USB/Class/Host/HIDParser.h @@ -41,7 +41,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/HIDParser.c + * - LUFA/Drivers/USB/Class/Host/HIDParser.c (Makefile source module name: LUFA_SRC_USB) * * \section Module Description * Functions, macros, variables, enums and types related to the parsing of HID class device report descriptors. diff --git a/LUFA/Drivers/USB/Class/Host/MIDI.h b/LUFA/Drivers/USB/Class/Host/MIDI.h index 644785f05..1d76dd3e7 100644 --- a/LUFA/Drivers/USB/Class/Host/MIDI.h +++ b/LUFA/Drivers/USB/Class/Host/MIDI.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/MIDI.c + * - LUFA/Drivers/USB/Class/Host/MIDI.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Host Mode USB Class driver framework interface, for the MIDI USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h index 47a6fdb12..881f54ea5 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/MassStorage.c + * - LUFA/Drivers/USB/Class/Host/MassStorage.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Host Mode USB Class driver framework interface, for the Mass Storage USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Host/Printer.h b/LUFA/Drivers/USB/Class/Host/Printer.h index cf24ec9fe..83ec2c149 100644 --- a/LUFA/Drivers/USB/Class/Host/Printer.h +++ b/LUFA/Drivers/USB/Class/Host/Printer.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/Printer.c + * - LUFA/Drivers/USB/Class/Host/Printer.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Host Mode USB Class driver framework interface, for the Printer USB Class driver. diff --git a/LUFA/Drivers/USB/Class/Host/RNDIS.h b/LUFA/Drivers/USB/Class/Host/RNDIS.h index 758624ca3..1695d6725 100644 --- a/LUFA/Drivers/USB/Class/Host/RNDIS.h +++ b/LUFA/Drivers/USB/Class/Host/RNDIS.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/RNDIS.c + * - LUFA/Drivers/USB/Class/Host/RNDIS.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Host Mode USB Class driver framework interface, for the Microsoft RNDIS Ethernet diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h index ca85144dc..5a14359bc 100644 --- a/LUFA/Drivers/USB/Class/Host/StillImage.h +++ b/LUFA/Drivers/USB/Class/Host/StillImage.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/StillImage.c + * - LUFA/Drivers/USB/Class/Host/StillImage.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Host Mode USB Class driver framework interface, for the Still Image USB Class driver. diff --git a/LUFA/Drivers/USB/Class/MIDI.h b/LUFA/Drivers/USB/Class/MIDI.h index 44b80edb9..33be2b793 100644 --- a/LUFA/Drivers/USB/Class/MIDI.h +++ b/LUFA/Drivers/USB/Class/MIDI.h @@ -42,8 +42,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/MIDI.c - * - LUFA/Drivers/USB/Class/Host/MIDI.c + * - LUFA/Drivers/USB/Class/Device/MIDI.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/MIDI.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * MIDI Class Driver module. This module contains an internal implementation of the USB MIDI Class, for both Device diff --git a/LUFA/Drivers/USB/Class/MassStorage.h b/LUFA/Drivers/USB/Class/MassStorage.h index 77c163858..9d61d380d 100644 --- a/LUFA/Drivers/USB/Class/MassStorage.h +++ b/LUFA/Drivers/USB/Class/MassStorage.h @@ -42,8 +42,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/MassStorage.c - * - LUFA/Drivers/USB/Class/Host/MassStorage.c + * - LUFA/Drivers/USB/Class/Device/MassStorage.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/MassStorage.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Mass Storage Class Driver module. This module contains an internal implementation of the USB Mass Storage Class, for both diff --git a/LUFA/Drivers/USB/Class/Printer.h b/LUFA/Drivers/USB/Class/Printer.h index 0cd13eec1..74ee6e613 100644 --- a/LUFA/Drivers/USB/Class/Printer.h +++ b/LUFA/Drivers/USB/Class/Printer.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/Printer.c + * - LUFA/Drivers/USB/Class/Host/Printer.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Printer Class Driver module. This module contains an internal implementation of the USB Printer Class, for the base diff --git a/LUFA/Drivers/USB/Class/RNDIS.h b/LUFA/Drivers/USB/Class/RNDIS.h index e0fd4615f..5f3bb5684 100644 --- a/LUFA/Drivers/USB/Class/RNDIS.h +++ b/LUFA/Drivers/USB/Class/RNDIS.h @@ -42,8 +42,8 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Device/RNDIS.c - * - LUFA/Drivers/USB/Class/Host/RNDIS.c + * - LUFA/Drivers/USB/Class/Device/RNDIS.c (Makefile source module name: LUFA_SRC_USBCLASS) + * - LUFA/Drivers/USB/Class/Host/RNDIS.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * RNDIS Class Driver module. This module contains an internal implementation of the Microsoft USB RNDIS Networking diff --git a/LUFA/Drivers/USB/Class/StillImage.h b/LUFA/Drivers/USB/Class/StillImage.h index d635f88f1..4c64e2d89 100644 --- a/LUFA/Drivers/USB/Class/StillImage.h +++ b/LUFA/Drivers/USB/Class/StillImage.h @@ -42,7 +42,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/Class/Host/StillImage.c + * - LUFA/Drivers/USB/Class/Host/StillImage.c (Makefile source module name: LUFA_SRC_USBCLASS) * * \section Module Description * Still Image Class Driver module. This module contains an internal implementation of the USB Still Image Class, diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h index 165f6577b..3cc1593fc 100644 --- a/LUFA/Drivers/USB/USB.h +++ b/LUFA/Drivers/USB/USB.h @@ -41,17 +41,17 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Drivers/USB/LowLevel/DevChapter9.c - * - LUFA/Drivers/USB/LowLevel/Device.c - * - LUFA/Drivers/USB/LowLevel/Endpoint.c - * - LUFA/Drivers/USB/LowLevel/Host.c - * - LUFA/Drivers/USB/LowLevel/HostChapter9.c - * - LUFA/Drivers/USB/LowLevel/LowLevel.c - * - LUFA/Drivers/USB/LowLevel/Pipe.c - * - LUFA/Drivers/USB/LowLevel/USBInterrupt.c - * - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c - * - LUFA/Drivers/USB/HighLevel/Events.c - * - LUFA/Drivers/USB/HighLevel/USBTask.c + * - LUFA/Drivers/USB/LowLevel/DevChapter9.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/Device.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/Endpoint.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/Host.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/HostChapter9.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/LowLevel.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/Pipe.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/LowLevel/USBInterrupt.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/HighLevel/ConfigDescriptor.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/HighLevel/Events.c (Makefile source module name: LUFA_SRC_USB) + * - LUFA/Drivers/USB/HighLevel/USBTask.c (Makefile source module name: LUFA_SRC_USB) * * \section Module Description * Driver and framework for the USB controller hardware on the USB series of AVR microcontrollers. This module diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 6e92adca6..27c90bae3 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -16,6 +16,7 @@ * - Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros * - Added new AVRStudio 4 project files for all library demos, projects and bootloaders * - Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project + * - Added new LUFA module variables for the different source modules in the core library makefile to simplify project makefiles * * Changed: * - The RingBuff library code has been replaced in the XPLAINBridge, Benito and USBtoSerial projects with an ultra lightweight diff --git a/LUFA/ManPages/MigrationInformation.txt b/LUFA/ManPages/MigrationInformation.txt index 570af597c..b0739ee8c 100644 --- a/LUFA/ManPages/MigrationInformation.txt +++ b/LUFA/ManPages/MigrationInformation.txt @@ -14,7 +14,7 @@ * * USB Core * - A new USB driver source file, Drivers/USB/LowLevel/Device.c now exists. This source file should be added to all project - * makefiles using the USB driver of LUFA. + * makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source variables. * * Device Mode * - The USB_Device_IsRemoteWakeupSent() macro has been removed, as the remote wakeup request is now fully handled by the diff --git a/LUFA/Scheduler/Scheduler.h b/LUFA/Scheduler/Scheduler.h index a5aa942eb..ce2cbb191 100644 --- a/LUFA/Scheduler/Scheduler.h +++ b/LUFA/Scheduler/Scheduler.h @@ -43,7 +43,7 @@ * * \section Sec_Dependencies Module Source Dependencies * The following files must be built with any user project that uses this module: - * - LUFA/Scheduler/Scheduler.c + * - LUFA/Scheduler/Scheduler.c (Makefile source module name: LUFA_SRC_SCHEDULER) * * \section Module Description * Simple round-robbin cooperative scheduler for use in basic projects where non real-time tasks need diff --git a/LUFA/makefile b/LUFA/makefile index 157f2e7d3..845de4e49 100644 --- a/LUFA/makefile +++ b/LUFA/makefile @@ -6,48 +6,70 @@ # www.fourwalledcubicle.com # -# Makefile for the LUFA library itself. - -LUFA_SRC_FILES = ./Drivers/USB/LowLevel/DevChapter9.c \ - ./Drivers/USB/LowLevel/Device.c \ - ./Drivers/USB/LowLevel/Endpoint.c \ - ./Drivers/USB/LowLevel/Host.c \ - ./Drivers/USB/LowLevel/HostChapter9.c \ - ./Drivers/USB/LowLevel/LowLevel.c \ - ./Drivers/USB/LowLevel/Pipe.c \ - ./Drivers/USB/LowLevel/USBInterrupt.c \ - ./Drivers/USB/HighLevel/ConfigDescriptor.c \ - ./Drivers/USB/HighLevel/Events.c \ - ./Drivers/USB/HighLevel/USBTask.c \ - ./Drivers/USB/Class/Device/Audio.c \ - ./Drivers/USB/Class/Device/CDC.c \ - ./Drivers/USB/Class/Device/HID.c \ - ./Drivers/USB/Class/Device/MIDI.c \ - ./Drivers/USB/Class/Device/MassStorage.c \ - ./Drivers/USB/Class/Device/RNDIS.c \ - ./Drivers/USB/Class/Host/CDC.c \ - ./Drivers/USB/Class/Host/HID.c \ - ./Drivers/USB/Class/Host/HIDParser.c \ - ./Drivers/USB/Class/Host/MassStorage.c \ - ./Drivers/USB/Class/Host/Printer.c \ - ./Drivers/USB/Class/Host/StillImage.c \ - ./Drivers/Board/Temperature.c \ - ./Drivers/Peripheral/Serial.c \ - ./Drivers/Peripheral/SerialStream.c \ - ./Drivers/Peripheral/TWI.c \ - ./Scheduler/Scheduler.c \ - -all: - -clean: +# Makefile for the LUFA library itself. This can be used to generate the library documentation. + + +# Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile) +ifeq ($(origin LUFA_PATH), undefined) + LUFA_ROOT_PATH = . +else + LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA +endif + +# Define module source file lists +LUFA_SRC_USB = $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/DevChapter9.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Device.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Endpoint.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Host.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/HostChapter9.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/LowLevel.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/Pipe.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/LowLevel/USBInterrupt.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/ConfigDescriptor.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/Events.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/HighLevel/USBTask.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HIDParser.c +LUFA_SRC_USBCLASS = $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/Audio.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/CDC.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/HID.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MassStorage.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/MIDI.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Device/RNDIS.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/CDC.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/HID.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MassStorage.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/MIDI.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/Printer.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/RNDIS.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Class/Host/StillImage.c +LUFA_SRC_TEMPERATURE = $(LUFA_ROOT_PATH)/Drivers/Board/Temperature.c +LUFA_SRC_SERIAL = $(LUFA_ROOT_PATH)/Drivers/Peripheral/Serial.c +LUFA_SRC_SERIALSTREAM = $(LUFA_ROOT_PATH)/Drivers/Peripheral/SerialStream.c +LUFA_SRC_TWI = $(LUFA_ROOT_PATH)/Drivers/Peripheral/TWI.c +LUFA_SRC_SCHEDULER = $(LUFA_ROOT_PATH)/Scheduler/Scheduler.c + + +# Check to see if the LUFA_PATH variable has not been set (the makefile is not being included from a project makefile) +ifeq ($(origin LUFA_PATH), undefined) + LUFA_SRC_FILES = $(LUFA_SRC_USB) $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_TEMPERATURE) $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) $(LUFA_SRC_TWI) \ + $(LUFA_SRC_SCHEDULER) + + all: + + clean: rm -f $(LUFA_SRC_FILES:%.c=%.o) -clean_list: + clean_list: -doxygen: + doxygen: @echo Generating Library Documentation... ( cat Doxygen.conf ; echo "PROJECT_NUMBER=`grep LUFA_VERSION_STRING Version.h | cut -d'"' -f2`" ) | doxygen - @echo Documentation Generation Complete. -clean_doxygen: + clean_doxygen: rm -rf Documentation + + .PHONY: all clean clean_list doxygen clean_doxygen +endif \ No newline at end of file diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.txt b/Projects/AVRISP-MKII/AVRISP-MKII.txt index c4ba43ccc..519a49c7a 100644 --- a/Projects/AVRISP-MKII/AVRISP-MKII.txt +++ b/Projects/AVRISP-MKII/AVRISP-MKII.txt @@ -214,62 +214,62 @@ * * * AUX_LINE_PORT - * Makefile CDEFS + * Makefile LUFA_OPTS * PORT register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Ignored when compiled for the XPLAIN board. * * * AUX_LINE_PIN - * Makefile CDEFS + * Makefile LUFA_OPTS * PIN register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Ignored when compiled for the XPLAIN board. * * * AUX_LINE_DDR - * Makefile CDEFS + * Makefile LUFA_OPTS * DDR register for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Ignored when compiled for the XPLAIN board. * * * AUX_LINE_MASK - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the programmer's AUX target line. The use of this line varies between the programming protocols, * but is generally used for the target's /RESET line. Must not be the AVR's /SS pin. Ignored when * compiled for the XPLAIN board. * * * VTARGET_ADC_CHANNEL - * Makefile CDEFS + * Makefile LUFA_OPTS * ADC channel number (on supported AVRs) to use for VTARGET level detection, if NO_VTARGET_DETECT is not defined. * Ignored when compiled for targets lacking an ADC. * * * ENABLE_ISP_PROTOCOL - * Makefile CDEFS + * Makefile LUFA_OPTS * Define to enable SPI programming protocol support. Ignored when compiled for the XPLAIN board. * * * ENABLE_XPROG_PROTOCOL - * Makefile CDEFS + * Makefile LUFA_OPTS * Define to enable PDI and TPI programming protocol support. Ignored when compiled for the XPLAIN board. * * * NO_VTARGET_DETECT - * Makefile CDEFS + * Makefile LUFA_OPTS * Define to disable VTARGET sampling and reporting on AVR models with an ADC converter. This will cause the programmer * to report a fixed 5V target voltage to the host regardless of the real target voltage. Ignored when compiled for * targets lacking an ADC. * * * VTARGET_REF_VOLTS - * Makefile CDEFS + * Makefile LUFA_OPTS * Indicates the programmer AVR's AVCC reference voltage when measuring the target's supply voltage. Note that the supply * voltage should never exceed the reference voltage on the programmer AVR without some form of protection to prevent damage * to the ADC. Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined. * * * VTARGET_SCALE_FACTOR - * Makefile CDEFS + * Makefile LUFA_OPTS * Indicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the * ADC pin for measuring the target's supply voltage, so that voltages above the programmer AVR's AVCC reference voltage can be * measured. This should be the reciprocal of the division performed - e.g. if the VTARGET voltage is halved, this should be set @@ -277,7 +277,7 @@ * * * LIBUSB_DRIVER_COMPAT - * Makefile CDEFS + * Makefile LUFA_OPTS * 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. * diff --git a/Projects/AVRISP-MKII/makefile b/Projects/AVRISP-MKII/makefile index e6f67adb1..8b120da33 100644 --- a/Projects/AVRISP-MKII/makefile +++ b/Projects/AVRISP-MKII/makefile @@ -66,7 +66,7 @@ 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 # "Board" inside the application directory. -BOARD = USBKEY +BOARD = USBKEY # Processor frequency. @@ -112,10 +112,10 @@ OBJDIR = . # Path to the LUFA library -LUFA_PATH = ../../ +LUFA_PATH = ../.. -# 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=16 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 @@ -126,6 +126,23 @@ 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 ENABLE_ISP_PROTOCOL +LUFA_OPTS += -D ENABLE_XPROG_PROTOCOL +LUFA_OPTS += -D VTARGET_ADC_CHANNEL=2 +LUFA_OPTS += -D VTARGET_REF_VOLTS=5 +LUFA_OPTS += -D VTARGET_SCALE_FACTOR=1 +#LUFA_OPTS += -D NO_VTARGET_DETECT +#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 \ Descriptors.c \ @@ -137,17 +154,7 @@ SRC = $(TARGET).c \ Lib/XPROG/XPROGTarget.c \ Lib/XPROG/XMEGANVM.c \ 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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -161,7 +168,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]. @@ -193,26 +200,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 += -DENABLE_ISP_PROTOCOL -CDEFS += -DENABLE_XPROG_PROTOCOL -CDEFS += -DVTARGET_ADC_CHANNEL=2 -CDEFS += -DVTARGET_REF_VOLTS=5 -CDEFS += -DVTARGET_SCALE_FACTOR=1 -#CDEFS += -DNO_VTARGET_DETECT -#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 @@ -237,8 +241,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) @@ -262,7 +267,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 @@ -339,7 +344,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) @@ -351,9 +356,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. # @@ -433,6 +436,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -478,7 +482,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 @@ -509,9 +513,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); \ @@ -521,22 +523,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 : @@ -626,7 +613,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 @@ -638,7 +625,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 @@ -700,18 +687,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 @@ -722,7 +707,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -742,8 +726,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 \ No newline at end of file +.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 diff --git a/Projects/Benito/Benito.txt b/Projects/Benito/Benito.txt index 0f71a6b61..dc10cadf6 100644 --- a/Projects/Benito/Benito.txt +++ b/Projects/Benito/Benito.txt @@ -68,32 +68,32 @@ * * * AVR_RESET_LINE_PORT - * Makefile CDEFS + * Makefile LUFA_OPTS * Indicates the PORT register of the pin used to generate the target /RESET line pulse. * * * AVR_RESET_LINE_DDR - * Makefile CDEFS + * Makefile LUFA_OPTS * Indicates the DDR register of the pin used to generate the target /RESET line pulse. * * * AVR_RESET_LINE_MASK - * Makefile CDEFS + * Makefile LUFA_OPTS * Indicates the mask of the pin used to generate the target /RESET line pulse. * * * AVR_RESET_PULSE_MS - * Makefile CDEFS + * Makefile LUFA_OPTS * Pulse length in milliseconds for the target /RESET pulse. * * * TX_RX_LED_PULSE_MS - * Makefile CDEFS + * Makefile LUFA_OPTS * Pulse length in milliseconds for the activity Tx/Rx LEDs. * * * PING_PONG_LED_PULSE_MS - * Makefile CDEFS + * Makefile LUFA_OPTS * Pulse length in milliseconds for the enumeration LED ping-poning between toggles. * * diff --git a/Projects/Benito/makefile b/Projects/Benito/makefile index 3470a40a4..c08f1557f 100644 --- a/Projects/Benito/makefile +++ b/Projects/Benito/makefile @@ -112,33 +112,33 @@ OBJDIR = . # Path to the LUFA library -LUFA_PATH = ../../ +LUFA_PATH = ../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D AVR_RESET_LINE_PORT="PORTD" +LUFA_OPTS += -D AVR_RESET_LINE_DDR="DDRD" +LUFA_OPTS += -D AVR_RESET_LINE_MASK="(1 << 4)" +LUFA_OPTS += -D AVR_RESET_PULSE_MS=10 +LUFA_OPTS += -D TX_RX_LED_PULSE_MS=30 +LUFA_OPTS += -D PING_PONG_LED_PULSE_MS=100 + + +# 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 \ Descriptors.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.) @@ -184,20 +184,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 += -DAVR_RESET_LINE_PORT="PORTD" -CDEFS += -DAVR_RESET_LINE_DDR="DDRD" -CDEFS += -DAVR_RESET_LINE_MASK="(1 << 4)" -CDEFS += -DAVR_RESET_PULSE_MS=10 -CDEFS += -DTX_RX_LED_PULSE_MS=30 -CDEFS += -DPING_PONG_LED_PULSE_MS=100 +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) +# Place -D or -U options here for ASM sources +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 @@ -222,8 +225,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) @@ -247,7 +251,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 @@ -324,7 +328,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) @@ -336,9 +340,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. # @@ -418,6 +420,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -463,7 +466,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 @@ -494,9 +497,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); \ @@ -506,22 +507,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 : @@ -611,7 +597,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 @@ -623,7 +609,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 @@ -685,18 +671,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 @@ -707,7 +691,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -727,8 +710,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 \ No newline at end of file +.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 diff --git a/Projects/Incomplete/MIDIToneGenerator/makefile b/Projects/Incomplete/MIDIToneGenerator/makefile index 6b81f58b6..3360a4e8b 100644 --- a/Projects/Incomplete/MIDIToneGenerator/makefile +++ b/Projects/Incomplete/MIDIToneGenerator/makefile @@ -115,29 +115,26 @@ OBJDIR = . LUFA_PATH = ../../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 +LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP +LUFA_OPTS += -D NO_DEVICE_SELF_POWER + + +# 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 \ Descriptors.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/MIDI.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +180,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 = -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 @@ -216,8 +221,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) @@ -241,7 +247,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 @@ -318,7 +324,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) @@ -330,9 +336,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. # @@ -412,6 +416,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +462,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 @@ -488,9 +493,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); \ @@ -500,22 +503,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 : @@ -605,7 +593,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 @@ -617,7 +605,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 @@ -679,18 +667,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 @@ -701,7 +687,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +706,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 \ No newline at end of file +.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 diff --git a/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c b/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c index f69ab649b..74f6811ad 100644 --- a/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c +++ b/Projects/Incomplete/StandaloneProgrammer/Lib/SCSI.c @@ -250,14 +250,8 @@ static void SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* const MSInte */ static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo, const bool IsDataRead) { - uint32_t BlockAddress; - uint16_t TotalBlocks; - - /* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */ - BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); - - /* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */ - TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); + uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); + uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); /* Check if the block address is outside the maximum allowable value for the LUN */ if (BlockAddress >= VIRTUAL_MEMORY_BLOCKS) diff --git a/Projects/Incomplete/StandaloneProgrammer/makefile b/Projects/Incomplete/StandaloneProgrammer/makefile index 5c2d96a8a..6bf5f056c 100644 --- a/Projects/Incomplete/StandaloneProgrammer/makefile +++ b/Projects/Incomplete/StandaloneProgrammer/makefile @@ -112,10 +112,10 @@ OBJDIR = . # Path to the LUFA library -LUFA_PATH = ../../../ +LUFA_PATH = ../../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS += -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS @@ -123,6 +123,10 @@ LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENAB LUFA_OPTS += -D INTERRUPT_CONTROL_ENDPOINT +# 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 \ Descriptors.c \ @@ -133,21 +137,10 @@ SRC = $(TARGET).c \ Lib/ProgrammerConfig.c \ Lib/PetiteFATFs/diskio.c \ Lib/PetiteFATFs/pff.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.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/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_SERIAL) \ + $(LUFA_SRC_SERIALSTREAM) # List C++ source files here. (C dependencies are automatically generated.) @@ -193,15 +186,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 = -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 @@ -226,8 +227,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) @@ -251,7 +253,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 @@ -328,7 +330,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) @@ -340,9 +342,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. # @@ -422,6 +422,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -467,7 +468,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 @@ -498,9 +499,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); \ @@ -510,22 +509,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 : @@ -615,7 +599,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 @@ -627,7 +611,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 @@ -689,18 +673,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 @@ -711,7 +693,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -731,8 +712,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 \ No newline at end of file +.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 diff --git a/Projects/LEDNotifier/makefile b/Projects/LEDNotifier/makefile index 721bc5db7..0ac1d866a 100644 --- a/Projects/LEDNotifier/makefile +++ b/Projects/LEDNotifier/makefile @@ -66,7 +66,7 @@ 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 # "Board" inside the application directory. -BOARD = USER +BOARD = USBKEY # Processor frequency. @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../.. -# 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 @@ -123,22 +123,15 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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.) @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Projects/Magstripe/Magstripe.txt b/Projects/Magstripe/Magstripe.txt index 931111243..29258ed49 100644 --- a/Projects/Magstripe/Magstripe.txt +++ b/Projects/Magstripe/Magstripe.txt @@ -112,52 +112,52 @@ * * * MAG_T1_CLOCK - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's CLOCK line for the reader's track 1 output. * * * MAG_T1_DATA - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's DATA line for the reader's track 1 output. * * * MAG_T2_CLOCK - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's CLOCK line for the reader's track 2 output. * * * MAG_T2_DATA - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's DATA line for the reader's track 2 output. * * * MAG_T3_CLOCK - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's CLOCK line for the reader's track 3 output. * * * MAG_T3_DATA - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's DATA line for the reader's track 3 output. * * * MAG_CARDPRESENT - * Makefile CDEFS + * Makefile LUFA_OPTS * Mask for the magnetic card reader's card detection output. * * * MAG_PIN - * Makefile CDEFS + * Makefile LUFA_OPTS * PIN register that the magnetic card reader device is attached to. * * * MAG_PORT - * Makefile CDEFS + * Makefile LUFA_OPTS * PORT register that the magnetic card reader device is attached to. * * * MAG_DDR - * Makefile CDEFS + * Makefile LUFA_OPTS * DDR register that the magnetic card reader device is attached to. * * diff --git a/Projects/Magstripe/makefile b/Projects/Magstripe/makefile index 559dbcff1..60fa362a2 100644 --- a/Projects/Magstripe/makefile +++ b/Projects/Magstripe/makefile @@ -115,31 +115,35 @@ OBJDIR = . LUFA_PATH = ../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D MAG_T1_CLOCK="(1 << 0)" +LUFA_OPTS += -D MAG_T1_DATA="(1 << 1)" +LUFA_OPTS += -D MAG_T2_CLOCK="(1 << 2)" +LUFA_OPTS += -D MAG_T2_DATA="(1 << 3)" +LUFA_OPTS += -D MAG_T3_CLOCK="(1 << 4)" +LUFA_OPTS += -D MAG_T3_DATA="(1 << 5)" +LUFA_OPTS += -D MAG_CARDPRESENT="(1 << 6)" +LUFA_OPTS += -D MAG_PIN=PINB +LUFA_OPTS += -D MAG_DDR=DDRB +LUFA_OPTS += -D MAG_PORT=PORTB + + +# 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 \ Descriptors.c \ Lib/CircularBitBuffer.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/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) # List C++ source files here. (C dependencies are automatically generated.) @@ -185,24 +189,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 += -DMAG_T1_CLOCK="(1 << 0)" -CDEFS += -DMAG_T1_DATA="(1 << 1)" -CDEFS += -DMAG_T2_CLOCK="(1 << 2)" -CDEFS += -DMAG_T2_DATA="(1 << 3)" -CDEFS += -DMAG_T3_CLOCK="(1 << 4)" -CDEFS += -DMAG_T3_DATA="(1 << 5)" -CDEFS += -DMAG_CARDPRESENT="(1 << 6)" -CDEFS += -DMAG_PIN=PINB -CDEFS += -DMAG_DDR=DDRB -CDEFS += -DMAG_PORT=PORTB +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) +# Place -D or -U options here for ASM sources +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 @@ -227,8 +230,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) @@ -252,7 +256,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 @@ -329,7 +333,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) @@ -341,9 +345,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. # @@ -423,6 +425,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -468,7 +471,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 @@ -499,9 +502,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); \ @@ -511,22 +512,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 : @@ -616,7 +602,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 @@ -628,7 +614,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 @@ -690,18 +676,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 @@ -712,7 +696,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -732,8 +715,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 \ No newline at end of file +.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 diff --git a/Projects/MissileLauncher/makefile b/Projects/MissileLauncher/makefile index 5cb6f3b04..1a7ab81e4 100644 --- a/Projects/MissileLauncher/makefile +++ b/Projects/MissileLauncher/makefile @@ -115,29 +115,20 @@ OBJDIR = . LUFA_PATH = ../.. -# LUFA library compile-time options -LUFA_OPTS = -D NO_STREAM_CALLBACKS -LUFA_OPTS += -D USB_HOST_ONLY +# LUFA library compile-time options and predefined tokens +LUFA_OPTS = -D USB_HOST_ONLY LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D NO_STREAM_CALLBACKS + + +# 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 \ ConfigDescriptor.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/SerialStream.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/Serial.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/Host/HIDParser.c \ + $(LUFA_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) @@ -183,15 +174,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 = -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 @@ -216,8 +215,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) @@ -241,7 +241,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 @@ -318,7 +318,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) @@ -330,9 +330,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. # @@ -412,6 +410,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -457,7 +456,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 @@ -488,9 +487,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); \ @@ -500,22 +497,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 : @@ -605,7 +587,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 @@ -617,7 +599,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 @@ -679,18 +661,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 @@ -701,7 +681,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -721,8 +700,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 \ No newline at end of file +.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 diff --git a/Projects/RelayBoard/makefile b/Projects/RelayBoard/makefile index 7c0df3e6b..6f3d08efd 100644 --- a/Projects/RelayBoard/makefile +++ b/Projects/RelayBoard/makefile @@ -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. @@ -60,18 +60,18 @@ # MCU name -MCU = at90usb1286 +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 = TEENSY +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. # @@ -80,11 +80,11 @@ BOARD = TEENSY # does not *change* the processor frequency - it should merely be updated to # reflect the processor speed set externally so that the code can use accurate # software delays. -F_CPU = 16000000 +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 @@ -115,33 +115,27 @@ OBJDIR = . LUFA_PATH = ../.. -# 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 CONTROL_ONLY_DEVICE LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 +LUFA_OPTS += -D CONTROL_ONLY_DEVICE LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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_SRC_USB) # List C++ source files here. (C dependencies are automatically generated.) -CPPSRC = +CPPSRC = # List Assembler source files here. @@ -154,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 @@ -183,14 +177,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 = -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) +# Place -D or -U options here for ASM sources +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 @@ -215,8 +218,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) @@ -240,7 +244,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 @@ -258,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 @@ -271,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) @@ -283,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) @@ -295,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 = @@ -317,8 +321,8 @@ 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,--relax +LDFLAGS = -Wl,-Map=$(TARGET).map,--cref +LDFLAGS += -Wl,--relax LDFLAGS += -Wl,--gc-sections LDFLAGS += $(EXTMEMOPTS) LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS)) @@ -329,9 +333,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. # @@ -354,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 +# reports about avrdude. See # to submit bug reports. #AVRDUDE_VERBOSE = -v -v @@ -388,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 @@ -411,12 +413,13 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English 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: @@ -435,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. @@ -456,7 +459,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 @@ -487,9 +490,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); \ @@ -499,29 +500,14 @@ 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 : +gccversion : @$(CC) --version -# Program the device. +# Program the device. program: $(TARGET).hex $(TARGET).eep $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_EEPROM) @@ -548,9 +534,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) @@ -604,7 +590,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 @@ -616,7 +602,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 @@ -648,14 +634,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. @@ -677,19 +663,17 @@ $(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. -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 @@ -700,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -720,8 +703,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 \ No newline at end of file +.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 diff --git a/Projects/TempDataLogger/Lib/SCSI.c b/Projects/TempDataLogger/Lib/SCSI.c index 7bb66d3b6..fb841e34b 100644 --- a/Projects/TempDataLogger/Lib/SCSI.c +++ b/Projects/TempDataLogger/Lib/SCSI.c @@ -249,15 +249,9 @@ static void SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* const MSInte */ static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo, const bool IsDataRead) { - uint32_t BlockAddress; - uint16_t TotalBlocks; - - /* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */ - BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); - - /* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */ - TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); - + uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); + uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); + /* Check if the block address is outside the maximum allowable value for the LUN */ if (BlockAddress >= VIRTUAL_MEMORY_BLOCKS) { diff --git a/Projects/TempDataLogger/TemperatureDataLogger.txt b/Projects/TempDataLogger/TemperatureDataLogger.txt index 136d0385b..d5a44ad6e 100644 --- a/Projects/TempDataLogger/TemperatureDataLogger.txt +++ b/Projects/TempDataLogger/TemperatureDataLogger.txt @@ -77,7 +77,7 @@ * * * DUMMY_RTC - * Makefile CDEFS + * Makefile LUFA_OPTS * When a DS1307 RTC chip is not fitted, this token can be defined to make the demo assume a 1/1/1 01:01:01 date/time * stamp at all times, effectively transforming the project into a basic data logger with no specified sample times. * diff --git a/Projects/TempDataLogger/makefile b/Projects/TempDataLogger/makefile index 89e851648..de751dd4c 100644 --- a/Projects/TempDataLogger/makefile +++ b/Projects/TempDataLogger/makefile @@ -112,42 +112,36 @@ OBJDIR = . # Path to the LUFA library -LUFA_PATH = ../../ +LUFA_PATH = ../.. -# 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 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +#LUFA_OPTS += -D DUMMY_RTC + + +# 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 \ + Descriptors.c \ Descriptors.c \ Lib/DataflashManager.c \ Lib/SCSI.c \ Lib/DS1307.c \ Lib/FATFs/diskio.c \ Lib/FATFs/ff.c \ - $(LUFA_PATH)/LUFA/Drivers/Board/Temperature.c \ - $(LUFA_PATH)/LUFA/Drivers/Peripheral/TWI.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/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/HID.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/HID.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) \ + $(LUFA_SRC_TEMPERATURE) \ + $(LUFA_SRC_TWI) # List C++ source files here. (C dependencies are automatically generated.) @@ -193,17 +187,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 += -DDUMMY_RTC -CDEFS += -DLOG_WHILE_USB_CONNECTED +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 @@ -228,8 +228,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) @@ -253,7 +254,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 @@ -330,7 +331,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) @@ -342,9 +343,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. # @@ -424,6 +423,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -469,7 +469,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 @@ -500,9 +500,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); \ @@ -512,22 +510,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 : @@ -617,7 +600,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 @@ -629,7 +612,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 @@ -691,18 +674,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 @@ -713,7 +694,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -733,8 +713,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 \ No newline at end of file +.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 diff --git a/Projects/USBtoSerial/makefile b/Projects/USBtoSerial/makefile index 58b68995a..dfa2c99dd 100644 --- a/Projects/USBtoSerial/makefile +++ b/Projects/USBtoSerial/makefile @@ -115,7 +115,7 @@ OBJDIR = . LUFA_PATH = ../.. -# 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 @@ -123,23 +123,16 @@ LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +# 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 \ Descriptors.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.) CPPSRC = @@ -184,15 +177,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 = -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 @@ -217,8 +218,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) @@ -242,7 +244,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 @@ -319,7 +321,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) @@ -331,9 +333,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. # @@ -413,6 +413,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -458,7 +459,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 @@ -489,9 +490,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); \ @@ -501,22 +500,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 : @@ -606,7 +590,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 @@ -618,7 +602,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 @@ -680,18 +664,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 @@ -702,7 +684,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -722,8 +703,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 \ No newline at end of file +.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 diff --git a/Projects/Webserver/Lib/SCSI.c b/Projects/Webserver/Lib/SCSI.c index 7bb66d3b6..cdc37c936 100644 --- a/Projects/Webserver/Lib/SCSI.c +++ b/Projects/Webserver/Lib/SCSI.c @@ -249,14 +249,8 @@ static void SCSI_Command_Send_Diagnostic(USB_ClassInfo_MS_Device_t* const MSInte */ static void SCSI_Command_ReadWrite_10(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo, const bool IsDataRead) { - uint32_t BlockAddress; - uint16_t TotalBlocks; - - /* Load in the 32-bit block address (SCSI uses big-endian, so have to reverse the byte order) */ - BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); - - /* Load in the 16-bit total blocks (SCSI uses big-endian, so have to reverse the byte order) */ - TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); + uint32_t BlockAddress = SwapEndian_32(*(uint32_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[2]); + uint16_t TotalBlocks = SwapEndian_16(*(uint16_t*)&MSInterfaceInfo->State.CommandBlock.SCSICommandData[7]); /* Check if the block address is outside the maximum allowable value for the LUN */ if (BlockAddress >= VIRTUAL_MEMORY_BLOCKS) diff --git a/Projects/Webserver/Webserver.txt b/Projects/Webserver/Webserver.txt index 7f6587669..97a9f1382 100644 --- a/Projects/Webserver/Webserver.txt +++ b/Projects/Webserver/Webserver.txt @@ -79,13 +79,13 @@ * * * ENABLE_TELNET_SERVER - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this enables the TELNET server in addition to the HTTP webserver, which listens for incoming connections * and processes user commands. * * * ENABLE_DHCP_CLIENT - * Makefile CDEFS + * Makefile LUFA_OPTS * When defined, this enables the DHCP client for dynamic IP allocation of the network settings from a DHCP server. * * @@ -106,7 +106,7 @@ * * * MAX_URI_LENGTH - * Makefile CDEFS + * Makefile LUFA_OPTS * Maximum length of a URI for the Webserver. This is the maximum file path, including subdirectories and seperators. * * diff --git a/Projects/Webserver/makefile b/Projects/Webserver/makefile index 21d980724..093246e7c 100644 --- a/Projects/Webserver/makefile +++ b/Projects/Webserver/makefile @@ -112,16 +112,39 @@ OBJDIR = . # Path to the LUFA library -LUFA_PATH = ../../ +LUFA_PATH = ../.. -# LUFA library compile-time options +# LUFA library compile-time options and predefined tokens LUFA_OPTS = -D FIXED_CONTROL_ENDPOINT_SIZE=8 LUFA_OPTS += -D FIXED_NUM_CONFIGURATIONS=1 LUFA_OPTS += -D USE_FLASH_DESCRIPTORS LUFA_OPTS += -D FAST_STREAM_TRANSFERS LUFA_OPTS += -D USE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" +LUFA_OPTS += -D ENABLE_DHCP_CLIENT +LUFA_OPTS += -D ENABLE_TELNET_SERVER +LUFA_OPTS += -D MAX_URI_LENGTH=50 +LUFA_OPTS += -D UIP_CONF_UDP="defined(ENABLE_DHCP_CLIENT)" +LUFA_OPTS += -D UIP_CONF_TCP=1 +LUFA_OPTS += -D UIP_CONF_UDP_CONNS=1 +LUFA_OPTS += -D UIP_CONF_MAX_CONNECTIONS=3 +LUFA_OPTS += -D UIP_CONF_MAX_LISTENPORTS=5 +LUFA_OPTS += -D UIP_URGDATA=0 +LUFA_OPTS += -D UIP_CONF_BUFFER_SIZE=1514 +LUFA_OPTS += -D UIP_ARCH_CHKSUM=0 +LUFA_OPTS += -D UIP_CONF_LL_802154=0 +LUFA_OPTS += -D UIP_CONF_LL_80211=0 +LUFA_OPTS += -D UIP_CONF_ROUTER=0 +LUFA_OPTS += -D UIP_CONF_ICMP6=0 +LUFA_OPTS += -D UIP_ARCH_ADD32=0 +LUFA_OPTS += -D UIP_CONF_ICMP_DEST_UNREACH=1 +LUFA_OPTS += -D UIP_NEIGHBOR_CONF_ADDRTYPE=0 + + +# 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 \ @@ -141,21 +164,9 @@ SRC = $(TARGET).c \ Lib/uip/uip-split.c \ Lib/FATFs/diskio.c \ Lib/FATFs/ff.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/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/MassStorage.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Device/RNDIS.c \ - $(LUFA_PATH)/LUFA/Drivers/USB/Class/Host/RNDIS.c \ + $(LUFA_SRC_USB) \ + $(LUFA_SRC_USBCLASS) + # List C++ source files here. (C dependencies are automatically generated.) CPPSRC = @@ -200,23 +211,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 += -DENABLE_DHCP_CLIENT -CDEFS += -DENABLE_TELNET_SERVER -CDEFS += -DMAX_URI_LENGTH=50 - -CDEFS += -DUIP_CONF_UDP="defined(ENABLE_DHCP_CLIENT)" -DUIP_CONF_TCP=1 -DUIP_CONF_UDP_CONNS=1 -DUIP_CONF_MAX_CONNECTIONS=3 -CDEFS += -DUIP_CONF_MAX_LISTENPORTS=5 -DUIP_URGDATA=0 -DUIP_CONF_BUFFER_SIZE=1514 -DUIP_ARCH_CHKSUM=0 -CDEFS += -DUIP_CONF_LL_802154=0 -DUIP_CONF_LL_80211=0 -DUIP_CONF_ROUTER=0 -DUIP_CONF_ICMP6=0 -CDEFS += -DUIP_ARCH_ADD32=0 -DUIP_CONF_ICMP_DEST_UNREACH=1 -DUIP_NEIGHBOR_CONF_ADDRTYPE=0 +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 @@ -241,8 +252,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) @@ -266,7 +278,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 @@ -343,7 +355,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) @@ -355,9 +367,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. # @@ -437,6 +447,7 @@ REMOVEDIR = rm -rf COPY = cp WINSHELL = cmd + # Define Messages # English MSG_ERRORS_NONE = Errors: none @@ -482,7 +493,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 @@ -513,9 +524,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); \ @@ -525,22 +534,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 : @@ -630,7 +624,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 @@ -642,7 +636,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 @@ -704,18 +698,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 @@ -726,7 +718,6 @@ clean_list: $(REMOVE) $(SRC:.c=.s) $(REMOVE) $(SRC:.c=.d) $(REMOVE) $(SRC:.c=.i) - $(REMOVE) InvalidEvents.tmp $(REMOVEDIR) .dep doxygen: @@ -746,8 +737,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 \ No newline at end of file +.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 diff --git a/Projects/XPLAINBridge/XPLAINBridge.txt b/Projects/XPLAINBridge/XPLAINBridge.txt index 3f4647e61..e60ff783e 100644 --- a/Projects/XPLAINBridge/XPLAINBridge.txt +++ b/Projects/XPLAINBridge/XPLAINBridge.txt @@ -85,7 +85,7 @@ * * * LIBUSB_DRIVER_COMPAT - * Makefile CDEFS + * Makefile LUFA_OPTS * 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. * diff --git a/Projects/XPLAINBridge/makefile b/Projects/XPLAINBridge/makefile index 15953c118..03502db58 100644 --- a/Projects/XPLAINBridge/makefile +++ b/Projects/XPLAINBridge/makefile @@ -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 \ No newline at end of file +.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 -- cgit v1.2.3