mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sam Ravnborg <sam@ravnborg.org>
To: Ricky Beam <jfbeam@bluetronic.net>, zippel@linux-m68k.org
Cc: Linux Kernel Mail List <linux-kernel@vger.kernel.org>,
	Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Subject: Re: [BK PATCH] build: config vs. everything else
Date: Mon, 8 Sep 2003 20:19:29 +0200	[thread overview]
Message-ID: <20030908181929.GA3627@mars.ravnborg.org> (raw)
In-Reply-To: <Pine.GSO.4.33.0309081241130.13584-200000@sweetums.bluetronic.net>

Hi Ricky, I like your patch, but have a few comments.

> The rules for config (and %config) depend on "scripts" which will build
> basically everything in scripts.  However, there are two problems with this.
> First, *config only NEEDS fixdep.
Correct.

> Second, the complete build environment is
> not setup at config time, so the compiler settings are not consistant.  To
> illustrate the point, compare scripts/.empty.o.cmd after a "make config" and
> "make image" (zImage, whatever)
Again correct, which is also why we see modpost being built so often.

A few comments to your patch:
 
> The "bk send" is attached.  Below is the diff.  Excuse the "@/bin/true"...
> It's the fastest way to get make to shutup.
@: is faster, and used by kbuld today.

> +scripts/fixdep:
> +	$(Q)$(MAKE) $(build)=scripts fixdep
Try to avoid special targets when the full name is OK.
No need for the fixdep target in scripts/Makefile

> -include/linux/autoconf.h: scripts/fixdep .config
> -	$(Q)$(MAKE) $(build)=scripts/kconfig silentoldconfig
> +include/linux/autoconf.h: .config
> +	$(Q)$(MAKE) -f $(TOPDIR)/Makefile silentoldconfig

Nice. But notice that TOPDIR is obsolete, use srctree.

> +fixdep: $(obj)/fixdep
> +	@/bin/true
As noted above, this shortcut target is not needed.

>  targets += elfconfig.h
> +
Avoid random white space changes.

> --- 1.9/scripts/kconfig/Makefile	Sun Aug 31 19:13:49 2003
> +++ 1.10/scripts/kconfig/Makefile	Fri Sep  5 22:25:25 2003
> @@ -21,7 +21,7 @@
>  	$< -o arch/$(ARCH)/Kconfig
> 
>  silentoldconfig: $(obj)/conf
> -	$< -s arch/$(ARCH)/Kconfig
> +	$(Q)$< -s arch/$(ARCH)/Kconfig
Unrelated change.

> --- 1.9/scripts/kconfig/conf.c	Fri Jun  6 10:51:38 2003
> +++ 1.10/scripts/kconfig/conf.c	Fri Sep  5 22:25:25 2003
> @@ -532,7 +532,8 @@
>  		}
>  		break;
>  	case ask_silent:
> -		if (stat(".config", &tmpstat)) {
> +		name = ".config";
> +		if (stat(name, &tmpstat)) {
>  			printf("***\n"
>  				"*** You have not yet configured your kernel!\n"
>  				"***\n"
> @@ -541,6 +542,8 @@
>  				"***\n");
>  			exit(1);
>  		}
> +		conf_read(name);
> +		break;

What is the purpose of this change?
If it fixes kconfig behaviour it should go separate to Roman Zippel.

I have modified your the patch according to my cooments:

===== Makefile 1.424 vs edited =====
--- 1.424/Makefile	Mon Sep  1 01:14:39 2003
+++ edited/Makefile	Mon Sep  8 20:09:54 2003
@@ -253,12 +253,14 @@
 
 # Helpers built in scripts/
 
-scripts/docproc scripts/fixdep scripts/split-include : scripts ;
+scripts/docproc scripts/split-include : scripts ;
 
-.PHONY: scripts
+.PHONY: scripts scripts/fixdep
 scripts:
 	$(Q)$(MAKE) $(build)=scripts
 
+scripts/fixdep:
+	$(Q)$(MAKE) $(build)=scripts $@
 
 # 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
@@ -336,8 +338,8 @@
 
 # If .config is newer than include/linux/autoconf.h, someone tinkered
 # with it and forgot to run make oldconfig
-include/linux/autoconf.h: scripts/fixdep .config
-	$(Q)$(MAKE) $(build)=scripts/kconfig silentoldconfig
+include/linux/autoconf.h: .config
+	$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
 
 endif
 


  reply	other threads:[~2003-09-08 18:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-08 16:52 Ricky Beam
2003-09-08 18:19 ` Sam Ravnborg [this message]
2003-09-08 18:46   ` Ricky Beam

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=20030908181929.GA3627@mars.ravnborg.org \
    --to=sam@ravnborg.org \
    --cc=jfbeam@bluetronic.net \
    --cc=kai@tp1.ruhr-uni-bochum.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=zippel@linux-m68k.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®