Merge from emacs-24; up to 2014-05-08T06:58:46Z!rgm@gnu.org
[bpt/emacs.git] / admin / unidata / Makefile.in
index 4d94736..3ad81a9 100644 (file)
@@ -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)
@@ -31,6 +31,8 @@ EMACS = ${top_builddir}/src/emacs
 DSTDIR = ${top_srcdir}/lisp/international
 emacs = "${EMACS}" -batch --no-site-file --no-site-lisp
 
+.PHONY: all compile install
+
 all: ${DSTDIR}/charprop.el
 
 .el.elc:
@@ -39,7 +41,16 @@ all: ${DSTDIR}/charprop.el
 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
+compile: ${srcdir}/unidata-gen.elc
+
+## Depend on .el rather than .elc so as not to needlessly rebuild
+## uni-*.el files just because .elc is missing.
+## Same for UnicodeData.txt v unidata.txt.
+${DSTDIR}/charprop.el: ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt
+       ${MAKE} ${MFLAGS} compile unidata.txt EMACS="${EMACS}"
+       -if [ -f "$@" ]; then \
+         cd ${DSTDIR} && chmod +w charprop.el `sed -n 's/^;; FILE: //p' < charprop.el`; \
+       fi
        ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \
          ${srcdir} "${DSTDIR}"
 
@@ -48,6 +59,8 @@ charprop.el: ${srcdir}/unidata-gen.elc unidata.txt
        ${emacs} -L ${srcdir} -l unidata-gen -f unidata-gen-files \
          ${srcdir}
 
+.PHONY: clean bootstrap-clean distclean maintainer-clean extraclean
+
 install: charprop.el
        cp charprop.el ${DSTDIR}
        cp `sed -n 's/^;; FILE: //p' < charprop.el` ${DSTDIR}
@@ -61,6 +74,15 @@ clean:
 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:
+       if test -f ${DSTDIR}/charprop.el; then \
+         (cd ${DSTDIR} && rm -f `sed -n 's/^;; FILE: //p' < charprop.el`); \
+         rm -f ${DSTDIR}/charprop.el; \
+       fi