diff --git a/.drone.yml b/.drone.yml index 8d679397698231fe1a7636be8937d4dc33676a54..ba140e3015ff5b762b62bcc231a9fdc96d7595c2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,10 +2,10 @@ kind: pipeline name: default steps: -- name: Build +- name: Projects image: abcminiuser/docker-avr8-toolchain commands: - - make --quiet all + - make -j --quiet all - name: Bootloaders image: abcminiuser/docker-avr8-toolchain diff --git a/Bootloaders/makefile b/Bootloaders/makefile index 33e1396fdd3edbf07f4f475e0b0b0e9bfd6d1788..1942df61ceacfcb8893fb85c093551fe1276d064 100644 --- a/Bootloaders/makefile +++ b/Bootloaders/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null diff --git a/Demos/Device/ClassDriver/makefile b/Demos/Device/ClassDriver/makefile index 77ed7069e8a10d025ccf113878c837d75b41621a..e582bd790c9c7b1685023baa730baefd46aa4e81 100644 --- a/Demos/Device/ClassDriver/makefile +++ b/Demos/Device/ClassDriver/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null diff --git a/Demos/Device/LowLevel/makefile b/Demos/Device/LowLevel/makefile index 77ed7069e8a10d025ccf113878c837d75b41621a..e582bd790c9c7b1685023baa730baefd46aa4e81 100644 --- a/Demos/Device/LowLevel/makefile +++ b/Demos/Device/LowLevel/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null diff --git a/Demos/DualRole/ClassDriver/makefile b/Demos/DualRole/ClassDriver/makefile index b33ecf28b17484ca7193153ce17d366699a84e91..b8e5e2a347e7e26f56e625706db3d464f6de440b 100644 --- a/Demos/DualRole/ClassDriver/makefile +++ b/Demos/DualRole/ClassDriver/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null diff --git a/Demos/Host/ClassDriver/makefile b/Demos/Host/ClassDriver/makefile index bbe50239f442ffc454e2e9d642910e8411e991e8..566baed421bf04ec6b524c43b1f57a59adf7bb6b 100644 --- a/Demos/Host/ClassDriver/makefile +++ b/Demos/Host/ClassDriver/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null diff --git a/Demos/Host/LowLevel/makefile b/Demos/Host/LowLevel/makefile index bbe50239f442ffc454e2e9d642910e8411e991e8..566baed421bf04ec6b524c43b1f57a59adf7bb6b 100644 --- a/Demos/Host/LowLevel/makefile +++ b/Demos/Host/LowLevel/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null diff --git a/Projects/XPLAINBridge/makefile b/Projects/XPLAINBridge/makefile index 92344e5857d7131a0835c809413b737eef0b85f8..0bcf777297e5b0e44e865a00534f9a8d94691e78 100644 --- a/Projects/XPLAINBridge/makefile +++ b/Projects/XPLAINBridge/makefile @@ -36,7 +36,7 @@ all: # identical OBJDIR directory, we need to enforce the use of this project's object file # directory as the one where the build object files are to be stored, by giving it a # path relative to the current folder. -OBJDIR := ./obj +OBJDIR := ./xpb-obj # Include LUFA-specific DMBS extension modules DMBS_LUFA_PATH ?= $(LUFA_PATH)/Build/LUFA diff --git a/Projects/makefile b/Projects/makefile index 992dff860fe515f54470a4156679690040551db1..3f5cd57198b7992a1ddd650bf18a08ac750bd33d 100644 --- a/Projects/makefile +++ b/Projects/makefile @@ -22,20 +22,9 @@ ifeq ($(MAKELEVEL), 10) $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) endif -# Need to special-case building without a per-project object directory -ifeq ($(OBJDIR),) - # 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 +# Build each directory sequentially, even if we are building using multiple +# cores within each project +.NOTPARALLEL: %: $(PROJECT_DIRECTORIES) @echo . > /dev/null