diff options
| author | Glenn Morris | 2014-06-09 21:44:11 -0400 |
|---|---|---|
| committer | Glenn Morris | 2014-06-09 21:44:11 -0400 |
| commit | bb175792b137dde8c4fd47a0e4660395e6e2f77f (patch) | |
| tree | b32f5505b3b0bffe352834892b49becb56dae600 | |
| parent | feb6546cdf5b43f8e50aaaabb29c6856a9251893 (diff) | |
| download | emacs-bb175792b137dde8c4fd47a0e4660395e6e2f77f.tar.gz emacs-bb175792b137dde8c4fd47a0e4660395e6e2f77f.zip | |
leim/Makefile.in: use GNU Make features to simplify and parallelize.
* leim/Makefile.in (CHINESE_TIT, TIT_SOURCES, MISC_SOURCES, changed.tit)
(changed.misc): Remove.
(${leimdir}/quail, ${leimdir}/ja-dic): Create using order-only prereq.
(misc_convert): New.
(${leimdir}/quail/%.el, ${leimdir}/quail/CT%.el)
(${leimdir}/quail/PY.el, ${leimdir}/quail/ZIRANMA.el)
(${leimdir}/quail/tsang-%.el, ${leimdir}/quail/quick-%.el): Use pattern rules.
(${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el):
Use automatic variables.
(bootstrap-clean): No changed.* files to delete any more.
* .bzrignore: No leim/changed.* files to ignore any more.
| -rw-r--r-- | leim/ChangeLog | 15 | ||||
| -rw-r--r-- | leim/Makefile.in | 100 |
2 files changed, 56 insertions, 59 deletions
diff --git a/leim/ChangeLog b/leim/ChangeLog index 6c3ec294269..ac698f63e71 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog | |||
| @@ -1,3 +1,18 @@ | |||
| 1 | 2014-06-10 Glenn Morris <rgm@gnu.org> | ||
| 2 | |||
| 3 | Use GNU Make features to simplify and parallelize. | ||
| 4 | * Makefile.in (CHINESE_TIT, TIT_SOURCES, MISC_SOURCES, changed.tit) | ||
| 5 | (changed.misc): Remove. | ||
| 6 | (${leimdir}/quail, ${leimdir}/ja-dic): Create using order-only prereq. | ||
| 7 | (misc_convert): New. | ||
| 8 | (${leimdir}/quail/%.el, ${leimdir}/quail/CT%.el) | ||
| 9 | (${leimdir}/quail/PY.el, ${leimdir}/quail/ZIRANMA.el) | ||
| 10 | (${leimdir}/quail/tsang-%.el, ${leimdir}/quail/quick-%.el): | ||
| 11 | Use pattern rules. | ||
| 12 | (${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el): | ||
| 13 | Use automatic variables. | ||
| 14 | (bootstrap-clean): No changed.* files to delete any more. | ||
| 15 | |||
| 1 | 2014-04-11 Glenn Morris <rgm@gnu.org> | 16 | 2014-04-11 Glenn Morris <rgm@gnu.org> |
| 2 | 17 | ||
| 3 | * Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport. | 18 | * Makefile.in (EMACSDATA, EMACSDOC, EMACSPATH): Unexport. |
diff --git a/leim/Makefile.in b/leim/Makefile.in index 293b052aeb3..16f3917c61c 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in | |||
| @@ -61,8 +61,6 @@ TIT_BIG5=\ | |||
| 61 | ${leimdir}/quail/QJ-b5.el \ | 61 | ${leimdir}/quail/QJ-b5.el \ |
| 62 | ${leimdir}/quail/ZOZY.el | 62 | ${leimdir}/quail/ZOZY.el |
| 63 | 63 | ||
| 64 | CHINESE_TIT=${TIT_GB} ${TIT_BIG5} | ||
| 65 | |||
| 66 | MISC= \ | 64 | MISC= \ |
| 67 | ${leimdir}/quail/tsang-b5.el \ | 65 | ${leimdir}/quail/tsang-b5.el \ |
| 68 | ${leimdir}/quail/quick-b5.el \ | 66 | ${leimdir}/quail/quick-b5.el \ |
| @@ -73,80 +71,66 @@ MISC= \ | |||
| 73 | ${leimdir}/quail/CTLau.el \ | 71 | ${leimdir}/quail/CTLau.el \ |
| 74 | ${leimdir}/quail/CTLau-b5.el | 72 | ${leimdir}/quail/CTLau-b5.el |
| 75 | 73 | ||
| 76 | ## The generated .el files. | 74 | ## All the generated .el files. |
| 77 | TIT_MISC=${CHINESE_TIT} ${MISC} | 75 | TIT_MISC = ${TIT_GB} ${TIT_BIG5} ${MISC} |
| 76 | |||
| 78 | 77 | ||
| 79 | all: ${leimdir}/leim-list.el ${leimdir}/ja-dic/ja-dic.el | 78 | all: ${leimdir}/leim-list.el ${leimdir}/ja-dic/ja-dic.el |
| 80 | .PHONY: all | 79 | .PHONY: all |
| 81 | 80 | ||
| 82 | TIT_SOURCES= \ | 81 | |
| 83 | ${srcdir}/CXTERM-DIC/4Corner.tit \ | 82 | ## Ensure the output directory exists. |
| 84 | ${srcdir}/CXTERM-DIC/ARRAY30.tit \ | 83 | ${TIT_MISC}: | ${leimdir}/quail |
| 85 | ${srcdir}/CXTERM-DIC/CCDOSPY.tit \ | 84 | |
| 86 | ${srcdir}/CXTERM-DIC/ECDICT.tit \ | 85 | ${leimdir}/quail ${leimdir}/ja-dic: |
| 87 | ${srcdir}/CXTERM-DIC/ETZY.tit \ | 86 | ${MKDIR_P} $@ |
| 88 | ${srcdir}/CXTERM-DIC/PY-b5.tit \ | 87 | |
| 89 | ${srcdir}/CXTERM-DIC/Punct-b5.tit \ | 88 | |
| 90 | ${srcdir}/CXTERM-DIC/Punct.tit \ | 89 | ## All of TIT_GB and TIT_BIG5. |
| 91 | ${srcdir}/CXTERM-DIC/QJ-b5.tit \ | 90 | ${leimdir}/quail/%.el: ${srcdir}/CXTERM-DIC/%.tit |
| 92 | ${srcdir}/CXTERM-DIC/QJ.tit \ | ||
| 93 | ${srcdir}/CXTERM-DIC/SW.tit \ | ||
| 94 | ${srcdir}/CXTERM-DIC/TONEPY.tit \ | ||
| 95 | ${srcdir}/CXTERM-DIC/ZOZY.tit | ||
| 96 | |||
| 97 | ${CHINESE_TIT}: changed.tit | ||
| 98 | @true | ||
| 99 | |||
| 100 | ## The changed.* files act to serialize this part of the build. | ||
| 101 | ## A single Emacs invocation creates all the CHINESE_TIT files. | ||
| 102 | ## Otherwise in a parallel build multiple Emacs instances could | ||
| 103 | ## interfere with each other. If we used GNU make we could probably | ||
| 104 | ## parallelize this without the need for an explicit rule for each | ||
| 105 | ## file. Something like the pattern rule: | ||
| 106 | ## quail/%.el: CXTERM-DIC/%.tit | ||
| 107 | ## It doesn't seem possible to do this with VPATH and suffix rules. | ||
| 108 | changed.tit: ${TIT_SOURCES} | ||
| 109 | @${MKDIR_P} ${leimdir}/quail | ||
| 110 | ${RUN_EMACS} -l titdic-cnv \ | ||
| 111 | -f batch-titdic-convert -dir ${leimdir}/quail ${srcdir}/CXTERM-DIC | ||
| 112 | echo "changed" > $@ | ||
| 113 | |||
| 114 | MISC_SOURCES= \ | ||
| 115 | ${srcdir}/MISC-DIC/CTLau-b5.html \ | ||
| 116 | ${srcdir}/MISC-DIC/CTLau.html \ | ||
| 117 | ${srcdir}/MISC-DIC/cangjie-table.b5 \ | ||
| 118 | ${srcdir}/MISC-DIC/cangjie-table.cns \ | ||
| 119 | ${srcdir}/MISC-DIC/pinyin.map \ | ||
| 120 | ${srcdir}/MISC-DIC/ziranma.cin | ||
| 121 | |||
| 122 | ${MISC}: changed.misc | ||
| 123 | @true | ||
| 124 | |||
| 125 | changed.misc: ${MISC_SOURCES} | ||
| 126 | @${MKDIR_P} ${leimdir}/quail | ||
| 127 | ${RUN_EMACS} -l titdic-cnv \ | 91 | ${RUN_EMACS} -l titdic-cnv \ |
| 128 | -f batch-miscdic-convert -dir ${leimdir}/quail ${srcdir}/MISC-DIC | 92 | -f batch-titdic-convert -dir ${leimdir}/quail $< |
| 129 | echo "changed" > $@ | 93 | |
| 94 | |||
| 95 | misc_convert = ${RUN_EMACS} -l titdic-cnv -f batch-miscdic-convert -dir ${leimdir}/quail | ||
| 96 | |||
| 97 | ## CTLau.el, CTLau-b5.el. | ||
| 98 | ${leimdir}/quail/CT%.el: ${srcdir}/MISC-DIC/CT%.html | ||
| 99 | ${misc_convert} $< | ||
| 100 | |||
| 101 | ${leimdir}/quail/PY.el: ${srcdir}/MISC-DIC/pinyin.map | ||
| 102 | ${misc_convert} $< | ||
| 103 | |||
| 104 | ${leimdir}/quail/ZIRANMA.el: ${srcdir}/MISC-DIC/ziranma.cin | ||
| 105 | ${misc_convert} $< | ||
| 106 | |||
| 107 | ## Processing cangjie-table.b5 and cangjie-table.cns generates two files | ||
| 108 | ## in each case. | ||
| 109 | ${leimdir}/quail/tsang-%.el ${leimdir}/quail/quick-%.el: ${srcdir}/MISC-DIC/cangjie-table.% | ||
| 110 | ${misc_convert} $< | ||
| 111 | |||
| 130 | 112 | ||
| 131 | .PHONY: leim-list.el | 113 | .PHONY: leim-list.el |
| 132 | leim-list.el: ${leimdir}/leim-list.el | 114 | leim-list.el: ${leimdir}/leim-list.el |
| 133 | 115 | ||
| 134 | ${leimdir}/leim-list.el: ${TIT_MISC} ${srcdir}/leim-ext.el | 116 | ${leimdir}/leim-list.el: ${srcdir}/leim-ext.el ${TIT_MISC} |
| 135 | rm -f $@ | 117 | rm -f $@ |
| 136 | ${RUN_EMACS} -l international/quail \ | 118 | ${RUN_EMACS} -l international/quail \ |
| 137 | --eval "(update-leim-list-file (unmsys--file-name \"${leimdir}\"))" | 119 | --eval "(update-leim-list-file (unmsys--file-name \"${leimdir}\"))" |
| 138 | sed -n -e '/^[^;]/p' -e 's/^;\(;*\)inc /;\1 /p' < ${srcdir}/leim-ext.el >> $@ | 120 | sed -n -e '/^[^;]/p' -e 's/^;\(;*\)inc /;\1 /p' < $< >> $@ |
| 121 | |||
| 122 | |||
| 123 | ${leimdir}/ja-dic/ja-dic.el: | $(leimdir)/ja-dic | ||
| 139 | 124 | ||
| 140 | ${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L | 125 | ${leimdir}/ja-dic/ja-dic.el: $(srcdir)/SKK-DIC/SKK-JISYO.L |
| 141 | @$(MKDIR_P) $(leimdir)/ja-dic | ||
| 142 | $(RUN_EMACS) -batch -l ja-dic-cnv \ | 126 | $(RUN_EMACS) -batch -l ja-dic-cnv \ |
| 143 | -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" \ | 127 | -f batch-skkdic-convert -dir "$(leimdir)/ja-dic" "$<" |
| 144 | "$(srcdir)/SKK-DIC/SKK-JISYO.L" | 128 | |
| 145 | 129 | ||
| 146 | .PHONY: bootstrap-clean distclean maintainer-clean extraclean | 130 | .PHONY: bootstrap-clean distclean maintainer-clean extraclean |
| 147 | 131 | ||
| 148 | bootstrap-clean: | 132 | bootstrap-clean: |
| 149 | rm -f ${TIT_MISC} ${leimdir}/leim-list.el changed.tit changed.misc | 133 | rm -f ${TIT_MISC} ${leimdir}/leim-list.el |
| 150 | 134 | ||
| 151 | distclean: | 135 | distclean: |
| 152 | rm -f Makefile | 136 | rm -f Makefile |
| @@ -155,8 +139,6 @@ maintainer-clean: distclean bootstrap-clean | |||
| 155 | 139 | ||
| 156 | ## We do not delete ja-dic, even in a bootstrap, because it rarely | 140 | ## We do not delete ja-dic, even in a bootstrap, because it rarely |
| 157 | ## changes and is slow to regenerate. | 141 | ## changes and is slow to regenerate. |
| 158 | ## TODO? Could consider doing the same with TIT_MISC, though those | ||
| 159 | ## are much faster to generate. | ||
| 160 | extraclean: | 142 | extraclean: |
| 161 | rm -rf ${leimdir}/ja-dic | 143 | rm -rf ${leimdir}/ja-dic |
| 162 | 144 | ||