mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-01 11:14:55 +00:00
* 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
This commit is contained in:
parent
8ca8fde8a2
commit
23755ba32b
@ -1,5 +1,11 @@
|
||||
2014-10-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* 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.
|
||||
|
@ -31,9 +31,9 @@ EMACS = ${top_builddir}/src/emacs
|
||||
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 @@ ${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt | \
|
||||
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 @@ ${unidir}/charprop.el: ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt | \
|
||||
${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:
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-10-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in ($(srcdir)/macuvs.h)
|
||||
($(lispsource)/international/charprop.el): Add explicit FORCE.
|
||||
|
||||
2014-10-07 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* decompress.c (init_zlib_functions): Move the message about zlib
|
||||
|
@ -437,8 +437,12 @@ all: emacs$(EXEEXT) $(OTHER_FILES)
|
||||
$(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
|
||||
|
Loading…
Reference in New Issue
Block a user