emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r118071: * admin/unidata/Makefile.in: Check for dele


From: Glenn Morris
Subject: [Emacs-diffs] trunk r118071: * admin/unidata/Makefile.in: Check for deleted uni- files.
Date: Tue, 07 Oct 2014 20:17:13 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 118071
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/18489
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Tue 2014-10-07 16:17:09 -0400
message:
  * admin/unidata/Makefile.in: Check for deleted uni- files. 
  (all): Use unifiles rather than charprop.el.
  (FORCE): New variable and phony rule.
  (${unidir}/charprop.el): Respect FORCE.
  (unifiles): New rule.
  
  * src/Makefile.in ($(srcdir)/macuvs.h)
  ($(lispsource)/international/charprop.el): Add explicit FORCE.
modified:
  admin/ChangeLog                changelog-20091113204419-o5vbwnq5f7feedwu-2226
  admin/unidata/Makefile.in      
makefile.in-20091113204419-o5vbwnq5f7feedwu-8551
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/Makefile.in                makefile.in-20091113204419-o5vbwnq5f7feedwu-631
=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2014-10-07 05:14:28 +0000
+++ b/admin/ChangeLog   2014-10-07 20:17:09 +0000
@@ -1,5 +1,11 @@
 2014-10-07  Glenn Morris  <address@hidden>
 
+       * unidata/Makefile.in: Check for deleted uni- files.  (Bug#18489)
+       (all): Use unifiles rather than charprop.el.
+       (FORCE): New variable and phony rule.
+       (${unidir}/charprop.el): Respect FORCE.
+       (unifiles): New rule.
+
        * unidata/Makefile.in (unidir): Rename from DSTDIR.  Change all uses.
        (charprop.el, install): Remove rules.
        (clean): Simplify.

=== modified file 'admin/unidata/Makefile.in'
--- a/admin/unidata/Makefile.in 2014-10-07 05:14:28 +0000
+++ b/admin/unidata/Makefile.in 2014-10-07 20:17:09 +0000
@@ -31,9 +31,9 @@
 unidir = ${top_srcdir}/lisp/international
 emacs = "${EMACS}" -batch --no-site-file --no-site-lisp
 
-.PHONY: all
+.PHONY: all unifiles
 
-all: ${top_srcdir}/src/macuvs.h ${unidir}/charprop.el
+all: ${top_srcdir}/src/macuvs.h unifiles
 
 ## Specify .elc as an order-only prereq so as to not needlessly rebuild
 ## target just because the .elc is missing.
@@ -50,7 +50,11 @@
 unidata.txt: ${srcdir}/UnicodeData.txt
        sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < $< > $@
 
-${unidir}/charprop.el: ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt | \
+FORCE =
+FORCE:
+.PHONY: FORCE
+
+${unidir}/charprop.el: ${FORCE} ${srcdir}/unidata-gen.el 
${srcdir}/UnicodeData.txt | \
   ${srcdir}/unidata-gen.elc unidata.txt
        -if [ -f "$@" ]; then \
          cd ${unidir} && chmod +w charprop.el `sed -n 's/^;; FILE: //p' < 
charprop.el`; \
@@ -58,6 +62,15 @@
        ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \
          ${srcdir} "${unidir}"
 
+## Check for deleted uni- files, and if any such, force a rebuild.
+## Perhaps a more elegant way would be for the previous rule
+## to generate a Makefile fragment explicitly listing the uni- files,
+## which this file could include.  If no fragment, rebuild everything.
+unifiles: ${unidir}/charprop.el
+       for f in `sed -n 's/^;; FILE: //p' < $<`; do \
+         [ -f ${unidir}/$$f ] || { ${MAKE} $< FORCE=FORCE || exit 1; break; };\
+       done
+
 .PHONY: clean bootstrap-clean distclean maintainer-clean extraclean
 
 clean:

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-10-07 17:18:07 +0000
+++ b/src/ChangeLog     2014-10-07 20:17:09 +0000
@@ -1,3 +1,8 @@
+2014-10-07  Glenn Morris  <address@hidden>
+
+       * Makefile.in ($(srcdir)/macuvs.h)
+       ($(lispsource)/international/charprop.el): Add explicit FORCE.
+
 2014-10-07  Eli Zaretskii  <address@hidden>
 
        * decompress.c (init_zlib_functions): Move the message about zlib

=== modified file 'src/Makefile.in'
--- a/src/Makefile.in   2014-09-06 07:40:43 +0000
+++ b/src/Makefile.in   2014-10-07 20:17:09 +0000
@@ -437,8 +437,12 @@
 $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT)
        $(MAKE) -C ../leim leim-list.el EMACS="$(bootstrap_exe)"
 
+## FORCE it so that admin/unidata can decide whether these files
+## are up-to-date.  Although since charprop depends on bootstrap-emacs,
+## and emacs (which recreates bootstrap-emacs) depends on charprop,
+## in practice this rule was always run anyway.
 $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \
-  bootstrap-emacs$(EXEEXT)
+  bootstrap-emacs$(EXEEXT) FORCE
        $(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)"
 
 ## The dumped Emacs is as functional and more efficient than


reply via email to

[Prev in Thread] Current Thread [Next in Thread]