diff options
author | Jan Beulich <jbeulich@novell.com> | 2006-05-02 06:33:20 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-05-08 00:55:32 -0400 |
commit | fd5f0cd6b0cef59ba18e5ac13be5b2775fa6ec28 (patch) | |
tree | 3ae3209f1846261c9a455339ddcd40d16cd2bf99 | |
parent | cc873e1aa1fa916a485294117a9846e668505671 (diff) |
kbuild: Do not overwrite makefile as anohter user
Change the conditional of the outputmakefile rule to be evaluated entirely
in make, and add a conditional 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, and move the message printing and
redirection to mkmakefile.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
-rw-r--r-- | Makefile | 16 | ||||
-rw-r--r-- | scripts/mkmakefile | 5 |
2 files changed, 11 insertions, 10 deletions
@@ -344,16 +344,14 @@ scripts_basic: | |||
344 | scripts/basic/%: scripts_basic ; | 344 | scripts/basic/%: scripts_basic ; |
345 | 345 | ||
346 | PHONY += outputmakefile | 346 | PHONY += outputmakefile |
347 | # outputmakefile generate a Makefile to be placed in output directory, if | 347 | # outputmakefile generates a Makefile in the output directory, if using a |
348 | # using a seperate output directory. This allows convinient use | 348 | # separate output directory. This allows convenient use of make in the |
349 | # of make in output directory | 349 | # output directory. |
350 | outputmakefile: | 350 | outputmakefile: |
351 | $(Q)if test ! $(srctree) -ef $(objtree); then \ | 351 | ifneq ($(KBUILD_SRC),) |
352 | $(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \ | 352 | $(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \ |
353 | $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) \ | 353 | $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) |
354 | > $(objtree)/Makefile; \ | 354 | endif |
355 | echo ' GEN $(objtree)/Makefile'; \ | ||
356 | fi | ||
357 | 355 | ||
358 | # To make sure we do not include .config for any of the *config targets | 356 | # To make sure we do not include .config for any of the *config targets |
359 | # catch them early, and hand them over to scripts/kconfig/Makefile | 357 | # catch them early, and hand them over to scripts/kconfig/Makefile |
diff --git a/scripts/mkmakefile b/scripts/mkmakefile index a22cbedd3b3e..7f9d544f9b6c 100644 --- a/scripts/mkmakefile +++ b/scripts/mkmakefile | |||
@@ -10,7 +10,10 @@ | |||
10 | # $4 - patchlevel | 10 | # $4 - patchlevel |
11 | 11 | ||
12 | 12 | ||
13 | cat << EOF | 13 | test ! -r $2/Makefile -o -O $2/Makefile || exit 0 |
14 | echo " GEN $2/Makefile" | ||
15 | |||
16 | cat << EOF > $2/Makefile | ||
14 | # Automatically generated by $0: don't edit | 17 | # Automatically generated by $0: don't edit |
15 | 18 | ||
16 | VERSION = $3 | 19 | VERSION = $3 |