-# The rules which generate ${TIT} and ${MISC-DIC} files create them all
-# in one go. So we need to prevent parallel execution for that target,
-# otherwise Emacs complains about files being locked. .NOTPARALLEL is
-# for GNU Make, .NO_PARALLEL is for other Make's.
-.NOTPARALLEL: ${TIT} ${MISC-DIC}
-
-.NO_PARALLEL: ${TIT} ${MISC-DIC}
-
-# Rule to generate quail/*.el from CXTERM-DIC/*.tit.
-# The "if [ -f $@ ]; then true; " part prevents parallel Make's
-# which don't honor .NOTPARALLEL, such as SGI's Make, from running
-# this rule many times, one each for every file it creates.
-${TIT}:
- if [ -d quail ]; then true; else make quail; fi
- if [ -f $@ ]; then true; else \
- ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \
- --eval '(batch-titdic-convert t)' -dir quail ${srcdir}/CXTERM-DIC; fi
- if [ -f $@ ]; then true; else \
- ${RUN-EMACS} -l ${buildlisppath}/international/quail \
- -f batch-byte-compile ${TIT:.elc=.el}; fi
-
-# Rule to generate quail/*.el from MISC-DIC/*.
-${MISC-DIC}:
- if [ -d quail ]; then true; else make quail; fi
- if [ -f $@ ]; then true; else \
- ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \
- -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; fi
- if [ -f $@ ]; then true; else \
- ${RUN-EMACS} -l ${buildlisppath}/international/quail \
- -f batch-byte-compile ${MISC-DIC:.elc=.el}; fi
-
-leim-list.el: ${SUBDIRS} ${WORLD}
+TIT-SOURCES= \
+ ${srcdir}/CXTERM-DIC/4Corner.tit \
+ ${srcdir}/CXTERM-DIC/ARRAY30.tit \
+ ${srcdir}/CXTERM-DIC/CCDOSPY.tit \
+ ${srcdir}/CXTERM-DIC/ECDICT.tit \
+ ${srcdir}/CXTERM-DIC/ETZY.tit \
+ ${srcdir}/CXTERM-DIC/PY-b5.tit \
+ ${srcdir}/CXTERM-DIC/Punct-b5.tit \
+ ${srcdir}/CXTERM-DIC/Punct.tit \
+ ${srcdir}/CXTERM-DIC/QJ-b5.tit \
+ ${srcdir}/CXTERM-DIC/QJ.tit \
+ ${srcdir}/CXTERM-DIC/SW.tit \
+ ${srcdir}/CXTERM-DIC/TONEPY.tit \
+ ${srcdir}/CXTERM-DIC/ZOZY.tit
+
+${CHINESE-TIT:.elc=.el}: changed.tit
+ @true
+
+changed.tit: ${TIT-SOURCES}
+ ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \
+ -f batch-titdic-convert -dir quail ${srcdir}/CXTERM-DIC; \
+ echo "changed" > $@
+
+MISC-SOURCES= \
+ ${srcdir}/MISC-DIC/CTLau-b5.html \
+ ${srcdir}/MISC-DIC/CTLau.html \
+ ${srcdir}/MISC-DIC/cangjie-table.b5 \
+ ${srcdir}/MISC-DIC/cangjie-table.cns \
+ ${srcdir}/MISC-DIC/pinyin.map \
+ ${srcdir}/MISC-DIC/ziranma.cin
+
+${MISC:.elc=.el}: changed.misc
+ @true
+
+changed.misc: ${MISC-SOURCES}
+ ${RUN-EMACS} -l ${buildlisppath}/international/titdic-cnv \
+ -f batch-miscdic-convert -dir quail ${srcdir}/MISC-DIC; \
+ echo "changed" > $@
+
+leim-list.el: ${SUBDIRS} ${NON-TIT-MISC} changed.tit changed.misc ${srcdir}/leim-ext.el
+ ${RUN-EMACS} -l ${buildlisppath}/international/quail \
+ -f batch-byte-compile-if-not-done ${TIT-MISC:.elc=.el}