[PATCH] build system: fix parallel building issue

Michael Olbrich m.olbrich at pengutronix.de
Mon Mar 19 15:37:17 UTC 2018


The files generated by the include/config/MARKER target are in the
dependency list for applets/applet_tables.
If applets/applet_tables is created first during applets_dir then it will
be created again later as part of $(busybox-dirs).
As a result include/applet_tables.h is created again. This time while other
build commands may need it.

Change the dependency for include/applet_tables.h and include/NUM_APPLETS.h
on applets/applet_tables into a existence-only dependency. This way the
header files are not recreated even if applets/applet_tables is rebuilt.

Signed-off-by: Michael Olbrich <m.olbrich at pengutronix.de>
---
 applets/Kbuild.src | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/applets/Kbuild.src b/applets/Kbuild.src
index 3aedbbffef82..bf6014b92c5b 100644
--- a/applets/Kbuild.src
+++ b/applets/Kbuild.src
@@ -40,7 +40,7 @@ include/usage_compressed.h: applets/usage $(srctree_slash)applets/usage_compress
 quiet_cmd_gen_applet_tables = GEN     include/applet_tables.h include/NUM_APPLETS.h
       cmd_gen_applet_tables = applets/applet_tables include/applet_tables.h include/NUM_APPLETS.h
 
-include/NUM_APPLETS.h: applets/applet_tables
+include/NUM_APPLETS.h: | applets/applet_tables
 	$(call cmd,gen_applet_tables)
 
 # In fact, include/applet_tables.h depends only on applets/applet_tables,
@@ -53,5 +53,5 @@ include/NUM_APPLETS.h: applets/applet_tables
 # The alternative is to not list any command,
 # and then if include/applet_tables.h is deleted, it won't be rebuilt.
 #
-include/applet_tables.h: include/NUM_APPLETS.h applets/applet_tables
+include/applet_tables.h: include/NUM_APPLETS.h | applets/applet_tables
 	$(call cmd,gen_applet_tables)
-- 
2.16.1



More information about the busybox mailing list