diff options
| author | Glenn Morris | 2014-10-07 16:17:09 -0400 |
|---|---|---|
| committer | Glenn Morris | 2014-10-07 16:17:09 -0400 |
| commit | 23755ba32b9baeff4173e317624ceb89fc274468 (patch) | |
| tree | 03fa4e60c045f274e94225df4752f5a56b3e9c03 | |
| parent | 8ca8fde8a2f94e9446efc5aa68020c0badeecb4d (diff) | |
| download | emacs-23755ba32b9baeff4173e317624ceb89fc274468.tar.gz emacs-23755ba32b9baeff4173e317624ceb89fc274468.zip | |
* 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.
Fixes: debbugs:18489
| -rw-r--r-- | admin/ChangeLog | 6 | ||||
| -rw-r--r-- | admin/unidata/Makefile.in | 19 | ||||
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/Makefile.in | 6 |
4 files changed, 32 insertions, 4 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog index 224ed5e6149..742a64ce15d 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,5 +1,11 @@ | |||
| 1 | 2014-10-07 Glenn Morris <rgm@gnu.org> | 1 | 2014-10-07 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * unidata/Makefile.in: Check for deleted uni- files. (Bug#18489) | ||
| 4 | (all): Use unifiles rather than charprop.el. | ||
| 5 | (FORCE): New variable and phony rule. | ||
| 6 | (${unidir}/charprop.el): Respect FORCE. | ||
| 7 | (unifiles): New rule. | ||
| 8 | |||
| 3 | * unidata/Makefile.in (unidir): Rename from DSTDIR. Change all uses. | 9 | * unidata/Makefile.in (unidir): Rename from DSTDIR. Change all uses. |
| 4 | (charprop.el, install): Remove rules. | 10 | (charprop.el, install): Remove rules. |
| 5 | (clean): Simplify. | 11 | (clean): Simplify. |
diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in index f1b8ba2bd13..4649b3b339d 100644 --- a/admin/unidata/Makefile.in +++ b/admin/unidata/Makefile.in | |||
| @@ -31,9 +31,9 @@ EMACS = ${top_builddir}/src/emacs | |||
| 31 | unidir = ${top_srcdir}/lisp/international | 31 | unidir = ${top_srcdir}/lisp/international |
| 32 | emacs = "${EMACS}" -batch --no-site-file --no-site-lisp | 32 | emacs = "${EMACS}" -batch --no-site-file --no-site-lisp |
| 33 | 33 | ||
| 34 | .PHONY: all | 34 | .PHONY: all unifiles |
| 35 | 35 | ||
| 36 | all: ${top_srcdir}/src/macuvs.h ${unidir}/charprop.el | 36 | all: ${top_srcdir}/src/macuvs.h unifiles |
| 37 | 37 | ||
| 38 | ## Specify .elc as an order-only prereq so as to not needlessly rebuild | 38 | ## Specify .elc as an order-only prereq so as to not needlessly rebuild |
| 39 | ## target just because the .elc is missing. | 39 | ## target just because the .elc is missing. |
| @@ -50,7 +50,11 @@ ${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt | \ | |||
| 50 | unidata.txt: ${srcdir}/UnicodeData.txt | 50 | unidata.txt: ${srcdir}/UnicodeData.txt |
| 51 | sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < $< > $@ | 51 | sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < $< > $@ |
| 52 | 52 | ||
| 53 | ${unidir}/charprop.el: ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt | \ | 53 | FORCE = |
| 54 | FORCE: | ||
| 55 | .PHONY: FORCE | ||
| 56 | |||
| 57 | ${unidir}/charprop.el: ${FORCE} ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt | \ | ||
| 54 | ${srcdir}/unidata-gen.elc unidata.txt | 58 | ${srcdir}/unidata-gen.elc unidata.txt |
| 55 | -if [ -f "$@" ]; then \ | 59 | -if [ -f "$@" ]; then \ |
| 56 | cd ${unidir} && chmod +w charprop.el `sed -n 's/^;; FILE: //p' < charprop.el`; \ | 60 | cd ${unidir} && chmod +w charprop.el `sed -n 's/^;; FILE: //p' < charprop.el`; \ |
| @@ -58,6 +62,15 @@ ${unidir}/charprop.el: ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt | \ | |||
| 58 | ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \ | 62 | ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \ |
| 59 | ${srcdir} "${unidir}" | 63 | ${srcdir} "${unidir}" |
| 60 | 64 | ||
| 65 | ## Check for deleted uni- files, and if any such, force a rebuild. | ||
| 66 | ## Perhaps a more elegant way would be for the previous rule | ||
| 67 | ## to generate a Makefile fragment explicitly listing the uni- files, | ||
| 68 | ## which this file could include. If no fragment, rebuild everything. | ||
| 69 | unifiles: ${unidir}/charprop.el | ||
| 70 | for f in `sed -n 's/^;; FILE: //p' < $<`; do \ | ||
| 71 | [ -f ${unidir}/$$f ] || { ${MAKE} $< FORCE=FORCE || exit 1; break; };\ | ||
| 72 | done | ||
| 73 | |||
| 61 | .PHONY: clean bootstrap-clean distclean maintainer-clean extraclean | 74 | .PHONY: clean bootstrap-clean distclean maintainer-clean extraclean |
| 62 | 75 | ||
| 63 | clean: | 76 | clean: |
diff --git a/src/ChangeLog b/src/ChangeLog index 7a6b38f3b90..1b77d1c9aa1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-10-07 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | * Makefile.in ($(srcdir)/macuvs.h) | ||
| 4 | ($(lispsource)/international/charprop.el): Add explicit FORCE. | ||
| 5 | |||
| 1 | 2014-10-07 Eli Zaretskii <eliz@gnu.org> | 6 | 2014-10-07 Eli Zaretskii <eliz@gnu.org> |
| 2 | 7 | ||
| 3 | * decompress.c (init_zlib_functions): Move the message about zlib | 8 | * decompress.c (init_zlib_functions): Move the message about zlib |
diff --git a/src/Makefile.in b/src/Makefile.in index dfa5854489b..dffb77e7338 100644 --- a/src/Makefile.in +++ b/src/Makefile.in | |||
| @@ -437,8 +437,12 @@ all: emacs$(EXEEXT) $(OTHER_FILES) | |||
| 437 | $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT) | 437 | $(leimdir)/leim-list.el: bootstrap-emacs$(EXEEXT) |
| 438 | $(MAKE) -C ../leim leim-list.el EMACS="$(bootstrap_exe)" | 438 | $(MAKE) -C ../leim leim-list.el EMACS="$(bootstrap_exe)" |
| 439 | 439 | ||
| 440 | ## FORCE it so that admin/unidata can decide whether these files | ||
| 441 | ## are up-to-date. Although since charprop depends on bootstrap-emacs, | ||
| 442 | ## and emacs (which recreates bootstrap-emacs) depends on charprop, | ||
| 443 | ## in practice this rule was always run anyway. | ||
| 440 | $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ | 444 | $(srcdir)/macuvs.h $(lispsource)/international/charprop.el: \ |
| 441 | bootstrap-emacs$(EXEEXT) | 445 | bootstrap-emacs$(EXEEXT) FORCE |
| 442 | $(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)" | 446 | $(MAKE) -C ../admin/unidata all EMACS="../$(bootstrap_exe)" |
| 443 | 447 | ||
| 444 | ## The dumped Emacs is as functional and more efficient than | 448 | ## The dumped Emacs is as functional and more efficient than |