Fix up makefile .NOTPARALLEL heuristics so that linear building is only enforced if no object folder set and the "all" target is run. Rename library "ConfigDescriptor.c" file to "ConfigDescriptors.c" to ensure that object filenames are unique.

pull/1469/head
Dean Camera 13 years ago
parent b2920402b4
commit 3bf7ce15d5

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -11,6 +11,7 @@
# not intended to be modified or compiled by non-developers. # not intended to be modified or compiled by non-developers.
all: all:
%: %:
@echo Executing \"make $@\" on all LUFA build tests. @echo Executing \"make $@\" on all LUFA build tests.
@echo @echo

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -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)/USBInterrupt_$(ARCH).c \
$(LUFA_ROOT_PATH)/Drivers/USB/Core/$(ARCH)/EndpointStream_$(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/$(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/DeviceStandardReq.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/Events.c \
$(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \ $(LUFA_ROOT_PATH)/Drivers/USB/Core/HostStandardReq.c \

@ -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 * - 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 * 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. * 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 * \section Sec_Migration120219 Migrating from 111009 to 120219
* <b>USB Core</b> * <b>USB Core</b>

@ -29,7 +29,7 @@
*/ */
#define __INCLUDE_FROM_USB_DRIVER #define __INCLUDE_FROM_USB_DRIVER
#include "ConfigDescriptor.h" #include "ConfigDescriptors.h"
#if defined(USB_CAN_BE_HOST) #if defined(USB_CAN_BE_HOST)
uint8_t USB_Host_GetDeviceConfigDescriptor(const uint8_t ConfigNumber, uint8_t USB_Host_GetDeviceConfigDescriptor(const uint8_t ConfigNumber,

@ -41,7 +41,7 @@
* *
* \section Sec_Dependencies Module Source Dependencies * \section Sec_Dependencies Module Source Dependencies
* The following files must be built with any user project that uses this module: * 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/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/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> * - 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/USBTask.h"
#include "Core/Events.h" #include "Core/Events.h"
#include "Core/StdDescriptors.h" #include "Core/StdDescriptors.h"
#include "Core/ConfigDescriptor.h" #include "Core/ConfigDescriptors.h"
#include "Core/USBController.h" #include "Core/USBController.h"
#include "Core/USBInterrupt.h" #include "Core/USBInterrupt.h"

@ -22,16 +22,18 @@ ifeq ($(MAKELEVEL), 10)
$(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED)
endif 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),) ifeq ($(OBJDIR),)
.NOTPARALLEL: # If no target specified, force "clean all" and disallow parallel build
# Ensure projects are pre-cleaned if the target is the default or "all"
ifeq ($(MAKECMDGOALS),) ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS := clean all MAKECMDGOALS := clean all
.NOTPARALLEL:
endif endif
# If one of the targets is to build, force "clean" beforehand and disallow parallel build
ifneq ($(findstring all, $(MAKECMDGOALS)),) ifneq ($(findstring all, $(MAKECMDGOALS)),)
MAKECMDGOALS := clean $(MAKECMDGOALS) MAKECMDGOALS := clean $(MAKECMDGOALS)
.NOTPARALLEL:
endif endif
endif endif

@ -14,6 +14,7 @@
# "make help" for additional target build information within a specific project. # "make help" for additional target build information within a specific project.
all: all:
%: %:
@echo Executing \"make $@\" on all LUFA library elements. @echo Executing \"make $@\" on all LUFA library elements.
@echo @echo

Loading…
Cancel
Save