diff --git a/Bootloaders/makefile b/Bootloaders/makefile index 94147ead02..56db658088 100644 --- a/Bootloaders/makefile +++ b/Bootloaders/makefile @@ -15,6 +15,13 @@ PROJECT_DIRECTORIES = $(shell ls -d *) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;) diff --git a/Demos/Device/ClassDriver/makefile b/Demos/Device/ClassDriver/makefile index cfa776a721..99e7c24a15 100644 --- a/Demos/Device/ClassDriver/makefile +++ b/Demos/Device/ClassDriver/makefile @@ -15,6 +15,13 @@ PROJECT_DIRECTORIES = $(shell ls -d */) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;) diff --git a/Demos/Device/LowLevel/makefile b/Demos/Device/LowLevel/makefile index 4673bfe573..639b253032 100644 --- a/Demos/Device/LowLevel/makefile +++ b/Demos/Device/LowLevel/makefile @@ -15,6 +15,13 @@ PROJECT_DIRECTORIES = $(shell ls -d *) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;) diff --git a/Demos/DualRole/ClassDriver/makefile b/Demos/DualRole/ClassDriver/makefile index 06552493e4..ecc49ec895 100644 --- a/Demos/DualRole/ClassDriver/makefile +++ b/Demos/DualRole/ClassDriver/makefile @@ -15,10 +15,16 @@ PROJECT_DIRECTORIES = $(shell ls -d *) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;) %: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) $@;) - diff --git a/Demos/Host/ClassDriver/makefile b/Demos/Host/ClassDriver/makefile index 5c532f1a07..25cfedf1a5 100644 --- a/Demos/Host/ClassDriver/makefile +++ b/Demos/Host/ClassDriver/makefile @@ -15,6 +15,13 @@ PROJECT_DIRECTORIES = $(shell ls -d *) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;) diff --git a/Demos/Host/LowLevel/makefile b/Demos/Host/LowLevel/makefile index 5c532f1a07..25cfedf1a5 100644 --- a/Demos/Host/LowLevel/makefile +++ b/Demos/Host/LowLevel/makefile @@ -15,6 +15,13 @@ PROJECT_DIRECTORIES = $(shell ls -d *) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;) diff --git a/Projects/makefile b/Projects/makefile index 50ce7ad6d0..94deb0ed31 100644 --- a/Projects/makefile +++ b/Projects/makefile @@ -15,6 +15,13 @@ PROJECT_DIRECTORIES = $(shell ls -d *) +# This makefile is potentially infinitely recursive if something really bad +# happens when determining the set of project directories - hard-abort if +# more than 10 levels deep to avoid angry emails. +ifeq ($(MAKELEVEL), 10) + $(error EMERGENCY ABORT: INFINITE RECURSION DETECTED) +endif + all: @$(foreach PROJECT, $(PROJECT_DIRECTORIES), $(MAKE) -s -C $(PROJECT) clean all;)