commit b9199181a9ef8252e47e207be8c23e1f50662620 upstream.
Recursive make commands should always use the variable MAKE, not the
explicit command name ‘make’. This has benefits and removes the
following warning when multiple jobs are used for the build:
make[2]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.
Fixes: a8ba798bc8 ("selftests: enable O and KBUILD_OUTPUT")
Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Reviewed-by: André Almeida <andrealmeid@collabora.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
38 lines
886 B
Makefile
38 lines
886 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
SUBDIRS := functional
|
|
|
|
TEST_PROGS := run.sh
|
|
|
|
.PHONY: all clean
|
|
|
|
include ../lib.mk
|
|
|
|
all:
|
|
@for DIR in $(SUBDIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$DIR; \
|
|
mkdir $$BUILD_TARGET -p; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
|
|
if [ -e $$DIR/$(TEST_PROGS) ]; then \
|
|
rsync -a $$DIR/$(TEST_PROGS) $$BUILD_TARGET/; \
|
|
fi \
|
|
done
|
|
|
|
override define INSTALL_RULE
|
|
mkdir -p $(INSTALL_PATH)
|
|
install -t $(INSTALL_PATH) $(TEST_PROGS) $(TEST_PROGS_EXTENDED) $(TEST_FILES)
|
|
|
|
@for SUBDIR in $(SUBDIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$SUBDIR; \
|
|
mkdir $$BUILD_TARGET -p; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$SUBDIR INSTALL_PATH=$(INSTALL_PATH)/$$SUBDIR install; \
|
|
done;
|
|
endef
|
|
|
|
override define CLEAN
|
|
@for DIR in $(SUBDIRS); do \
|
|
BUILD_TARGET=$(OUTPUT)/$$DIR; \
|
|
mkdir $$BUILD_TARGET -p; \
|
|
$(MAKE) OUTPUT=$$BUILD_TARGET -C $$DIR $@;\
|
|
done
|
|
endef
|