- fix wrong path to scripts/usage; It is in the builddir and not in the srcdir.
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Sun, 21 May 2006 15:05:49 +0000 (15:05 -0000)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Sun, 21 May 2006 15:05:49 +0000 (15:05 -0000)
- flag .depend as .NOTPARALLEL to workaround bug in make-3.80 and make-3.81
Some more details on the second workaround (i.e. kludge):
make-3.80 silently fails, while make-3.81 is at least self-conscious enough to
admit:
include/usage_compressed.h: .config scripts/usage
#  Implicit rule search has not been done.
#  File does not exist.
#  File has not been updated.
#  Dependencies commands running (THIS IS A BUG).
#  commands to execute (from `/home/cow/src/bb2/Makefile', line 430):
        $(Q)$(SHELL) $(top_srcdir)/scripts/usage_compressed "$(top_builddir)/scripts" > $@

I'm giving up on trying to run the rest of the prerequisites of .depend in
parallel and just (try to) indicate that the prerequisites of .depend are
not to be run in parallel.

While this makes `make distclean defconfig;make -j´ work for me, it is not a
real -- longterm -- solution; FIXME

Makefile

index b13f793237112e8df996b02a645d6a11dac94139..77c25742b24ac609aa3dd9c0b65262c95209e303 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -415,17 +415,21 @@ include/bbconfigopts.h: .config
 endif
 
 ifeq ($(strip $(CONFIG_FEATURE_COMPRESS_USAGE)),y)
-scripts/usage: $(top_srcdir)/scripts/usage.c
+USAGE_BIN:=scripts/usage
+$(USAGE_BIN): $(top_srcdir)/scripts/usage.c
        $(do_link.h)
 
 DEP_INCLUDES += include/usage_compressed.h
 
-include/usage_compressed.h: scripts/usage .config
-       $(Q)$(SHELL) $(top_srcdir)/scripts/usage_compressed "$(top_srcdir)/scripts" > $@
+include/usage_compressed.h: .config $(USAGE_BIN)
+       $(Q)$(SHELL) $(top_srcdir)/scripts/usage_compressed "$(top_builddir)/scripts" > $@
 endif # CONFIG_FEATURE_COMPRESS_USAGE
 
+# workaround alleged bug in make-3.80, make-3.81
+.NOTPARALLEL: .depend
+
 depend dep: .depend
-.depend: scripts/bb_mkdep $(DEP_INCLUDES)
+.depend: scripts/bb_mkdep $(USAGE_BIN) $(DEP_INCLUDES)
        $(disp_gen)
        $(Q)rm -f .depend
        $(Q)mkdir -p include/config