Description: Don't use subshell for make in subdirs which don't propagate errors.
Author: Bas Couwenberg <sebastic@debian.org>
Bug-Debian: https://bugs.debian.org/1121851
Forwarded: mailto:amb@routino.org

--- a/Makefile
+++ b/Makefile
@@ -30,35 +30,35 @@ SUBDIRS=src xml doc web extras python
 
 all:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 test:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 install:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 clean:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 distclean:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
--- a/extras/Makefile
+++ b/extras/Makefile
@@ -31,35 +31,35 @@ SUBDIRS=$(foreach f,$(SUBFILES),$(dir $f
 
 all:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 test:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 install:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 clean:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
 
 distclean:
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 ########
--- a/src/Makefile
+++ b/src/Makefile
@@ -61,7 +61,7 @@ endif
 
 all: all-local
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 all-local: all-exe all-lib
@@ -268,7 +268,7 @@ routino-slim.lib : routino-slim.dll rout
 
 test: test-local
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 test-local:
@@ -277,7 +277,7 @@ test-local:
 
 install: install-local
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 install-local: all-local
@@ -307,7 +307,7 @@ install-local: all-local
 
 clean: clean-local
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 clean-local:
@@ -324,7 +324,7 @@ clean-local:
 
 distclean: distclean-local
 	for dir in $(SUBDIRS); do \
-	   ( cd $$dir && $(MAKE) $@ ); \
+	   $(MAKE) -C $$dir $@ ; \
 	done
 
 distclean-local: clean-local
