On Mon, Mar 04, 2013 at 12:07:31AM +0900, Tetsuo Handa wrote:
> Sam Ravnborg wrote:
> > On Wed, Nov 28, 2012 at 01:55:14PM +0000, David Howells wrote:
> > > Tetsuo Handa <penguin-ker...@i-love.sakura.ne.jp> wrote:
> > > 
> > > > Tetsuo Handa wrote:
> > > > > Linux 3.6 builds fine. I can't use "git bisect" until Linux 3.7-rc6 
> > > > > but
> > > > > possibly caused by either commit 10b63956 "UAPI: Plumb the UAPI 
> > > > > Kbuilds
> > > > > into the user header installation and checking" or commit 40f1d4c2 
> > > > > "UAPI:
> > > > > Remove the objhdr-y export list".
> > > > 
> > > > Bisected to commit 10b63956 "UAPI: Plumb the UAPI Kbuilds into the user 
> > > > header
> > > > installation and checking".
> > > 
> > > Indeed, but that doesn't help much.  The problem is that make's behaviour 
> > > has
> > > apparently changed.  I could do with Sam Ravnborg's help to work around 
> > > this
> > > since I think he's mainly responsible for the Makefile infrastructure.
> > 
> > Mical is the kbuild person these days.
> > Anyway - it this still relevant?
> > 
> Yes, as of commit a7c1120d "Merge tag 'ext4_for_linus' of
> git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4" in linux.git still
> has this problem.
> 
> > I took a quick look and my suspect is the use of $(or ..),
> > as this feature was added recently to make.

Hi Tetsuo.

If my guess is correct this patch should help.
I have gmake 3.81 and I do nto see the beforementioned problem.

        Sam

diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst
index 25f216a..477d137 100644
--- a/scripts/Makefile.headersinst
+++ b/scripts/Makefile.headersinst
@@ -14,7 +14,7 @@ kbuild-file := $(srctree)/$(obj)/Kbuild
 include $(kbuild-file)
 
 # called may set destination dir (when installing to asm/)
-_dst := $(or $(destination-y),$(dst),$(obj))
+_dst := $(if $(destination-y),$(destination-y),$(if $(dst),$(dst),$(obj)))
 
 old-kbuild-file := $(srctree)/$(subst uapi/,,$(obj))/Kbuild
 ifneq ($(wildcard $(old-kbuild-file)),)
@@ -48,13 +48,14 @@ all-files     := $(header-y) $(genhdr-y) $(wrapper-files)
 output-files  := $(addprefix $(installdir)/, $(all-files))
 
 input-files   := $(foreach hdr, $(header-y), \
-                  $(or \
+                  $(if $(wildcard $(srcdir)/$(hdr)), \
                        $(wildcard $(srcdir)/$(hdr)), \
-                       $(wildcard $(oldsrcdir)/$(hdr)), \
-                       $(error Missing UAPI file $(srcdir)/$(hdr)) \
+                       $(if $(wildcard $(oldsrcdir)/$(hdr)), \
+                               $(wildcard $(oldsrcdir)/$(hdr)), \
+                               $(error Missing UAPI file $(srcdir)/$(hdr))) \
                   )) \
                 $(foreach hdr, $(genhdr-y), \
-                  $(or \
+                  $(if $(wildcard $(gendir)/$(hdr)), \
                        $(wildcard $(gendir)/$(hdr)), \
                        $(error Missing generated UAPI file $(gendir)/$(hdr)) \
                   ))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to