]> code.delx.au - gnu-emacs/blobdiff - leim/makefile.nt
Lisp_Object/int mixup.
[gnu-emacs] / leim / makefile.nt
index 3e49ce20a21dc405e5dd211ab2a79a2a497d5987..37939869f0c726186f25714922e7d5d8f05c09bb 100644 (file)
@@ -19,7 +19,7 @@
 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 # Boston, MA 02111-1307, USA.
 
-# 
+#
 # Sets up the system dependent macros.
 #
 !include ..\nt\makefile.def
@@ -36,7 +36,7 @@ dot = .
 # byte-compile Emacs Lisp files, and generate the file leim-list.el.
 BUILT_EMACS = $(dot)$(dot)\src\$(BLD)\emacs.exe
 
-buildlisppath=$(dot)$(dot)/lisp
+buildlisppath=$(MAKEDIR:\=/)/$(dot)$(dot)/lisp
 
 # How to run Emacs.
 RUN_EMACS = $(BUILT_EMACS) -batch --no-init-file --no-site-file --multibyte
@@ -47,78 +47,83 @@ SUBDIRS=quail
 
 # Files generated from TIT dictionaries for Chinese GB character set.
 TIT_GB=\
-       quail/CTLau.el          \
-       quail/CCDOSPY.el        \
-       quail/Punct.el          \
-       quail/PY.el             \
-       quail/QJ.el             \
-       quail/SW.el             \
-       quail/TONEPY.el         \
-       quail/ZIRANMA.el
+       quail/CCDOSPY.elc       \
+       quail/Punct.elc         \
+       quail/QJ.elc            \
+       quail/SW.elc            \
+       quail/TONEPY.elc
 
 # Files generated from TIT dictionaries for Chinese BIG5 character set.
 TIT_BIG5=\
-       quail/4Corner.el        \
-       quail/ARRAY30.el        \
-       quail/CTLauB.el         \
-       quail/ECDICT.el         \
-       quail/ETZY.el           \
-       quail/Punct-b5.el       \
-       quail/PY-b5.el          \
-       quail/QJ-b5.el          \
-       quail/ZOZY.el
+       quail/4Corner.elc       \
+       quail/ARRAY30.elc       \
+       quail/ECDICT.elc        \
+       quail/ETZY.elc          \
+       quail/Punct-b5.elc      \
+       quail/PY-b5.elc         \
+       quail/QJ-b5.elc         \
+       quail/ZOZY.elc
 
 CHINESE_TIT=$(TIT_GB) $(TIT_BIG5)
 
-NON_TIT_GB=$(srcdir)/quail/py-punct.el
-
-NON_TIT_BIG5=$(srcdir)/quail/quick-b5.el $(srcdir)/quail/tsang-b5.el \
-            $(srcdir)/quail/pypunct-b5.el
+NON_TIT_GB=$(srcdir)/quail/py-punct.elc
 
-NON_TIT_CNS=$(srcdir)/quail/quick-cns.el $(srcdir)/quail/tsang-cns.el
+NON_TIT_BIG5=$(srcdir)/quail/quick-b5.elc
 
-CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5) $(NON_TIT_CNS)
+CHINESE_NON_TIT=$(NON_TIT_GB) $(NON_TIT_BIG5)
 
 CHINESE_GB=$(TIT_GB) $(NON_TIT_GB)
 
-CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5) 
+CHINESE_BIG5=$(TIT_BIG5) $(NON_TIT_BIG5)
 
-CHINESE_CNS=$(NON_TIT_CNS) 
+JAPANESE=$(srcdir)/quail/japanese.elc $(srcdir)/ja-dic/ja-dic.elc
 
-JAPANESE=$(srcdir)/quail/japanese.el $(srcdir)/ja-dic/ja-dic.el
+KOREAN=        $(srcdir)/quail/hangul.elc      \
+       $(srcdir)/quail/hangul3.elc     \
+       $(srcdir)/quail/hanja.elc       \
+       $(srcdir)/quail/hanja3.elc      \
+       $(srcdir)/quail/hanja-jis.elc   \
+       $(srcdir)/quail/symbol-ksc.elc
 
-KOREAN=        $(srcdir)/quail/hangul.el       \
-       $(srcdir)/quail/hangul3.el      \
-       $(srcdir)/quail/hanja.el        \
-       $(srcdir)/quail/hanja-jis.el    \
-       $(srcdir)/quail/symbol-ksc.el
+THAI=$(srcdir)/quail/thai.elc
 
-THAI=$(srcdir)/quail/thai.el
+VIETNAMESE=$(srcdir)/quail/viqr.elc $(srcdir)/quail/vntelex.elc
 
-VIETNAMESE=$(srcdir)/quail/viqr.el
+LAO=$(srcdir)/quail/lao.elc $(srcdir)/quail/lrt.elc
 
-LAO=$(srcdir)/quail/lao.el $(srcdir)/quail/lrt.el
+INDIAN=$(srcdir)/quail/indian.elc
 
-INDIAN=$(srcdir)/quail/devanagari.el
+TIBETAN=$(srcdir)/quail/tibetan.elc
 
-TIBETAN=$(srcdir)/quail/tibetan.el
-
-LATIN=$(srcdir)/quail/latin-pre.el $(srcdir)/quail/latin-post.el
+LATIN= $(srcdir)/quail/latin-pre.elc   \
+       $(srcdir)/quail/latin-post.elc  \
+       $(srcdir)/quail/latin-alt.elc   \
+       $(srcdir)/quail/latin-ltx.elc
 
 SLAVIC= \
-       $(srcdir)/quail/czech.el \
-       $(srcdir)/quail/slovak.el
+       $(srcdir)/quail/czech.elc \
+       $(srcdir)/quail/slovak.elc
 
-GREEK=$(srcdir)/quail/greek.el
+GREEK=$(srcdir)/quail/greek.elc
 
-RUSSIAN=$(srcdir)/quail/cyrillic.el $(srcdir)/quail/cyril-jis.el
+RUSSIAN=$(srcdir)/quail/cyrillic.elc $(srcdir)/quail/cyril-jis.elc
 
 MISC= \
-       $(srcdir)/quail/ethiopic.el \
-       $(srcdir)/quail/ipa.el \
-       $(srcdir)/quail/hebrew.el
-
-CHINESE=$(CHINESE_GB) $(CHINESE_BIG5) $(CHINESE_CNS)
+       $(srcdir)/quail/ethiopic.elc \
+       $(srcdir)/quail/ipa.elc \
+       $(srcdir)/quail/hebrew.elc
+
+MISC_DIC=\
+       quail/tsang-b5.elc      \
+       quail/quick-b5.elc      \
+       quail/tsang-cns.elc     \
+       quail/quick-cns.elc     \
+       quail/PY.elc            \
+       quail/ZIRANMA.elc       \
+       quail/CTLau.elc         \
+       quail/CTLau-b5.elc
+
+CHINESE=$(CHINESE_GB) $(CHINESE_BIG5)
 EASTASIA=$(CHINESE) $(JAPANESE) $(KOREAN)
 ASIA=$(EASTASIA) $(THAI) $(VIETNAMESE) $(LAO) $(INDIAN) $(TIBETAN)
 EUROPEAN=$(LATIN) $(SLAVIC) $(GREEK) $(RUSSIAN)
@@ -127,7 +132,7 @@ WORLD=$(ASIA) $(EUROPEAN) $(MISC)
 TIT=$(CHINESE_TIT)
 NON_TIT=$(CHINESE_NON_TIT) $(JAPANESE) $(KOREAN) $(EUROPEAN) $(MISC)
 
-all: $(BUILT_EMACS) $(SUBDIRS) $(TIT) leim-list.el
+all: $(BUILT_EMACS) $(SUBDIRS) $(TIT) $(MISC_DIC) leim-list.el
 
 # To ensure that we can run Emacs.  This target is ignored (never
 # being hit) if a user changes default value of EMACS.
@@ -137,18 +142,39 @@ $(dot)$(dot)/src/emacs:
 $(SUBDIRS):
        mkdir $@
        echo stamp>stamp-subdir
-#      echo (if (fboundp 'normal-top-level-add-subdirs-to-load-path) >subdirs.el
-#      echo     (normal-top-level-add-subdirs-to-load-path)) >>subdirs.el
+
+# 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.
-$(TIT):
-       if not exist quail $(MAKE) -f makefile.nt quail
+$(TIT): $(SUBDIRS)
+       set EMACSLOADPATH=$(buildlisppath)
        $(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \
            --eval "(batch-titdic-convert t)" -dir quail $(srcdir)/CXTERM-DIC
        $(RUN_EMACS)  -l $(buildlisppath)/international/quail \
-           -f batch-byte-compile $(TIT)
+           -f batch-byte-compile $(TIT:.elc=.el)
+
+# Rule to generate quail/*.el from CXTERM-DIC/*.tit.
+$(MISC_DIC): $(SUBDIRS)
+       set EMACSLOADPATH=$(buildlisppath)
+       $(RUN_EMACS) -l $(buildlisppath)/international/titdic-cnv \
+           -f batch-miscdic-convert -dir quail $(srcdir)/MISC-DIC
+       $(RUN_EMACS)  -l $(buildlisppath)/international/quail \
+           -f batch-byte-compile $(MISC_DIC:.elc=.el)
+
+.SUFFIXES: .elc .el
+
+.el.elc:
+       set EMACSLOADPATH=$(buildlisppath)
+       $(RUN_EMACS) -f batch-byte-compile $<
 
 leim-list.el: $(SUBDIRS) $(WORLD)
+       set EMACSLOADPATH=$(buildlisppath)
        $(RUN_EMACS) -l $(buildlisppath)/international/quail \
            --eval "(update-leim-list-file \".\")"
 
@@ -158,16 +184,23 @@ install: all
        - $(DEL) $(INSTALLDIR)\same-dir.tst
        echo SameDirTest > $(INSTALLDIR)\same-dir.tst
        if not exist same-dir.tst $(CP) leim-list.el $(INSTALLDIR)
-#      if not exist same-dir.tst $(CP) subdirs.el $(INSTALLDIR)
        if not exist same-dir.tst $(CP_DIR) quail $(INSTALLDIR)\quail
        if not exist same-dir.tst $(CP_DIR) ja-dic $(INSTALLDIR)\ja-dic
        - $(DEL) $(INSTALLDIR)\same-dir.tst
 
+TIT_EL=$(TIT:.elc=.el)
+MISC_DIC_EL=$(MISC_DIC:.elc=.el)
+
 clean mostlyclean:
-       for %%f in ($(TIT:/=\)) do $(DEL) %%fc
        for %%f in ($(TIT:/=\)) do $(DEL) %%f
+       for %%f in ($(TIT_EL:/=\)) do $(DEL) %%f
+       for %%f in ($(MISC_DIC:/=\)) do $(DEL) %%f
+       for %%f in ($(MISC_DIC_EL:/=\)) do $(DEL) %%f
+       for %%f in ($(WORLD:/=\)) do $(DEL) %%f
        $(DEL) leim-list.el
 
 distclean maintainer-clean:
        if exist stamp-subdir $(DELTREE) $(SUBDIRS)
        $(DEL) stamp-subdir
+
+# arch-tag: cded53b4-4803-496b-8c05-7daff80e5b3b