From a57c4eabae4e137346dd2d53e699e2b5625202ba Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 4 Jun 2012 15:38:05 +0000 Subject: Add emergency aborts to the recursive makefiles to prevent system failures due to infinite recursion if something happens while building the project lists. --- Demos/Device/ClassDriver/makefile | 7 +++++++ Demos/Device/LowLevel/makefile | 7 +++++++ Demos/DualRole/ClassDriver/makefile | 8 +++++++- Demos/Host/ClassDriver/makefile | 7 +++++++ Demos/Host/LowLevel/makefile | 7 +++++++ 5 files changed, 35 insertions(+), 1 deletion(-) (limited to 'Demos') diff --git a/Demos/Device/ClassDriver/makefile b/Demos/Device/ClassDriver/makefile index cfa776a72..99e7c24a1 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 4673bfe57..639b25303 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 06552493e..ecc49ec89 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 5c532f1a0..25cfedf1a 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 5c532f1a0..25cfedf1a 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;) -- cgit v1.2.3