Edward M. Reingold <reingold@emr.cs.iit.edu>
[emacs.git] / leim / makefile.nt
blob4785f31ca34aa627263094b268235592e461437a
1 # Makefile for leim subdirectory in GNU Emacs on the Microsoft W32 API.
2 # Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
3 # Licensed to the Free Software Foundation.
5 # This file is part of GNU Emacs.
7 # GNU Emacs is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2, or (at your option)
10 # any later version.
12 # GNU Emacs is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Emacs; see the file COPYING.  If not, write to the
19 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 # Boston, MA 02111-1307, USA.
23 # Sets up the system dependent macros.
25 !include ..\nt\makefile.def
27 srcdir=.
29 # Where to install LEIM files.
30 INSTALLDIR=$(INSTALL_DIR)\leim
32 # On Xenix and the IBM RS6000, double-dot gets screwed up.
33 dot = .
35 # Which Emacs to use to convert TIT files to Emacs Lisp files,
36 # byte-compile Emacs Lisp files, and generate the file leim-list.el.
37 BUILT_EMACS = $(dot)$(dot)\src\$(BLD)\emacs.exe
39 buildlisppath=$(MAKEDIR:\=/)/$(dot)$(dot)/lisp
41 # How to run Emacs.
42 RUN_EMACS = $(BUILT_EMACS) -batch --no-init-file --no-site-file --multibyte
44 # Subdirectories to be made if $(srcdir) is different from the current
45 # directory.
46 SUBDIRS=quail
48 # Files generated from TIT dictionaries for Chinese GB character set.
49 TIT_GB=\
50         quail/CCDOSPY.elc       \
51         quail/Punct.elc         \
52         quail/QJ.elc            \
53         quail/SW.elc            \
54         quail/TONEPY.elc
56 # Files generated from TIT dictionaries for Chinese BIG5 character set.
57 TIT_BIG5=\
58         quail/4Corner.elc       \
59         quail/ARRAY30.elc       \
60         quail/ECDICT.elc        \
61         quail/ETZY.elc          \
62         quail/Punct-b5.elc      \
63         quail/PY-b5.elc         \
64         quail/QJ-b5.elc         \
65         quail/ZOZY.elc
67 CHINESE_TIT=$(TIT_GB) $(TIT_BIG5)
69 NON_TIT_GB=$(srcdir)/quail/py-punct.elc
71 NON_TIT_BIG5=$(srcdir)/quail/quick-b5.elc
73 CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5)
75 CHINESE_GB=$(TIT_GB) $(NON_TIT_GB)
77 CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5)
79 JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc
81 KOREAN= $(srcdir)/quail/hangul.elc      \
82         $(srcdir)/quail/hangul3.elc     \
83         $(srcdir)/quail/hanja.elc       \
84         $(srcdir)/quail/hanja3.elc      \
85         $(srcdir)/quail/hanja-jis.elc   \
86         $(srcdir)/quail/symbol-ksc.elc
88 THAI=$(srcdir)/quail/thai.elc
90 VIETNAMESE=$(srcdir)/quail/viqr.elc $(srcdir)/quail/vntelex.elc
92 LAO=$(srcdir)/quail/lao.elc $(srcdir)/quail/lrt.elc
94 INDIAN=$(srcdir)/quail/indian.elc
96 TIBETAN=$(srcdir)/quail/tibetan.elc
98 LATIN=  $(srcdir)/quail/latin-pre.elc   \
99         $(srcdir)/quail/latin-post.elc  \
100         $(srcdir)/quail/latin-alt.elc   \
101         $(srcdir)/quail/latin-ltx.elc
103 SLAVIC= \
104         $(srcdir)/quail/czech.elc \
105         $(srcdir)/quail/slovak.elc
107 GREEK=$(srcdir)/quail/greek.elc
109 RUSSIAN=$(srcdir)/quail/cyrillic.elc $(srcdir)/quail/cyril-jis.elc
111 MISC= \
112         $(srcdir)/quail/ethiopic.elc \
113         $(srcdir)/quail/ipa.elc \
114         $(srcdir)/quail/hebrew.elc
116 MISC_DIC=\
117         quail/tsang-b5.elc      \
118         quail/quick-b5.elc      \
119         quail/tsang-cns.elc     \
120         quail/quick-cns.elc     \
121         quail/PY.elc            \
122         quail/ZIRANMA.elc       \
123         quail/CTLau.elc         \
124         quail/CTLau-b5.elc
126 CHINESE=$(CHINESE_GB) $(CHINESE_BIG5)
127 EASTASIA=$(CHINESE) $(JAPANESE) $(KOREAN)
128 ASIA=$(EASTASIA) $(THAI) $(VIETNAMESE) $(LAO) $(INDIAN) $(TIBETAN)
129 EUROPEAN=$(LATIN) $(SLAVIC) $(GREEK) $(RUSSIAN)
130 WORLD=$(ASIA) $(EUROPEAN) $(MISC)
132 TIT=$(CHINESE_TIT)
133 NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC)
135 all: $(BUILT_EMACS) $(SUBDIRS) $(TIT) $(MISC_DIC) leim-list.el
137 # To ensure that we can run Emacs.  This target is ignored (never
138 # being hit) if a user changes default value of EMACS.
139 $(dot)$(dot)/src/emacs:
140         cd ../src; $(MAKE) $(MFLAGS) emacs
142 $(SUBDIRS):
143         mkdir $@
144         echo stamp>stamp-subdir
146 # The rules which generate $(TIT) and ${MISC_DIC) files create them all
147 # in one go.  So we need to prevent parallel execution for that target,
148 # otherwise Emacs complains about files being locked.  .NOTPARALLEL is
149 # for GNU Make, .NO_PARALLEL is for other Make's.
150 .NOTPARALLEL: $(TIT) $(MISC_DIC)
152 .NO_PARALLEL: $(TIT) $(MISC_DIC)
154 # Rule to generate quail/*.el from CXTERM-DIC/*.tit.
155 $(TIT): $(SUBDIRS)
156         set EMACSLOADPATH=$(buildlisppath)
157         $(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \
158             --eval "(batch-titdic-convert t)" -dir quail $(srcdir)/CXTERM-DIC
159         $(RUN_EMACS)  -l $(buildlisppath)/international/quail \
160             -f batch-byte-compile $(TIT:.elc=.el)
162 # Rule to generate quail/*.el from CXTERM-DIC/*.tit.
163 $(MISC_DIC): $(SUBDIRS)
164         set EMACSLOADPATH=$(buildlisppath)
165         $(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \
166             -f batch-miscdic-convert -dir quail $(srcdir)/MISC-DIC
167         $(RUN_EMACS)  -l $(buildlisppath)/international/quail \
168             -f batch-byte-compile $(MISC_DIC:.elc=.el)
170 .SUFFIXES: .elc .el
172 .el.elc:
173         set EMACSLOADPATH=$(buildlisppath)
174         $(RUN_EMACS) -f batch-byte-compile $<
176 leim-list.el: $(SUBDIRS) $(WORLD)
177         set EMACSLOADPATH=$(buildlisppath)
178         $(RUN_EMACS) -l $(buildlisppath)/international/quail \
179             --eval "(update-leim-list-file \".\")"
181 install: all
182         - mkdir $(INSTALLDIR)
183         - $(DEL) same-dir.tst
184         - $(DEL) $(INSTALLDIR)\same-dir.tst
185         echo SameDirTest > $(INSTALLDIR)\same-dir.tst
186         if not exist same-dir.tst $(CP) leim-list.el $(INSTALLDIR)
187         if not exist same-dir.tst $(CP_DIR) quail $(INSTALLDIR)\quail
188         if not exist same-dir.tst $(CP_DIR) ja-dic $(INSTALLDIR)\ja-dic
189         - $(DEL) $(INSTALLDIR)\same-dir.tst
191 TIT_EL=$(TIT:.elc=.el)
192 MISC_DIC_EL=$(MISC_DIC:.elc=.el)
194 clean mostlyclean:
195         for %%f in ($(TIT:/=\)) do $(DEL) %%f
196         for %%f in ($(TIT_EL:/=\)) do $(DEL) %%f
197         for %%f in ($(MISC_DIC:/=\)) do $(DEL) %%f
198         for %%f in ($(MISC_DIC_EL:/=\)) do $(DEL) %%f
199         for %%f in ($(WORLD:/=\)) do $(DEL) %%f
200         $(DEL) leim-list.el
202 distclean maintainer-clean:
203         if exist stamp-subdir $(DELTREE) $(SUBDIRS)
204         $(DEL) stamp-subdir