X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/adf2fc4a01efe77d73cd52bc9173914ed56ff531..3a12f2ed99734eff668f83f630c7108000e0b399:/admin/unidata/Makefile.in diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in index df225cc8cb..94504818d1 100644 --- a/admin/unidata/Makefile.in +++ b/admin/unidata/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 2012-2013 Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011 # National Institute of Advanced Industrial Science and Technology (AIST) @@ -24,42 +24,73 @@ SHELL = @SHELL@ srcdir = @srcdir@ -abs_builddir = @abs_builddir@ top_srcdir = @top_srcdir@ -abs_top_builddir = @abs_top_builddir@ +top_builddir = @top_builddir@ -EMACS = ${abs_top_builddir}/src/emacs -DSTDIR = ${top_srcdir}/lisp/international -emacs = ${EMACS} -batch --no-site-file --no-site-lisp +EMACS = ${top_builddir}/src/emacs +unidir = ${top_srcdir}/lisp/international +emacs = "${EMACS}" -batch --no-site-file --no-site-lisp -all: ${DSTDIR}/charprop.el +.PHONY: all unifiles -.el.elc: +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. +## Same with charprop.el below. +${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt | \ + ${srcdir}/uvs.elc + ${emacs} -L ${srcdir} -l uvs \ + --eval '(uvs-print-table-ivd (unmsys--file-name "${srcdir}/IVD_Sequences.txt") "Adobe-Japan1")' \ + > $@ + +%.elc: %.el ${emacs} -f batch-byte-compile $< unidata.txt: ${srcdir}/UnicodeData.txt - sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < ${srcdir}/UnicodeData.txt > $@ - -${DSTDIR}/charprop.el: ${srcdir}/unidata-gen.elc unidata.txt - cd ${DSTDIR} && ${emacs} -l ${srcdir}/unidata-gen \ - -f unidata-gen-files ${srcdir} ${abs_builddir}/unidata.txt + sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < $< > $@ + +FORCE = +FORCE: +.PHONY: FORCE + +${unidir}/charprop.el: ${FORCE} ${srcdir}/unidata-gen.el \ + ${srcdir}/UnicodeData.txt ${srcdir}/BidiMirroring.txt \ + ${srcdir}/BidiBrackets.txt | \ + ${srcdir}/unidata-gen.elc unidata.txt + -if [ -f "$@" ]; then \ + cd ${unidir} && chmod +w charprop.el `sed -n 's/^;; FILE: //p' < charprop.el`; \ + fi + ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \ + ${srcdir} "${unidir}" -## Like the above, but generate in PWD rather than lisp/international. -charprop.el: ${srcdir}/unidata-gen.elc unidata.txt - ${emacs} -l ${srcdir}/unidata-gen \ - -f unidata-gen-files ${srcdir} unidata.txt +## 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 -install: charprop.el - cp charprop.el ${DSTDIR} - cp `sed -n 's/^;; FILE: //p' < charprop.el` ${DSTDIR} +.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean clean: - if test -f charprop.el; then \ - rm -f `sed -n 's/^;; FILE: //p' < charprop.el`; \ - fi - rm -f charprop.el ${srcdir}/unidata-gen.elc unidata.txt + rm -f ${srcdir}/*.elc unidata.txt + +bootstrap-clean: clean distclean: clean - -rm -f ./Makefile + rm -f Makefile maintainer-clean: distclean + +## Do not remove these files, even in a bootstrap, because they rarely +## change and it slows down bootstrap (a tiny bit). +## Cf leim/ja-dic (which is much slower). +extraclean: + rm -f ${top_srcdir}/src/macuvs.h + if test -f ${unidir}/charprop.el; then \ + (cd ${unidir} && rm -f `sed -n 's/^;; FILE: //p' < charprop.el`); \ + rm -f ${unidir}/charprop.el; \ + fi