Hi Anton, Thanks for comments. Replied below.
Regards, Che-Liang On Wed, Aug 24, 2011 at 1:01 AM, Anton Staaf <robot...@google.com> wrote: > On Tue, Aug 23, 2011 at 3:03 AM, Che-Liang Chiou <clch...@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 <clch...@chromium.org> >> Cc: Albert Aribaud <albert.u.b...@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 >> > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot