All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <jbeulich@novell.com>
To: "Sam Ravnborg" <sam@ravnborg.org>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] adjust outputmakefile rule
Date: Tue, 02 May 2006 12:33:20 +0200	[thread overview]
Message-ID: <44575190.76E4.0078.0@novell.com> (raw)
In-Reply-To: <20060430214951.GA22935@mars.ravnborg.org>

>>> Sam Ravnborg <sam@ravnborg.org> 30.04.06 23:49 >>>
>On Wed, Apr 26, 2006 at 03:56:04PM +0200, Jan Beulich wrote:
>> 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.
>
>Can I request you to redo this patch.
>Move all logic (including print-out) to mkmakefile
>And only let it print out "GEN   ...." when it actttttttually generate
>the Makefile.

Here we go:

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>

--- /home/jbeulich/tmp/linux-2.6.17-rc3/Makefile	2006-04-27 17:49:26.000000000 +0200
+++ 2.6.17-rc3-mkmakefile/Makefile	2006-04-24 12:28:36.000000000 +0200
@@ -344,16 +344,14 @@ 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';                   \
-	fi
+ifneq ($(KBUILD_SRC),)
+	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
+	    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)
+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
--- /home/jbeulich/tmp/linux-2.6.17-rc3/scripts/mkmakefile	2006-04-27 17:49:57.000000000 +0200
+++ 2.6.17-rc3-mkmakefile/scripts/mkmakefile	2006-05-02 11:27:13.000000000 +0200
@@ -10,7 +10,10 @@
 # $4 - patchlevel
 
 
-cat << EOF
+test ! -r $2/Makefile -o -O $2/Makefile || exit 0
+echo "  GEN     $2/Makefile"
+
+cat << EOF > $2/Makefile
 # Automatically generated by $0: don't edit
 
 VERSION = $3



      reply	other threads:[~2006-05-02 10:32 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-26 13:56 [PATCH] adjust outputmakefile rule Jan Beulich
2006-04-30 21:49 ` Sam Ravnborg
2006-05-02 10:33   ` Jan Beulich [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44575190.76E4.0078.0@novell.com \
    --to=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.