-# Makefile -- Makefile to generate character property tables.
+### @configure_input@
-# Copyright (C) 2012 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)
# You should have received a copy of the GNU General Public License
# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
-SHELL = /bin/sh
+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
+EMACS = ${top_builddir}/src/temacs
DSTDIR = ${top_srcdir}/lisp/international
-emacs = ${EMACS} -batch --no-site-file --no-site-lisp
+emacs = "${EMACS}" -batch --no-site-file --no-site-lisp
-all: ${DSTDIR}/charprop.el
+.PHONY: all compile install
-.el.elc:
- ${emacs} -f batch-byte-compile $<
+all: ${top_srcdir}/src/macuvs.h ${DSTDIR}/charprop.el
+
+${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt
+ ${emacs} -L ${srcdir} -l uvs \
+ --eval '(uvs-print-table-ivd "${srcdir}/IVD_Sequences.txt" "Adobe-Japan1")' \
+ > $@
unidata.txt: ${srcdir}/UnicodeData.txt
- sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < ${srcdir}/UnicodeData.txt > $@
+ sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < $< > $@
-${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
+${DSTDIR}/charprop.el: ${srcdir}/unidata-gen.el ${srcdir}/UnicodeData.txt | \
+ unidata.txt
+ -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}"
## 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
+charprop.el: ${srcdir}/unidata-gen.el 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}
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 charprop.el ${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 ${DSTDIR}/charprop.el; then \
+ (cd ${DSTDIR} && rm -f `sed -n 's/^;; FILE: //p' < charprop.el`); \
+ rm -f ${DSTDIR}/charprop.el; \
+ fi