Makefile: use make -C

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.

Changes from v1:
- Drop an obviously wrong leftover on testsuite/iproute2/Makefile

Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Andrea Claudi 2019-06-13 19:47:02 +02:00 committed by Stephen Hemminger
parent 77a380379f
commit 8063feebba
3 changed files with 8 additions and 7 deletions

View File

@ -114,7 +114,8 @@ clobber:
distclean: clobber distclean: clobber
check: all check: all
cd testsuite && $(MAKE) && $(MAKE) alltests $(MAKE) -C testsuite
$(MAKE) -C testsuite alltests
@if command -v man >/dev/null 2>&1; then \ @if command -v man >/dev/null 2>&1; then \
echo "Checking manpages for syntax errors..."; \ echo "Checking manpages for syntax errors..."; \
$(MAKE) -C man check; \ $(MAKE) -C man check; \

View File

@ -26,10 +26,10 @@ endif
.PHONY: compile listtests alltests configure $(TESTS) .PHONY: compile listtests alltests configure $(TESTS)
configure: configure:
echo "Entering iproute2" && cd iproute2 && $(MAKE) configure && cd ..; $(MAKE) -C iproute2 configure
compile: configure generate_nlmsg compile: configure generate_nlmsg
echo "Entering iproute2" && cd iproute2 && $(MAKE) && cd ..; $(MAKE) -C iproute2
listtests: listtests:
@for t in $(TESTS); do \ @for t in $(TESTS); do \
@ -51,7 +51,7 @@ clean: testclean
$(MAKE) -C tools clean $(MAKE) -C tools clean
distclean: clean distclean: clean
echo "Entering iproute2" && cd iproute2 && $(MAKE) distclean && cd ..; $(MAKE) -C iproute2 distclean
$(TESTS): generate_nlmsg testclean $(TESTS): generate_nlmsg testclean
ifeq (,$(IPVERS)) ifeq (,$(IPVERS))

View File

@ -4,7 +4,7 @@ SUBDIRS := $(filter-out Makefile,$(wildcard *))
all: configure all: configure
@for dir in $(SUBDIRS); do \ @for dir in $(SUBDIRS); do \
echo "Entering $$dir" && cd $$dir && $(MAKE) && cd ..; \ $(MAKE) -C $$dir; \
done done
link: link:
@ -19,12 +19,12 @@ configure: link
clean: link clean: link
@for dir in $(SUBDIRS); do \ @for dir in $(SUBDIRS); do \
echo "Entering $$dir" && cd $$dir && $(MAKE) clean && cd ..; \ $(MAKE) -C $$dir clean; \
done done
distclean: clean distclean: clean
@for dir in $(SUBDIRS); do \ @for dir in $(SUBDIRS); do \
echo "Entering $$dir" && cd $$dir && $(MAKE) distclean && cd ..; \ $(MAKE) -C $$dir distclean; \
done done
show: link show: link