[U-Boot] [PATCH v2 1/7] tegra: Rework Tamonten support

Stephen Warren swarren at wwwdotorg.org
Sat Jun 9 07:28:57 CEST 2012


On 06/08/2012 03:27 PM, Allen Martin wrote:
> On Fri, Jun 08, 2012 at 02:07:25PM -0700, Stephen Warren wrote:
>> On 06/08/2012 02:01 PM, Allen Martin wrote:
>>> On Fri, May 25, 2012 at 06:46:22AM -0700, Thierry Reding wrote:
>>>> This commit uses the common Tegra board implementation instead of
>>>> duplicating a lot of the code. In addition, the Plutux and Medcom
>>>> specific board files can be removed as the MMC/SD setup is common
>>>> among all Tamonten-based boards.
>>>>
>>>> ...
>>>> diff --git a/board/avionic-design/medcom/Makefile b/board/avionic-design/medcom/Makefile
>>>> index b0c318c..d96d043 100644
>>>> --- a/board/avionic-design/medcom/Makefile
>>>> +++ b/board/avionic-design/medcom/Makefile
>>>> @@ -26,12 +26,12 @@
>>>>  include $(TOPDIR)/config.mk
>>>>
>>>>  ifneq ($(OBJTREE),$(SRCTREE))
>>>> -$(shell mkdir -p $(obj)../common)
>>>> +$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
>>>>  endif
>>>>
>>>>  LIB    = $(obj)lib$(BOARD).o
>>>>
>>>
>>> This breaks with my patchset to split out the arm7 code to an SPL
>>> because even though SRCDIR and OBJDIR are the same, in the SPL build
>>> $(obj) is a subdir of $(SPLTREE) not $(OBJTREE) (not my doing).
>>>
>>> How about the following instead which seems more to the point:
>>>
>>> ifeq ($(wildcard $(obj)../common),)
>>> $(shell mkdir -p $(obj)../common)
>>> endif
>>> ifeq ($(wildcard $(obj)../../nvidia/common),)
>>> $(shell mkdir -p $(obj)../../nvidia/common)
>>> endif
>>
>> Maybe I'm just not reading it right, but isn't that just running the
>> exact same mkdir commands, just splitting it into two commands, and
>> making them optional based on the $(wildcard)? I'm still not clear what
>> the problem is.
>>
>> Anyway, if this is an issue, then compal/paz00 and compulabl/trimslice
>> will need to be fixed for the SPL changes in the same way.
> 
> The problem is this:
> 
>>>>  ifneq ($(OBJTREE),$(SRCTREE))
> 
> is true, but these directories:
> 
>>>> +$(shell mkdir -p $(obj)../common $(obj)../../nvidia/common)
> 
> don't exist because $(obj) is not under $(OBJTREE) in the SPL build,
> it's under $(SPLTREE)

OK, so I think the issue is just that $(obj) isn't the correct place to
mkdir these, not that we shouldn't attempt to mkdir any directory. In
other words, don't you need to switch between mkdir in the object tree
or the SPL tree rather than switching between doing a mkdir and not?
It's quite possible this only affects builds where OBJDIR!=SRCDIR, so a
regular build might not show up the problem I /think/ exists in the code
quoted a couple of emails above.


More information about the U-Boot mailing list