|
@@ -106,8 +106,8 @@ export quiet Q KBUILD_VERBOSE
|
|
|
# The O= assignment takes precedence over the KBUILD_OUTPUT environment
|
|
|
# variable.
|
|
|
|
|
|
-# KBUILD_SRC is set on invocation of make in OBJ directory
|
|
|
-# KBUILD_SRC is not intended to be used by the regular user (for now)
|
|
|
+# KBUILD_SRC is not intended to be used by the regular user (for now),
|
|
|
+# it is set on invocation of make with KBUILD_OUTPUT or O= specified.
|
|
|
ifeq ($(KBUILD_SRC),)
|
|
|
|
|
|
# OK, Make called in directory where kernel src resides
|
|
@@ -128,7 +128,6 @@ ifneq ($(words $(subst :, ,$(CURDIR))), 1)
|
|
|
endif
|
|
|
|
|
|
ifneq ($(KBUILD_OUTPUT),)
|
|
|
-# Invoke a second make in the output directory, passing relevant variables
|
|
|
# check that the output directory actually exists
|
|
|
saved-output := $(KBUILD_OUTPUT)
|
|
|
KBUILD_OUTPUT := $(shell mkdir -p $(KBUILD_OUTPUT) && cd $(KBUILD_OUTPUT) \
|
|
@@ -141,6 +140,7 @@ PHONY += $(MAKECMDGOALS) sub-make
|
|
|
$(filter-out _all sub-make $(CURDIR)/Makefile, $(MAKECMDGOALS)) _all: sub-make
|
|
|
@:
|
|
|
|
|
|
+# Invoke a second make in the output directory, passing relevant variables
|
|
|
sub-make:
|
|
|
$(Q)$(MAKE) -C $(KBUILD_OUTPUT) KBUILD_SRC=$(CURDIR) \
|
|
|
-f $(CURDIR)/Makefile $(filter-out _all sub-make,$(MAKECMDGOALS))
|