Commit | Line | Data |
---|---|---|
bd6766d3 | 1 | # -*- Makefile -*- for leim subdirectory in GNU Emacs on the Microsoft W32 API. |
6d344054 | 2 | # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 |
698218a2 | 3 | # Free Software Foundation, Inc. |
6d344054 GM |
4 | # Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, |
5 | # 2006, 2007 | |
698218a2 KH |
6 | # National Institute of Advanced Industrial Science and Technology (AIST) |
7 | # Registration Number H14PRO021 | |
bc4016af AI |
8 | |
9 | # This file is part of GNU Emacs. | |
10 | ||
11 | # GNU Emacs is free software; you can redistribute it and/or modify | |
12 | # it under the terms of the GNU General Public License as published by | |
d7142f3e | 13 | # the Free Software Foundation; either version 3, or (at your option) |
bc4016af AI |
14 | # any later version. |
15 | # | |
16 | # GNU Emacs is distributed in the hope that it will be useful, | |
17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 | # GNU General Public License for more details. | |
20 | # | |
21 | # You should have received a copy of the GNU General Public License | |
22 | # along with GNU Emacs; see the file COPYING. If not, write to the | |
364c38d3 LK |
23 | # Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
24 | # Boston, MA 02110-1301, USA. | |
bc4016af AI |
25 | |
26 | srcdir=. | |
27 | ||
28 | # Where to install LEIM files. | |
29 | INSTALLDIR=$(INSTALL_DIR)/leim | |
30 | ||
31 | # On Xenix and the IBM RS6000, double-dot gets screwed up. | |
32 | dot = . | |
33 | ||
34 | # Which Emacs to use to convert TIT files to Emacs Lisp files, | |
35 | # byte-compile Emacs Lisp files, and generate the file leim-list.el. | |
36 | BUILT_EMACS = $(THISDIR)/$(dot)$(dot)/src/$(BLD)/emacs.exe | |
37 | ||
38 | buildlisppath=$(CURDIR)/$(dot)$(dot)/lisp | |
39 | ||
40 | # How to run Emacs. | |
41 | RUN_EMACS = "$(BUILT_EMACS)" -batch --no-init-file --no-site-file --multibyte | |
42 | ||
9cbff816 AI |
43 | # Set EMACSLOADPATH correctly (already defined in environment). |
44 | EMACSLOADPATH=$(buildlisppath) | |
45 | ||
bc4016af AI |
46 | # Subdirectories to be made if $(srcdir) is different from the current |
47 | # directory. | |
48 | SUBDIRS=quail | |
49 | ||
50 | # Files generated from TIT dictionaries for Chinese GB character set. | |
51 | TIT_GB=\ | |
bc4016af AI |
52 | quail/CCDOSPY.elc \ |
53 | quail/Punct.elc \ | |
bc4016af AI |
54 | quail/QJ.elc \ |
55 | quail/SW.elc \ | |
4c1dadb1 | 56 | quail/TONEPY.elc |
bc4016af AI |
57 | |
58 | # Files generated from TIT dictionaries for Chinese BIG5 character set. | |
59 | TIT_BIG5=\ | |
60 | quail/4Corner.elc \ | |
61 | quail/ARRAY30.elc \ | |
bc4016af AI |
62 | quail/ECDICT.elc \ |
63 | quail/ETZY.elc \ | |
64 | quail/Punct-b5.elc \ | |
65 | quail/PY-b5.elc \ | |
66 | quail/QJ-b5.elc \ | |
67 | quail/ZOZY.elc | |
68 | ||
69 | CHINESE_TIT=$(TIT_GB) $(TIT_BIG5) | |
70 | ||
71 | NON_TIT_GB=$(srcdir)/quail/py-punct.elc | |
72 | ||
4c1dadb1 | 73 | NON_TIT_BIG5=$(srcdir)/quail/pypunct-b5.elc |
bc4016af | 74 | |
4c1dadb1 | 75 | CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5) |
bc4016af AI |
76 | |
77 | CHINESE_GB=$(TIT_GB) $(NON_TIT_GB) | |
78 | ||
177c0ea7 | 79 | CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5) |
bc4016af | 80 | |
bc4016af AI |
81 | JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc |
82 | ||
83 | KOREAN= $(srcdir)/quail/hangul.elc \ | |
84 | $(srcdir)/quail/hangul3.elc \ | |
85 | $(srcdir)/quail/hanja.elc \ | |
4c1dadb1 | 86 | $(srcdir)/quail/hanja3.elc \ |
bc4016af AI |
87 | $(srcdir)/quail/hanja-jis.elc \ |
88 | $(srcdir)/quail/symbol-ksc.elc | |
89 | ||
90 | THAI=$(srcdir)/quail/thai.elc | |
91 | ||
54679108 | 92 | VIETNAMESE=$(srcdir)/quail/viqr.elc $(srcdir)/quail/vntelex.elc |
bc4016af AI |
93 | |
94 | LAO=$(srcdir)/quail/lao.elc $(srcdir)/quail/lrt.elc | |
95 | ||
ea17b6e1 | 96 | INDIAN=$(srcdir)/quail/indian.elc |
bc4016af AI |
97 | |
98 | TIBETAN=$(srcdir)/quail/tibetan.elc | |
99 | ||
100 | LATIN= $(srcdir)/quail/latin-pre.elc \ | |
101 | $(srcdir)/quail/latin-post.elc \ | |
102 | $(srcdir)/quail/latin-alt.elc \ | |
abceb4ac JB |
103 | $(srcdir)/quail/latin-ltx.elc \ |
104 | $(srcdir)/quail/welsh.elc | |
105 | ||
106 | UNICODE=$(srcdir)/quail/sgml-input.elc \ | |
107 | $(srcdir)/quail/rfc1345.elc \ | |
108 | $(srcdir)/quail/uni-input.elc | |
bc4016af AI |
109 | |
110 | SLAVIC= \ | |
111 | $(srcdir)/quail/czech.elc \ | |
98e99f6e | 112 | $(srcdir)/quail/croatian.elc \ |
bc4016af AI |
113 | $(srcdir)/quail/slovak.elc |
114 | ||
115 | GREEK=$(srcdir)/quail/greek.elc | |
116 | ||
117 | RUSSIAN=$(srcdir)/quail/cyrillic.elc $(srcdir)/quail/cyril-jis.elc | |
118 | ||
119 | MISC= \ | |
120 | $(srcdir)/quail/ethiopic.elc \ | |
121 | $(srcdir)/quail/ipa.elc \ | |
abceb4ac | 122 | $(srcdir)/quail/hebrew.elc \ |
771ff223 JB |
123 | $(srcdir)/quail/georgian.elc \ |
124 | $(srcdir)/quail/sisheng.elc | |
bc4016af | 125 | |
4c1dadb1 AI |
126 | MISC_DIC=\ |
127 | quail/tsang-b5.elc \ | |
128 | quail/quick-b5.elc \ | |
129 | quail/tsang-cns.elc \ | |
130 | quail/quick-cns.elc \ | |
131 | quail/PY.elc \ | |
36d24e3c AI |
132 | quail/ZIRANMA.elc \ |
133 | quail/CTLau.elc \ | |
134 | quail/CTLau-b5.elc | |
4c1dadb1 AI |
135 | |
136 | CHINESE=$(CHINESE_GB) $(CHINESE_BIG5) | |
bc4016af AI |
137 | EASTASIA=$(CHINESE) $(JAPANESE) $(KOREAN) |
138 | ASIA=$(EASTASIA) $(THAI) $(VIETNAMESE) $(LAO) $(INDIAN) $(TIBETAN) | |
139 | EUROPEAN=$(LATIN) $(SLAVIC) $(GREEK) $(RUSSIAN) | |
abceb4ac | 140 | WORLD=$(ASIA) $(EUROPEAN) $(MISC) $(MISC_DIC) $(UNICODE) |
bc4016af AI |
141 | |
142 | TIT=$(CHINESE_TIT) | |
143 | NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC) | |
144 | ||
5c196f29 AI |
145 | .SUFFIXES: .elc .el |
146 | ||
147 | .el.elc: | |
148 | $(RUN_EMACS) -f batch-byte-compile $< | |
149 | ||
948b7d16 | 150 | all: $(BUILT_EMACS) $(SUBDIRS) $(WORLD) leim-list.el |
bc4016af AI |
151 | |
152 | # To ensure that we can run Emacs. This target is ignored (never | |
153 | # being hit) if a user changes default value of EMACS. | |
154 | $(dot)$(dot)/src/emacs: | |
155 | cd ../src; $(MAKE) $(MFLAGS) emacs | |
156 | ||
157 | $(SUBDIRS): | |
158 | mkdir "$@" | |
159 | echo stamp>stamp-subdir | |
160 | ||
4c1dadb1 AI |
161 | # The rules which generate $(TIT) and ${MISC_DIC) files create them all |
162 | # in one go. So we need to prevent parallel execution for that target, | |
163 | # otherwise Emacs complains about files being locked. .NOTPARALLEL is | |
164 | # for GNU Make, .NO_PARALLEL is for other Make's. | |
165 | .NOTPARALLEL: $(TIT) $(MISC_DIC) | |
166 | ||
167 | .NO_PARALLEL: $(TIT) $(MISC_DIC) | |
168 | ||
bc4016af | 169 | # Rule to generate quail/*.el from CXTERM-DIC/*.tit. |
df6d09dd EZ |
170 | # |
171 | # WARNING: Do NOT split the part inside $(ARGQUOTE)s into multiple lines as | |
172 | # this can break with GNU Make 3.81 and later if sh.exe is used. | |
5c196f29 | 173 | $(TIT): |
9cbff816 | 174 | $(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \ |
4c1dadb1 AI |
175 | --eval $(ARGQUOTE)(batch-titdic-convert t)$(ARGQUOTE) \ |
176 | -dir quail $(srcdir)/CXTERM-DIC | |
9cbff816 | 177 | $(RUN_EMACS) -l $(buildlisppath)/international/quail \ |
bc4016af AI |
178 | -f batch-byte-compile $(TIT:.elc=.el) |
179 | ||
4c1dadb1 | 180 | # Rule to generate quail/*.el from MISC_DIC/*.tit. |
5c196f29 | 181 | $(MISC_DIC): |
9cbff816 | 182 | $(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \ |
4c1dadb1 | 183 | -f batch-miscdic-convert -dir quail $(srcdir)/MISC-DIC |
9cbff816 | 184 | $(RUN_EMACS) -l $(buildlisppath)/international/quail \ |
4c1dadb1 AI |
185 | -f batch-byte-compile $(MISC_DIC:.elc=.el) |
186 | ||
df6d09dd | 187 | # |
0acba203 | 188 | # WARNING: Do NOT split the parts inside $(ARGQUOTE)s into multiple lines as |
df6d09dd | 189 | # this can break with GNU Make 3.81 and later if sh.exe is used. |
0acba203 | 190 | leim-list.el: $(SUBDIRS) $(WORLD) $(srcdir)/leim-ext.el |
9cbff816 | 191 | $(RUN_EMACS) -l $(buildlisppath)/international/quail \ |
bc4016af | 192 | --eval $(ARGQUOTE)(update-leim-list-file $(DQUOTE).$(DQUOTE))$(ARGQUOTE) |
0acba203 | 193 | $(RUN_EMACS) --eval $(ARGQUOTE)(w32-append-code-lines $(DQUOTE)$@$(DQUOTE) $(DQUOTE)$(srcdir)/leim-ext.el$(DQUOTE))$(ARGQUOTE) |
bc4016af AI |
194 | |
195 | install: all | |
196 | - mkdir "$(INSTALLDIR)" | |
197 | - $(DEL) same-dir.tst | |
198 | - $(DEL) $(INSTALL_DIR)/same-dir.tst | |
199 | echo SameDirTest > $(INSTALL_DIR)/same-dir.tst | |
200 | $(IFNOTSAMEDIR) $(CP) leim-list.el $(INSTALLDIR) $(ENDIF) | |
201 | $(IFNOTSAMEDIR) $(CP_DIR) quail $(INSTALLDIR) $(ENDIF) | |
202 | $(IFNOTSAMEDIR) $(CP_DIR) ja-dic $(INSTALLDIR) $(ENDIF) | |
203 | - $(DEL) $(INSTALL_DIR)/same-dir.tst | |
204 | ||
205 | clean mostlyclean: | |
206 | - $(FOREACH) $(TIT) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | |
4c1dadb1 | 207 | - $(FOREACH) $(MISC_DIC) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
bc4016af | 208 | - $(FOREACH) $(TIT:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
4c1dadb1 | 209 | - $(FOREACH) $(MISC_DIC:.elc=.el) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |
bc4016af AI |
210 | - $(DEL) leim-list.el |
211 | ||
385a3b9e | 212 | distclean: clean |
28082746 | 213 | - $(DELTREE) $(SUBDIRS) |
bc4016af | 214 | - $(DEL) stamp-subdir |
ab5796a9 | 215 | |
948b7d16 KH |
216 | maintainer-clean: distclean |
217 | - $(FOREACH) $(WORLD) $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) | |
385a3b9e | 218 | |
1d2646cc EZ |
219 | # We used to delete *~ here, but that might inadvertently remove |
220 | # precious files if it happens to match their short 8+3 aliases. | |
385a3b9e | 221 | extraclean: maintainer-clean |
1d2646cc | 222 | - $(FOREACH) *.el~ "#*" $(FORDO) $(DEL) $(FORVAR) $(ENDFOR) |