aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28>2012-07-10 19:33:39 +0000
committerDean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28>2012-07-10 19:33:39 +0000
commitf4247bca22fd2af94101a5a1308309a606050e88 (patch)
tree09dab2045aefc8103fdef7f423c8b67b4c11efbc
parent3afc3ce310a5b611b6264eec5d9361e73e49dfb1 (diff)
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.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@2393 d5102386-fcda-11dd-9fdb-3debd5008f28
-rw-r--r--Bootloaders/makefile10
-rw-r--r--BuildTests/makefile1
-rw-r--r--Demos/Device/ClassDriver/makefile10
-rw-r--r--Demos/Device/LowLevel/makefile10
-rw-r--r--Demos/DualRole/ClassDriver/makefile10
-rw-r--r--Demos/Host/ClassDriver/makefile10
-rw-r--r--Demos/Host/LowLevel/makefile10
-rw-r--r--LUFA/Build/lufa.sources.in2
-rw-r--r--LUFA/DoxygenPages/MigrationInformation.txt3
-rw-r--r--LUFA/Drivers/USB/Core/ConfigDescriptors.c (renamed from LUFA/Drivers/USB/Core/ConfigDescriptor.c)2
-rw-r--r--LUFA/Drivers/USB/Core/ConfigDescriptors.h (renamed from LUFA/Drivers/USB/Core/ConfigDescriptor.h)0
-rw-r--r--LUFA/Drivers/USB/USB.h4
-rw-r--r--Projects/makefile10
-rw-r--r--makefile1
14 files changed, 51 insertions, 32 deletions
diff --git a/Bootloaders/makefile b/Bootloaders/makefile
index ba4f5125..1a4d3457 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 caa22fb8..901dbadb 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 3a5615e0..797a483f 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 3a5615e0..797a483f 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 71fb805e..b9538fe3 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 a2b14c8a..d057a1c6 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 a2b14c8a..d057a1c6 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 10e5c1d7..0e026c54 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 f0fd9b21..544c94e9 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
index 5bdcdc66..47332d85 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
index 97fb39b5..97fb39b5 100644
--- a/LUFA/Drivers/USB/Core/ConfigDescriptor.h
+++ b/LUFA/Drivers/USB/Core/ConfigDescriptors.h
diff --git a/LUFA/Drivers/USB/USB.h b/LUFA/Drivers/USB/USB.h
index 626635c8..512f7029 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 ec8e65b8..f4b41114 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 8005f442..a134dc0a 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