Subject: Re: bug#26459: 26.0.50; loaddefs.el is regenerated after each "git pull"

From: Glenn Morris <[email-masked]>
Date: Fri, 14 Apr 2017 21:25:36 -0400

Glenn Morris wrote:

> IIUC, making lisp's gen-lisp also generate the unidata files (as well as
> leim and semantic) ought to fix your issue? In fact, I'm not sure why I
> didn't do that - maybe it turns out not to be so straightforward.

I find the following patch causes my -j8 builds to often hang forever
(prior to 28718c4), because two Emacs processes try to modify eg
uni-name at the same time. I don't know why Make apparently spawns two
jobs at the same time to do the same thing. Possibly because
admin/unidata/Makefile doesn't explicitly list the output uni*.el files,
and calls make in a loop. Maybe we should improve that.

--- i/lisp/Makefile.in
+++ w/lisp/Makefile.in
@@ -347,9 +347,9 @@ compile-clean:
 	  fi \
 	done
 
-.PHONY: gen-lisp leim semantic
+.PHONY: gen-lisp leim semantic unidata
 
-gen-lisp: leim semantic
+gen-lisp: leim semantic unidata
 
 leim:
 	$(MAKE) -C ../leim all EMACS="$(EMACS)"
@@ -357,6 +357,9 @@ leim:
 semantic:
 	$(MAKE) -C ../admin/grammars all EMACS="$(EMACS:.%=../.%)"
 
+unidata:
+	$(MAKE) -C ../admin/unidata all EMACS="$(EMACS:.%=../.%)"
+
 # Compile all Lisp files, but don't recompile those that are up to
 # date.  Some .el files don't get compiled because they set the
 # local variable no-byte-compile.