On Sun, Aug 14, 2016 at 2:29 AM, Ralf Friedl <[email protected]> wrote:
> Arnout Vandecappelle wrote:
>>
>> As an aside, there may be a second issue: applets/Kbuild.src specifies the
>> same
>> command for both include/applet_tables.h and include/NUM_APPLETS.h, but
>> that
>> command will always generate both files. So if the rules for the two files
>> are
>> launched in parallel, there is another problem. The easiest way to work
>> around
>> that is to (arbitrarily) let include/NUM_APPLETS.h depend on
>> include/applet_tables.h with an empty command:
>>
>> include/NUM_APPLETS.h: include/applet_tables.h ;
>>
>> It's not entirely accurate, but in practice it works.
>
> There is a perfectly valid syntax to express that one command generates more
> than one file:
> diff --git a/applets/Kbuild.src b/applets/Kbuild.src
> index b612399..5d4c53e 100644
> --- a/applets/Kbuild.src
> +++ b/applets/Kbuild.src
> @@ -40,8 +40,5 @@ include/usage_compressed.h: applets/usage
> $(srctree_slash)applets/usage_compress
>  quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h
>        cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h
> include/NUM_APPLETS.h
>
> -include/applet_tables.h: applets/applet_tables
> -       $(call cmd,gen_applet_tables)
> -
> -include/NUM_APPLETS.h: applets/applet_tables
> +include/applet_tables.h include/NUM_APPLETS.h: applets/applet_tables
>         $(call cmd,gen_applet_tables)
>
> This should also fix the problem with the parallel build. The original form
> would invoke the same command twice, maybe at the same time. The second form
> will invoke it only once.
>
> The problem with include/NUM_APPLETS.h is that it is not rebuild by
> applets/Kbuild.src if include/NUM_APPLETS.h is removed, but
> include/applet_tables.h is not. This can be fixed by adding
> include/NUM_APPLETS.h to the dependencies of applets/usage_pod, although it
> is not really a dependency.

Thanks Ralf. This seems to work.
_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to