make provides a handy -C option to change directory before reading the makefiles or doing anything else.
Use that instead of the "cd dir && make && cd .." pattern, thus simplifying sintax for some makefiles. Signed-off-by: Andrea Claudi <acla...@redhat.com> --- Makefile | 3 ++- testsuite/Makefile | 6 +++--- testsuite/iproute2/Makefile | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 48f469b0d0a85..a87826fee84dd 100644 --- a/Makefile +++ b/Makefile @@ -114,7 +114,8 @@ clobber: distclean: clobber check: all - cd testsuite && $(MAKE) && $(MAKE) alltests + $(MAKE) -C testsuite + $(MAKE) -C testsuite alltests @if command -v man >/dev/null 2>&1; then \ echo "Checking manpages for syntax errors..."; \ $(MAKE) -C man check; \ diff --git a/testsuite/Makefile b/testsuite/Makefile index 7f247bbc1c803..94a4a8c646ef7 100644 --- a/testsuite/Makefile +++ b/testsuite/Makefile @@ -26,10 +26,10 @@ endif .PHONY: compile listtests alltests configure $(TESTS) configure: - echo "Entering iproute2" && cd iproute2 && $(MAKE) configure && cd ..; + $(MAKE) -C iproute2 configure compile: configure generate_nlmsg - echo "Entering iproute2" && cd iproute2 && $(MAKE) && cd ..; + $(MAKE) -C iproute2 listtests: @for t in $(TESTS); do \ @@ -51,7 +51,7 @@ clean: testclean $(MAKE) -C tools clean distclean: clean - echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..; + $(MAKE) -C iproute2 distclean $(TESTS): generate_nlmsg testclean ifeq (,$(IPVERS)) diff --git a/testsuite/iproute2/Makefile b/testsuite/iproute2/Makefile index b8a7d5153175a..37ffa065ab328 100644 --- a/testsuite/iproute2/Makefile +++ b/testsuite/iproute2/Makefile @@ -4,7 +4,7 @@ SUBDIRS := $(filter-out Makefile,$(wildcard *)) all: configure @for dir in $(SUBDIRS); do \ - echo "Entering $$dir" && cd $$dir && $(MAKE) && cd ..; \ + $(MAKE) -C $$dir; \ done link: @@ -14,17 +14,17 @@ link: configure: link @for dir in $(SUBDIRS); do \ - echo "Entering $$dir" && cd $$dir && if [ -f configure ]; then ./configure; fi && cd ..; \ + if [ -f configure ]; then ./$$dir/configure; fi \ done clean: link @for dir in $(SUBDIRS); do \ - echo "Entering $$dir" && cd $$dir && $(MAKE) clean && cd ..; \ + $(MAKE) -C $$dir clean; \ done distclean: clean @for dir in $(SUBDIRS); do \ - echo "Entering $$dir" && cd $$dir && $(MAKE) distclean && cd ..; \ + $(MAKE) -C $$dir distclean; \ done show: link -- 2.20.1