diff --git a/Bootloaders/makefile b/Bootloaders/makefile index ba4f51259c20883c0e267f676c7e9f6c8c74505d..1a4d3457e01b8c65e97308fb5acfe0db9ef51117 100644 --- a/Bootloaders/makefile +++ b/Bootloaders/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/BuildTests/makefile b/BuildTests/makefile index caa22fb800761aae3e1f6373bd3c994f20f7efc3..901dbadbba9e2ea2e2e372a011dfaad79d2b6f5e 100644 --- a/BuildTests/makefile +++ b/BuildTests/makefile @@ -11,6 +11,7 @@ # not intended to be modified or compiled by non-developers. all: + %: @echo Executing \"make $@\" on all LUFA build tests. @echo diff --git a/Demos/Device/ClassDriver/makefile b/Demos/Device/ClassDriver/makefile index 3a5615e05a55098c73798391bb285415d887fdaa..797a483fa38bd768658da9b49682d6ce203d706c 100644 --- a/Demos/Device/ClassDriver/makefile +++ b/Demos/Device/ClassDriver/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/Demos/Device/LowLevel/makefile b/Demos/Device/LowLevel/makefile index 3a5615e05a55098c73798391bb285415d887fdaa..797a483fa38bd768658da9b49682d6ce203d706c 100644 --- a/Demos/Device/LowLevel/makefile +++ b/Demos/Device/LowLevel/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/Demos/DualRole/ClassDriver/makefile b/Demos/DualRole/ClassDriver/makefile index 71fb805ef4d6a9e1581ef7d9078bcc9c21b96d59..b9538fe3b805255f7d7015244d99d9f3defe43c6 100644 --- a/Demos/DualRole/ClassDriver/makefile +++ b/Demos/DualRole/ClassDriver/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/Demos/Host/ClassDriver/makefile b/Demos/Host/ClassDriver/makefile index a2b14c8a6e63838ad15d655c6b91551f8a5ab1fb..d057a1c698fc03ebb447e0de1aebc0b702db5f18 100644 --- a/Demos/Host/ClassDriver/makefile +++ b/Demos/Host/ClassDriver/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/Demos/Host/LowLevel/makefile b/Demos/Host/LowLevel/makefile index a2b14c8a6e63838ad15d655c6b91551f8a5ab1fb..d057a1c698fc03ebb447e0de1aebc0b702db5f18 100644 --- a/Demos/Host/LowLevel/makefile +++ b/Demos/Host/LowLevel/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/LUFA/Build/lufa.sources.in b/LUFA/Build/lufa.sources.in index 10e5c1d70ff1df28f51754b2ffe4da0f1aa2cd32..0e026c54e8b4eea359cb27247bcef6d7427fa525 100644 --- a/LUFA/Build/lufa.sources.in +++ b/LUFA/Build/lufa.sources.in @@ -75,7 +75,7 @@ LUFA_SRC_USB := $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/Device_$(ARCH $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/USBInterrupt_$(ARCH).c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(ARCH).c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/PipeStream_$(ARCH).c \ - $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptor.c \ + $(LUFA_ROOT_PATH)/Drivers/USB/Core/ConfigDescriptors.c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/DeviceStandardReq.c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \ diff --git a/LUFA/DoxygenPages/MigrationInformation.txt b/LUFA/DoxygenPages/MigrationInformation.txt index f0fd9b2109ad507f11a6e161c4bab9888dcf6e92..544c94e9ee0dd9c350ce2a21693c3644e6c545aa 100644 --- a/LUFA/DoxygenPages/MigrationInformation.txt +++ b/LUFA/DoxygenPages/MigrationInformation.txt @@ -44,6 +44,9 @@ * - The MIDI class driver \ref MIDI_EventPacket_t event packet no longer contains seperate \c CableIndex and \c Command entries; these have been combined * into a single \c Event element which can be contructed using the new macro \ref MIDI_EVENT(). Existing applications should use the new macro and structure * element name. + * - The library "LUFA/Drivers/USB/Core/ConfigDescriptor.c" source file has been renamed "LUFA/Drivers/USB/Core/ConfigDescriptors.c" as this was clashing with + * files in some low level host mode demo applications, preventing parallel project builds. If you are referencing the project source files directly instead + * of using the makefile module names, you will need to adjust your project makefile. * * \section Sec_Migration120219 Migrating from 111009 to 120219 * <b>USB Core</b> diff --git a/LUFA/Drivers/USB/Core/ConfigDescriptor.c b/LUFA/Drivers/USB/Core/ConfigDescriptors.c similarity index 99% rename from LUFA/Drivers/USB/Core/ConfigDescriptor.c rename to LUFA/Drivers/USB/Core/ConfigDescriptors.c index 5bdcdc66332abbb998ff3b772bef55b49a18532a..47332d854777c28fa7bc42b66147ba71226a11a3 100644 --- a/LUFA/Drivers/USB/Core/ConfigDescriptor.c +++ b/LUFA/Drivers/USB/Core/ConfigDescriptors.c @@ -29,7 +29,7 @@ */ #define __INCLUDE_FROM_USB_DRIVER -#include "ConfigDescriptor.h" +#include "ConfigDescriptors.h" #if defined(USB_CAN_BE_HOST) uint8_t USB_Host_GetDeviceConfigDescriptor(const uint8_t ConfigNumber, diff --git a/LUFA/Drivers/USB/Core/ConfigDescriptor.h b/LUFA/Drivers/USB/Core/ConfigDescriptors.h similarity index 100% rename from LUFA/Drivers/USB/Core/ConfigDescriptor.h rename to LUFA/Drivers/USB/Core/ConfigDescriptors.h diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h index 626635c8d09aa22918fda58873a0885258a457b4..512f7029f5a2996cb37fbf6ab19406d2c9094b74 100644 --- a/LUFA/Drivers/USB/USB.h +++ b/LUFA/Drivers/USB/USB.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/Core/ConfigDescriptor.c <i>(Makefile source module name: LUFA_SRC_USB)</i> + * - LUFA/Drivers/USB/Core/ConfigDescriptors.c <i>(Makefile source module name: LUFA_SRC_USB)</i> * - LUFA/Drivers/USB/Core/DeviceStandardReq.c <i>(Makefile source module name: LUFA_SRC_USB)</i> * - LUFA/Drivers/USB/Core/Events.c <i>(Makefile source module name: LUFA_SRC_USB)</i> * - LUFA/Drivers/USB/Core/HostStandardReq.c <i>(Makefile source module name: LUFA_SRC_USB)</i> @@ -382,7 +382,7 @@ #include "Core/USBTask.h" #include "Core/Events.h" #include "Core/StdDescriptors.h" - #include "Core/ConfigDescriptor.h" + #include "Core/ConfigDescriptors.h" #include "Core/USBController.h" #include "Core/USBInterrupt.h" diff --git a/Projects/makefile b/Projects/makefile index ec8e65b8b795e41cf2a6eae90d1b455d862057ea..f4b411145ae59a0940e66582c4d2349cf04756a1 100644 --- a/Projects/makefile +++ b/Projects/makefile @@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# If building without a per-project object directory, we can't build in parallel +# Need to special-case building without a per-project object directory ifeq ($(OBJDIR),) - .NOTPARALLEL: - - # Ensure projects are pre-cleaned if the target is the default or "all" + # If no target specified, force "clean all" and disallow parallel build ifeq ($(MAKECMDGOALS),) MAKECMDGOALS := clean all + .NOTPARALLEL: endif + + # If one of the targets is to build, force "clean" beforehand and disallow parallel build ifneq ($(findstring all, $(MAKECMDGOALS)),) MAKECMDGOALS := clean $(MAKECMDGOALS) + .NOTPARALLEL: endif endif diff --git a/makefile b/makefile index 8005f442a66b57ab8202259eef2d9d2516c7c235..a134dc0abfa25c85b4716815386e0d97b695759e 100644 --- a/makefile +++ b/makefile @@ -14,6 +14,7 @@ # "make help" for additional target build information within a specific project. all: + %: @echo Executing \"make $@\" on all LUFA library elements. @echo