From 9b61d95545446675ae136cf64f5c3af2d1cc6e22 Mon Sep 17 00:00:00 2001
From: Ludwig Ortmann <ludwig.ortmann@fu-berlin.de>
Date: Wed, 12 Mar 2014 11:03:34 +0100
Subject: [PATCH] make: don't ignore failures in for loops

Add `|| exit 1` to all constructs like `@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;`, so that compilation stops on the first error.
---
 Makefile                        | 4 ++--
 Makefile.include                | 2 +-
 boards/avsextrem/Makefile       | 4 ++--
 boards/chronos/Makefile         | 4 ++--
 boards/msb-430-common/Makefile  | 4 ++--
 boards/msb-430/Makefile         | 4 ++--
 boards/msb-430h/Makefile        | 4 ++--
 boards/msba2-common/Makefile    | 4 ++--
 boards/msba2/Makefile           | 4 ++--
 boards/native/Makefile          | 4 ++--
 boards/native/drivers/Makefile  | 2 +-
 boards/pttu/Makefile            | 4 ++--
 boards/redbee-econotag/Makefile | 4 ++--
 boards/wsn430-common/Makefile   | 4 ++--
 boards/wsn430-v1_3b/Makefile    | 4 ++--
 boards/wsn430-v1_4/Makefile     | 4 ++--
 cpu/cc430/Makefile              | 4 ++--
 cpu/lpc1768/Makefile            | 2 +-
 cpu/lpc2387/Makefile            | 4 ++--
 cpu/mc1322x/Makefile            | 4 ++--
 cpu/msp430-common/Makefile      | 4 ++--
 cpu/msp430x16x/Makefile         | 4 ++--
 cpu/native/Makefile             | 4 ++--
 drivers/Makefile                | 4 ++--
 drivers/at86rf231/Makefile      | 4 ++--
 drivers/cc110x_ng/Makefile      | 4 ++--
 drivers/cc2420/Makefile         | 4 ++--
 pkg/openwsn/Makefile.in         | 4 ++--
 pkg/openwsn/patch.txt           | 8 ++++----
 sys/Makefile                    | 4 ++--
 30 files changed, 59 insertions(+), 59 deletions(-)

diff --git a/Makefile b/Makefile
index 13f58aebc6..7ec5bdbc8c 100644
--- a/Makefile
+++ b/Makefile
@@ -4,10 +4,10 @@ DIRS = $(RIOTCPU)/$(CPU) core drivers sys
 
 all:
 	mkdir -p $(BINDIR)
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 clean:
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
 	-@if [ -d $(BINDIR) ] ; \
 	then rm -rf $(BINDIR) ; \
 	fi
diff --git a/Makefile.include b/Makefile.include
index 0946733ab1..cc09992626 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -128,7 +128,7 @@ $(USEPKG:%=${BINDIR}%.a)::
 	"$(MAKE)" -C $(RIOTBASE)/pkg/$(patsubst ${BINDIR}%.a,%,$@)
 
 clean:
-	@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTBASE)/pkg/$$i clean ; done ;
+	@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTBASE)/pkg/$$i clean || exit 1; done ;
 	"$(MAKE)" -C $(RIOTBOARD)/$(BOARD) clean
 	"$(MAKE)" -C $(RIOTBASE) clean
 	rm -rf $(BINDIR)
diff --git a/boards/avsextrem/Makefile b/boards/avsextrem/Makefile
index 9a90303614..721109f214 100644
--- a/boards/avsextrem/Makefile
+++ b/boards/avsextrem/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = drivers $(RIOTBOARD)/msba2-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/chronos/Makefile b/boards/chronos/Makefile
index 30a260e0ef..9c583c8552 100644
--- a/boards/chronos/Makefile
+++ b/boards/chronos/Makefile
@@ -4,9 +4,9 @@ INCLUDES += -I$(RIOTBOARD)/$(BOARD)/drivers/include
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msb-430-common/Makefile b/boards/msb-430-common/Makefile
index 08503227da..ad11fe9974 100644
--- a/boards/msb-430-common/Makefile
+++ b/boards/msb-430-common/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msb-430/Makefile b/boards/msb-430/Makefile
index ecf719f258..e847666a50 100644
--- a/boards/msb-430/Makefile
+++ b/boards/msb-430/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = $(RIOTBOARD)/msb-430-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msb-430h/Makefile b/boards/msb-430h/Makefile
index ecf719f258..e847666a50 100644
--- a/boards/msb-430h/Makefile
+++ b/boards/msb-430h/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = $(RIOTBOARD)/msb-430-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msba2-common/Makefile b/boards/msba2-common/Makefile
index 08503227da..ad11fe9974 100644
--- a/boards/msba2-common/Makefile
+++ b/boards/msba2-common/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/msba2/Makefile b/boards/msba2/Makefile
index c7a205595a..1b0a2c2590 100644
--- a/boards/msba2/Makefile
+++ b/boards/msba2/Makefile
@@ -4,9 +4,9 @@ INCLUDES += -I$(RIOTBASE)/drivers/cc110x
 DIRS = $(RIOTBOARD)/msba2-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/native/Makefile b/boards/native/Makefile
index 6f167afc4b..2953d080a8 100644
--- a/boards/native/Makefile
+++ b/boards/native/Makefile
@@ -3,7 +3,7 @@ MODULE =$(BOARD)_base
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
@@ -14,4 +14,4 @@ $(BINDIR)%.o: %.c
 
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/native/drivers/Makefile b/boards/native/drivers/Makefile
index bde1eecb40..ce65f4ca8c 100644
--- a/boards/native/drivers/Makefile
+++ b/boards/native/drivers/Makefile
@@ -1,7 +1,7 @@
 MODULE =$(BOARD)_base
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
diff --git a/boards/pttu/Makefile b/boards/pttu/Makefile
index c7a205595a..1b0a2c2590 100644
--- a/boards/pttu/Makefile
+++ b/boards/pttu/Makefile
@@ -4,9 +4,9 @@ INCLUDES += -I$(RIOTBASE)/drivers/cc110x
 DIRS = $(RIOTBOARD)/msba2-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/redbee-econotag/Makefile b/boards/redbee-econotag/Makefile
index 08503227da..ad11fe9974 100644
--- a/boards/redbee-econotag/Makefile
+++ b/boards/redbee-econotag/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/wsn430-common/Makefile b/boards/wsn430-common/Makefile
index 08503227da..ad11fe9974 100644
--- a/boards/wsn430-common/Makefile
+++ b/boards/wsn430-common/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = drivers
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/wsn430-v1_3b/Makefile b/boards/wsn430-v1_3b/Makefile
index 7f7fba05ea..1c90d58cf5 100644
--- a/boards/wsn430-v1_3b/Makefile
+++ b/boards/wsn430-v1_3b/Makefile
@@ -3,9 +3,9 @@ MODULE =$(BOARD)_base
 DIRS = $(RIOTBOARD)/wsn430-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/boards/wsn430-v1_4/Makefile b/boards/wsn430-v1_4/Makefile
index 6d7ece3cbe..b91f1a85de 100644
--- a/boards/wsn430-v1_4/Makefile
+++ b/boards/wsn430-v1_4/Makefile
@@ -3,9 +3,9 @@ MODULE = $(BOARD)_base
 DIRS = $(RIOTBOARD)/wsn430-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/cc430/Makefile b/cpu/cc430/Makefile
index 3e10d1237a..d1d12a013e 100644
--- a/cpu/cc430/Makefile
+++ b/cpu/cc430/Makefile
@@ -3,9 +3,9 @@ MODULE = cpu
 DIRS = $(RIOTCPU)/msp430-common
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/lpc1768/Makefile b/cpu/lpc1768/Makefile
index 0a08aff84a..35034ca1c7 100644
--- a/cpu/lpc1768/Makefile
+++ b/cpu/lpc1768/Makefile
@@ -12,7 +12,7 @@ all: $(BINDIR)$(MODULE).a
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
 
 # This is needed for NXP Cortex M devices
 nxpsum:
diff --git a/cpu/lpc2387/Makefile b/cpu/lpc2387/Makefile
index aea6240925..6674af3b27 100644
--- a/cpu/lpc2387/Makefile
+++ b/cpu/lpc2387/Makefile
@@ -17,9 +17,9 @@ ifneq (,$(filter i2c,$(USEMODULE)))
 endif
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/mc1322x/Makefile b/cpu/mc1322x/Makefile
index 2b1f4cbbd4..7b4d668624 100644
--- a/cpu/mc1322x/Makefile
+++ b/cpu/mc1322x/Makefile
@@ -9,9 +9,9 @@ ifneq (,$(filter mc1322x_asm,$(USEMODULE)))
 endif
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/msp430-common/Makefile b/cpu/msp430-common/Makefile
index 4a029b5c36..7ddcd45ed8 100644
--- a/cpu/msp430-common/Makefile
+++ b/cpu/msp430-common/Makefile
@@ -3,9 +3,9 @@ MODULE =msp430_common
 DIRS =
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/msp430x16x/Makefile b/cpu/msp430x16x/Makefile
index 3e58e83807..ea6d8956af 100644
--- a/cpu/msp430x16x/Makefile
+++ b/cpu/msp430x16x/Makefile
@@ -5,9 +5,9 @@ include $(RIOTCPU)/$(CPU)/Makefile.include
 DIRS = $(RIOTCPU)/msp430-common/
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/cpu/native/Makefile b/cpu/native/Makefile
index 21500211a1..48c3808100 100644
--- a/cpu/native/Makefile
+++ b/cpu/native/Makefile
@@ -9,7 +9,7 @@ ifneq (,$(filter nativenet,$(USEMODULE)))
 endif
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
@@ -20,4 +20,4 @@ $(BINDIR)%.o: %.c
 
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/Makefile b/drivers/Makefile
index e5fe1f7e9f..f61b434ace 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -36,10 +36,10 @@ ifneq (,$(filter lm75a,$(USEMODULE)))
 endif
 
 all:
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 # remove compilation products
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/at86rf231/Makefile b/drivers/at86rf231/Makefile
index 393d4fd4ec..ded5b0edcf 100644
--- a/drivers/at86rf231/Makefile
+++ b/drivers/at86rf231/Makefile
@@ -3,9 +3,9 @@ MODULE =at86rf231
 DIRS =
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/cc110x_ng/Makefile b/drivers/cc110x_ng/Makefile
index 92b346a860..fbb9508c7b 100644
--- a/drivers/cc110x_ng/Makefile
+++ b/drivers/cc110x_ng/Makefile
@@ -12,9 +12,9 @@ ifneq (,$(filter wsn430-v1_3b,$(BOARD)))
 endif
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/drivers/cc2420/Makefile b/drivers/cc2420/Makefile
index a9e952177f..05d164a17c 100644
--- a/drivers/cc2420/Makefile
+++ b/drivers/cc2420/Makefile
@@ -3,9 +3,9 @@ MODULE =cc2420
 DIRS =
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/pkg/openwsn/Makefile.in b/pkg/openwsn/Makefile.in
index 2422b2c7c1..3d7a2fc6f2 100644
--- a/pkg/openwsn/Makefile.in
+++ b/pkg/openwsn/Makefile.in
@@ -2,8 +2,8 @@ DIRS =
 DIRS += openwsn
 
 all::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 # remove compilation products
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
diff --git a/pkg/openwsn/patch.txt b/pkg/openwsn/patch.txt
index f8130ea73a..f5e5733cbb 100644
--- a/pkg/openwsn/patch.txt
+++ b/pkg/openwsn/patch.txt
@@ -18663,7 +18663,7 @@ diff -crB openwsn/07-App/Makefile ../../../sys/net/openwsn/07-App/Makefile
 + DIRS += udpstorm
 + 
 + all: $(BINDIR)$(SUBMOD)
-+ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
++ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 + 
 + $(BINDIR)$(SUBMOD): $(OBJ)
 + 	$(AD)$(AR) rcs $(BINDIR)$(MODULE) $(OBJ)
@@ -18679,7 +18679,7 @@ diff -crB openwsn/07-App/Makefile ../../../sys/net/openwsn/07-App/Makefile
 + 	@printf "$(BINDIR)"|cat - $(BINDIR)$*.d > /tmp/riot_out && mv /tmp/riot_out $(BINDIR)$*.d
 + 
 + clean::
-+ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
++ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
 diff -crB openwsn/07-App/heli/heli.c ../../../sys/net/openwsn/07-App/heli/heli.c
 *** openwsn/07-App/heli/heli.c	Thu Mar 21 21:36:59 2013
 --- ../../../sys/net/openwsn/07-App/heli/heli.c	Wed Jan 15 13:48:27 2014
@@ -27111,7 +27111,7 @@ diff -crB openwsn/Makefile ../../../sys/net/openwsn/Makefile
 + DIRS += 07-App
 + 
 + all: $(BINDIR)$(MODULE)
-+ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
++ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 + 
 + $(BINDIR)$(MODULE): $(OBJ)
 + 	$(AD)$(AR) rcs $(BINDIR)$(MODULE) $(OBJ)
@@ -27129,7 +27129,7 @@ diff -crB openwsn/Makefile ../../../sys/net/openwsn/Makefile
 + 
 + # remove compilation products
 + clean::
-+ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
++ 	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
 diff -crB openwsn/board_info.h ../../../sys/net/openwsn/board_info.h
 *** openwsn/board_info.h	Thu Mar 21 21:36:59 2013
 --- ../../../sys/net/openwsn/board_info.h	Wed Jan 15 13:48:27 2014
diff --git a/sys/Makefile b/sys/Makefile
index 69bc1a233a..f6e62b502d 100644
--- a/sys/Makefile
+++ b/sys/Makefile
@@ -107,10 +107,10 @@ ifneq (,$(findstring quad_math,$(USEMODULE)))
 endif
 
 all: $(BINDIR)$(MODULE).a
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ;
 
 include $(RIOTBASE)/Makefile.base
 
 # remove compilation products
 clean::
-	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean ; done ;
+	@for i in $(DIRS) ; do "$(MAKE)" -C $$i clean || exit 1; done ;
-- 
GitLab