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
