[U-Boot] [PATCH] Makefile: restore *_config target
Jeroen Hofstee
jeroen at myspectrum.nl
Tue Aug 5 21:35:18 CEST 2014
Hi Masahiro,
On 05-08-14 03:50, Masahiro Yamada wrote:
> On Mon, 04 Aug 2014 19:49:24 +0200
> Jeroen Hofstee <jeroen at myspectrum.nl> wrote:
>
>>>> cc: Tom Rini <trini at ti.com>
>>>> cc: Masahiro Yamada <yamada.m at jp.panasonic.com>
>>>> cc: Simon Glass <sjg at chromium.org>
>>>> Signed-off-by: Jeroen Hofstee <jeroen at myspectrum.nl>
>>>> ---
>>>> Makefile | 7 ++++++-
>>>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/Makefile b/Makefile
>>>> index 5e49545..2a339aa 100644
>>>> --- a/Makefile
>>>> +++ b/Makefile
>>>> @@ -413,7 +413,7 @@ endif
>>>> version_h := include/generated/version_autogenerated.h
>>>> timestamp_h := include/generated/timestamp_autogenerated.h
>>>> >> -no-dot-config-targets := clean clobber mrproper distclean \
>>>> +no-dot-config-targets := clean clobber %_config mrproper distclean \
>>>> help %docs check% coccicheck \
>>>> ubootversion backup tools-only
>>> This change is not necessay at all, I think.
>>>
>> Depends on the intention, I do _not_ want to invoke the %config
>> for the %_config target, and this prevents that.
>
> I am afraid you are misunderstanding the usage of no-dot-config-targets.
>
> This variable contains targets we can run without the configuration,
> such as cleaning targets, help targets, ...
>
> You are adding the configuration target itself to this variable.
>
No I am not misunderstanding it. I am adding an alias not
a configure target and an alias can obviously run without a
configured u-boot (and should in this case). If I move the rule
up it can be avoided if you insist on it.
>>>> @@ -436,6 +436,11 @@ ifeq ($(KBUILD_EXTMOD),)
>>>> endif
>>>> endif
>>>> >> +# Before the switch to KConfig the configure target was %_config instead
>>>> +# of %_defconfig. Just reinvoke make to be backwards compatible.
>>>> +%_config: FORCE
>>>> + $(Q)$(MAKE) $(@:_config=_defconfig)
>>>> +
>>>> ifeq ($(mixed-targets),1)
>>>> # ===========================================================================
>>>> # We're called with mixed targets (*config and build targets).
>>> Because <board>_config matches "%config" pattern at line 467,
>> Well only when ifeq ($(config-targets),1) was true, which above prevents.
>>
>>> could you modify scripts/multiconfig.py, please?
>>>
>> I don't understand what you want to change there... it should only
>> see %_defconfig.
>>
>
> "<board>_config" is now an alias of "<board>_defconfig", right?
yes, make %_config just invokes make %_defconfig. That is all.
> I thoght it is more reasonable to handle it in the same place as the other
> configuration targets.
>
Matter of taste I guess, I like my approach more, since it
catches differences earlier and no scripts below have to be altered.
> Could you try the following patch?
>
>
>
> diff --git a/scripts/multiconfig.py b/scripts/multiconfig.py
> index 749abcb..30bfd7f 100755
> --- a/scripts/multiconfig.py
> +++ b/scripts/multiconfig.py
> @@ -402,6 +402,9 @@ def main():
> cmd = sys.argv[1]
> if cmd.endswith('_defconfig'):
> do_board_defconfig(cmd)
> + elif cmd.endswith('_config'):
> + # backward compatibility
> + do_board_defconfig(cmd[:-len('_config')] + '_defconfig')
> else:
> func = cmd_list.get(cmd, do_others)
> func(cmd)
>
I can't parse this, since I don't know python that well, but it likely
works. I do like it more if make already handled it though.
Regards,
Jeroen
More information about the U-Boot
mailing list