
Hi Anton,
Thanks for comments. Replied below.
Regards, Che-Liang
On Wed, Aug 24, 2011 at 1:01 AM, Anton Staaf robotboy@google.com wrote:
On Tue, Aug 23, 2011 at 3:03 AM, Che-Liang Chiou clchiou@chromium.org wrote:
The out-of-tree build fails because the Makefiles in question depend on source files of another directory but do not explicitly mkdir that directory.
As a matter of fact, other Makefiles under board/*/ directory that refer to source files under another directory explicitly call mkdir.
This patch adds explicit mkdir's to the Makefiles in question, and verifies that out-of-tree build is working.
Signed-off-by: Che-Liang Chiou clchiou@chromium.org Cc: Albert Aribaud albert.u.boot@aribaud.net
board/nvidia/harmony/Makefile | 4 ++++ board/nvidia/seaboard/Makefile | 4 ++++ 2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/board/nvidia/harmony/Makefile b/board/nvidia/harmony/Makefile index 9fb6b57..ebd8e02 100644 --- a/board/nvidia/harmony/Makefile +++ b/board/nvidia/harmony/Makefile @@ -24,6 +24,10 @@
include $(TOPDIR)/config.mk
+ifneq ($(OBJTREE),$(SRCTREE)) +$(shell mkdir -p $(obj)../common) +endif
We should actually fix this by making the other directory build a library and then include the library in this Makefile. I had a reminder to get back to this but haven't yet.
Thanks, Anton
I find that Makefiles that call mkdir are those depend on a board/*/common/ directory which is shared among board variants (with a couple of exceptions). I guess the reason why none of boards implemented your proposal is because it involves changes to the top-level Makefile. The top-level Makefile cherry-picks the libraries, and the (only?) board-dependent library is "LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).o". And I guess implementing your proposal means we have to add a LIBBOARD_COMMON to the top-level Makefile. I am not sure whether adding a board-common library to the top-level Makefile is possible. If it is possible, maybe we could start from this patch. What do you think?
LIB = $(obj)lib$(BOARD).o
COBJS := $(BOARD).o diff --git a/board/nvidia/seaboard/Makefile b/board/nvidia/seaboard/Makefile index 9fb6b57..ebd8e02 100644 --- a/board/nvidia/seaboard/Makefile +++ b/board/nvidia/seaboard/Makefile @@ -24,6 +24,10 @@
include $(TOPDIR)/config.mk
+ifneq ($(OBJTREE),$(SRCTREE)) +$(shell mkdir -p $(obj)../common) +endif
LIB = $(obj)lib$(BOARD).o
COBJS := $(BOARD).o
1.7.3.1
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot