[PATCH] adjust outputmakefile rule

Jan Beulich
2006-04-26T13:55:18Z

Change the conditional of the outputmakefile rule to be evaluated entirely
in make, and to not touch the generated makefile when e.g. running
'make install' as root while the build was done as non-root. Also adjust
the comment describing this.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

diff -Npru /home/jbeulich/tmp/linux-2.6.17-rc2/Makefile 2.6.17-rc2-mkmakefile/Makefile
--- /home/jbeulich/tmp/linux-2.6.17-rc2/Makefile 2006-04-26 11:50:05.516723552 +0200
+++ 2.6.17-rc2-mkmakefile/Makefile 2006-04-24 12:28:36.000000000 +0200
@@ -344,16 +344,18 @@ scripts_basic:
scripts/basic/%: scripts_basic ;

PHONY += outputmakefile
-# outputmakefile generate a Makefile to be placed in output directory, if
-# using a seperate output directory. This allows convinient use
-# of make in output directory
+# outputmakefile generates a Makefile in the output directory, if
+# using a separate output directory. This allows convenient use
+# of make in the output directory.
outputmakefile:
- $(Q)if test ! $(srctree) -ef $(objtree); then \
- $(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
- $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) \
- > $(objtree)/Makefile; \
- echo ' GEN $(objtree)/Makefile'; \
+ifneq ($(KBUILD_SRC),)
+ $(Q)if [ ! -r $(objtree)/Makefile -o -O $(objtree)/Makefile ]; then \
+ echo ' GEN $(objtree)/Makefile'; \
+ $(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
+ $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) \
+ > $(objtree)/Makefile; \
fi
+endif

# To make sure we do not include .config for any of the *config targets
# catch them early, and hand them over to scripts/kconfig/Makefile