[PATCH] kbuild: let make O=dir rpm-pkg fail

From: Akinobu Mita
Date: Wed Nov 04 2009 - 01:15:46 EST

make rpm-pkg with setting KBUILD_OUTPUT is not possible and
it will print the good message since the commit

$ KBUILD_OUTPUT=dir make rpm-pkg
Building source + binary RPM is not possible outside the
kernel source tree. Don't set KBUILD_OUTPUT, or use the
binrpm-pkg target instead.

make O=dir should have the same effect of KBUILD_OUTPUT, but
it won't print that message.

This fixes it by exporting KBUILD_OUTPUT if O= is set so that
the rpm-pkg target in scripts/package/Makefile can find it.

Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
Cc: Sam Ravnborg <sam@xxxxxxxxxxxx>
Cc: Frans Pop <elendil@xxxxxxxxx>
Makefile | 2 +-
scripts/package/Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index b4c04f7..cfee468 100644
--- a/Makefile
+++ b/Makefile
@@ -93,7 +93,7 @@ ifeq ($(KBUILD_SRC),)
# OK, Make called in directory where kernel src resides
# Do we want to locate output files in a separate directory?
ifeq ("$(origin O)", "command line")
+ export KBUILD_OUTPUT := $(O)

# That's our default target when none is given on the command line
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index f67cc88..5db03d7 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -19,7 +19,7 @@
# - Use /. to avoid tar packing just the symlink

# Note that the rpm-pkg target cannot be used with KBUILD_OUTPUT,
-# but the binrpm-pkg target can; for some reason O= gets ignored.
+# but the binrpm-pkg target can.

# Do we have rpmbuild, otherwise fall back to the older rpm
RPM := $(shell if [ -x "/usr/bin/rpmbuild" ]; then echo rpmbuild; \

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/