* Re: KBuild problem (or difference) in 2.6.14-rc3
2005-10-10 22:43 KBuild problem (or difference) in 2.6.14-rc3 Mark Rustad
@ 2005-10-12 16:57 ` Mark Rustad
2005-10-14 14:23 ` [PATCH 2.6.14-rc4] kbuild: once again use Makefiles in obj tree Mark Rustad
2005-10-14 14:28 ` [PATCH 2.6.14-rc4] kbuild: Eliminate build error when KALLSYMS not defined Mark Rustad
2 siblings, 0 replies; 5+ messages in thread
From: Mark Rustad @ 2005-10-12 16:57 UTC (permalink / raw)
To: linux-kernel
I believe that I have found and fixed the problem that I encountered yesterday with Makefiles not being used from the objects directory. I also verified that the same problem exists in 2.6.14-rc4. I believe that the following patch fixes it.
Signed-off-by: Mark Rustad <mrustad@mac.com>
--- a/scripts/Makefile.build 2005-10-11 09:27:42.150471811 -0500
+++ b/scripts/Makefile.build 2005-10-11 11:28:10.748640516 -0500
@@ -12,7 +12,11 @@
# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
-include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
+kbuild-inc := $(wildcard $(obj)/Kbuild)
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(kbuild-dir)/Kbuild))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(obj)/Makefile))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(kbuild-dir)/Makefile)
+include $(kbuild-inc)
include scripts/Kbuild.include
include scripts/Makefile.lib
--- a/scripts/Makefile.clean 2005-10-11 09:27:42.150471811 -0500
+++ b/scripts/Makefile.clean 2005-10-11 11:28:20.622769436 -0500
@@ -14,7 +14,11 @@
# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
-include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
+kbuild-inc := $(wildcard $(obj)/Kbuild)
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(kbuild-dir)/Kbuild))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(obj)/Makefile))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(kbuild-dir)/Makefile)
+include $(kbuild-inc)
# Figure out what we need to build from the various variables
# ==========================================================================
I also encountered a build error with 2.6.14-rc4 when CONFIG_KALLSYMS is not defined. The error message in a fragment of the output was:
CC arch/i386/lib/usercopy.o
AR arch/i386/lib/lib.a
/bin/sh: line 1: +@: command not found
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
CHK include/linux/compile.h
The following patch seems to fix it.
Signed-off-by: Mark Rustad <mrustad@mac.com>
--- a/Makefile 2005-10-12 10:42:37.787722969 -0500
+++ b/Makefile 2005-10-12 10:42:58.396913248 -0500
@@ -662,6 +662,7 @@
# Generate System.map and verify that the content is consistent
define rule_vmlinux__
+ :
$(if $(CONFIG_KALLSYMS),,+$(call cmd,vmlinux_version))
$(call cmd,vmlinux__)
--
Mark Rustad, mrustad@mac.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2.6.14-rc4] kbuild: once again use Makefiles in obj tree
2005-10-10 22:43 KBuild problem (or difference) in 2.6.14-rc3 Mark Rustad
2005-10-12 16:57 ` Mark Rustad
@ 2005-10-14 14:23 ` Mark Rustad
2005-10-16 21:15 ` Sam Ravnborg
2005-10-14 14:28 ` [PATCH 2.6.14-rc4] kbuild: Eliminate build error when KALLSYMS not defined Mark Rustad
2 siblings, 1 reply; 5+ messages in thread
From: Mark Rustad @ 2005-10-14 14:23 UTC (permalink / raw)
To: linux-kernel
I believe that I have found and fixed the problem that I encountered earlier this week
with Makefiles not being used from the objects tree as they had been in every 2.6 kernel
I have worked with since 2.6.5. I I view this as a regression in 2.6.14-rc4. I believe
that the following patch fixes it.
--- a/scripts/Makefile.build 2005-10-11 09:27:42.150471811 -0500
+++ b/scripts/Makefile.build 2005-10-11 11:28:10.748640516 -0500
@@ -12,7 +12,11 @@
# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
-include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
+kbuild-inc := $(wildcard $(obj)/Kbuild)
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(kbuild-dir)/Kbuild))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(obj)/Makefile))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(kbuild-dir)/Makefile)
+include $(kbuild-inc)
include scripts/Kbuild.include
include scripts/Makefile.lib
--- a/scripts/Makefile.clean 2005-10-11 09:27:42.150471811 -0500
+++ b/scripts/Makefile.clean 2005-10-11 11:28:20.622769436 -0500
@@ -14,7 +14,11 @@
# The filename Kbuild has precedence over Makefile
kbuild-dir := $(if $(filter /%,$(src)),$(src),$(srctree)/$(src))
-include $(if $(wildcard $(kbuild-dir)/Kbuild), $(kbuild-dir)/Kbuild, $(kbuild-dir)/Makefile)
+kbuild-inc := $(wildcard $(obj)/Kbuild)
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(kbuild-dir)/Kbuild))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(wildcard $(obj)/Makefile))
+kbuild-inc := $(if $(kbuild-inc),$(kbuild-inc),$(kbuild-dir)/Makefile)
+include $(kbuild-inc)
# Figure out what we need to build from the various variables
# ==========================================================================
Signed-off-by: Mark Rustad <mrustad@mac.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2.6.14-rc4] kbuild: once again use Makefiles in obj tree
2005-10-14 14:23 ` [PATCH 2.6.14-rc4] kbuild: once again use Makefiles in obj tree Mark Rustad
@ 2005-10-16 21:15 ` Sam Ravnborg
0 siblings, 0 replies; 5+ messages in thread
From: Sam Ravnborg @ 2005-10-16 21:15 UTC (permalink / raw)
To: Mark Rustad; +Cc: linux-kernel
On Fri, Oct 14, 2005 at 09:23:28AM -0500, Mark Rustad wrote:
> I believe that I have found and fixed the problem that I encountered earlier this week
> with Makefiles not being used from the objects tree as they had been in every 2.6 kernel
> I have worked with since 2.6.5. I I view this as a regression in 2.6.14-rc4. I believe
> that the following patch fixes it.
Hi Mark.
kbuild will not guarantee you way of working in all cases. Therefore no
special implementation will be accepted to try to support it for
specific files.
The changes you point out that breaks your working methodology was added
to fix broken support for external modules.
Sam
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2.6.14-rc4] kbuild: Eliminate build error when KALLSYMS not defined
2005-10-10 22:43 KBuild problem (or difference) in 2.6.14-rc3 Mark Rustad
2005-10-12 16:57 ` Mark Rustad
2005-10-14 14:23 ` [PATCH 2.6.14-rc4] kbuild: once again use Makefiles in obj tree Mark Rustad
@ 2005-10-14 14:28 ` Mark Rustad
2 siblings, 0 replies; 5+ messages in thread
From: Mark Rustad @ 2005-10-14 14:28 UTC (permalink / raw)
To: linux-kernel
I encountered a build error with 2.6.14-rc4 when CONFIG_KALLSYMS is not defined. The error
message in a fragment of the output was:
CC arch/i386/lib/usercopy.o
AR arch/i386/lib/lib.a
/bin/sh: line 1: +@: command not found
make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
CHK include/linux/compile.h
The following patch seems to fix it. I can't say that I really know why, but noticed this
construct elsewhere in the Makefile and it seems to work.
--- a/Makefile 2005-10-12 10:42:37.787722969 -0500
+++ b/Makefile 2005-10-12 10:42:58.396913248 -0500
@@ -662,6 +662,7 @@
# Generate System.map and verify that the content is consistent
define rule_vmlinux__
+ :
$(if $(CONFIG_KALLSYMS),,+$(call cmd,vmlinux_version))
$(call cmd,vmlinux__)
Signed-off-by: Mark Rustad <mrustad@mac.com>
^ permalink raw reply [flat|nested] 5+ messages in thread