]> code.delx.au - gnu-emacs/blobdiff - admin/charsets/Makefile
Merge from trunk after a lot of time.
[gnu-emacs] / admin / charsets / Makefile
index b16e7ccd7483dd3a157605d9a14f7289660aded5..e5cf2508d859ebb2fcbf68794de7fec8a2423ea5 100644 (file)
@@ -77,6 +77,7 @@ MULE =        MULE-ethiopic.map MULE-ipa.map MULE-is13194.map \
        MULE-lviscii.map MULE-uviscii.map
 
 TRANS_TABLE = cp51932.el eucjp-ms.el
+SED_SCRIPT = jisx2131-filter
 
 all: ${CHARSETS} ${TRANS_TABLE}
 
@@ -86,11 +87,11 @@ AWK = gawk
 
 VSCII.map: ${GLIBC_CHARMAPS}/TCVN5712-1.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[0-9a-f].[  ]/' GLIBC-1 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[0-9a-f].[  ]/' GLIBC-1 compact.awk > $@
 
 VSCII-2.map: ${GLIBC_CHARMAPS}/TCVN5712-1.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[2-7a-f].[  ]/' GLIBC-1 compact.awk \
+       @./mapconv $< '/^<.*[   ]\/x[2-7a-f].[  ]/' GLIBC-1 compact.awk \
          | sed 's/0x20-0x7F.*/0x00-0x7F 0x0000/' > $@
 
 ALTERNATIVNYJ.map: IBM866.map
@@ -110,45 +111,45 @@ ALTERNATIVNYJ.map: IBM866.map
             -e '/0xFA/ s/ .*/ 0x00B1/' \
             -e '/0xFB/ s/ .*/ 0x00F7/' < $< >> $@
 
-MIK.map: mapfiles/bulgarian-mik.txt.gz mapconv compact.awk
+MIK.map: mapfiles/bulgarian-mik.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '1,$$' CZYBORRA compact.awk > $@
+       @./mapconv $< '1,$$' CZYBORRA compact.awk > $@
 
-PTCP154.map: mapfiles/PTCP154.gz mapconv compact.awk
+PTCP154.map: mapfiles/PTCP154 mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^0x/' IANA compact.awk > $@
+       @./mapconv $< '/^0x/' IANA compact.awk > $@
 
-stdenc.map: mapfiles/stdenc.txt.gz mapconv compact.awk
+stdenc.map: mapfiles/stdenc.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@
+       @./mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@
 
-symbol.map: mapfiles/symbol.txt.gz mapconv compact.awk
+symbol.map: mapfiles/symbol.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@
+       @./mapconv $< '/^[0-9A-Fa-f]/' UNICODE compact.awk > $@
 
-CP720.map: mapfiles/CP720.map.gz
+CP720.map: mapfiles/CP720.map
        # Generating $@...
-       @zcat $< > $@
+       @cp $< $@
 
-CP858.map: mapfiles/CP858.map.gz
+CP858.map: mapfiles/CP858.map
        # Generating $@...
-       @zcat $< > $@
+       @cp $< $@
 
 CP949-2BYTE.map: ${GLIBC_CHARMAPS}/CP949.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
 
 GB2312.map: ${GLIBC_CHARMAPS}/GB2312.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
 
 GBK.map: ${GLIBC_CHARMAPS}/GBK.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
 
 GB180302.map: ${GLIBC_CHARMAPS}/GB18030.gz mapconv gb180302.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x..\/x..[    ]/' GLIBC-2 gb180302.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x..\/x..[    ]/' GLIBC-2 gb180302.awk > $@
 
 GB180304.map: GB180302.map gb180304.awk
        # Generating $@...
@@ -156,35 +157,39 @@ GB180304.map: GB180302.map gb180304.awk
 
 JISX0201.map: ${GLIBC_CHARMAPS}/JIS_X0201.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[0-9]/' GLIBC-1 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[0-9]/' GLIBC-1 compact.awk > $@
        @echo "# Generated by hand" >> $@
        @echo "0xA1-0xDF 0xFF61" >> $@
 
 JISX0208.map: ${GLIBC_CHARMAPS}/EUC-JP.gz mapconv
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[a-f]/' GLIBC-2-7 \
+       @./mapconv $< '/^<.*[   ]\/x[a-f]/' GLIBC-2-7 \
          | sed 's/0x2015/0x2014/' > $@
 
 JISX0212.map: ${GLIBC_CHARMAPS}/EUC-JP.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x8f/ s,/x8f,,' GLIBC-2-7 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x8f/ s,/x8f,,' GLIBC-2-7 compact.awk > $@
 
-JISX2131.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv
+jisx2131-filter: mapfiles/JISX213A.map
+       @sed -n -e '/^#/d' -e 's,.*0x\([0-9A-Z]*\)$$,/0x0*\1$$/d,p' < $< > $@
+
+JISX2131.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv jisx2131-filter
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[a-f]/' GLIBC-2-7 \
+       @./mapconv $< '/^<.*[   ]\/x[a-f]/' GLIBC-2-7 \
+         | sed -f jisx2131-filter \
          | sed -e 's/0x2015/0x2014/' -e 's/0x2299/0x29BF/' > $@
 
 JISX2132.map: ${GLIBC_CHARMAPS}/EUC-JISX0213.gz mapconv
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x8f/ s,/x8f,,' GLIBC-2-7 > $@
+       @./mapconv $< '/^<.*[   ]\/x8f/ s,/x8f,,' GLIBC-2-7 > $@
 
-JISX213A.map: mapfiles/JISX213A.map.gz
+JISX213A.map: mapfiles/JISX213A.map
        # Generating $@
-       @zcat $< > $@
+       @cp $<  $@
 
-CP932-2BYTE.map: mapfiles/CP932.TXT.gz mapconv cp932.awk
+CP932-2BYTE.map: mapfiles/CP932.TXT mapconv cp932.awk
        # Generating $@...
-       @mapconv $< '/^0x[89A-F][0-9A-F][0-9A-F]/' UNICODE2 cp932.awk > $@
+       @./mapconv $< '/^0x[89A-F][0-9A-F][0-9A-F]/' UNICODE2 cp932.awk > $@
 
 cp51932.el: CP932-2BYTE.map cp51932.awk
        @$(AWK) -f cp51932.awk < CP932-2BYTE.map > $@
@@ -192,17 +197,27 @@ cp51932.el: CP932-2BYTE.map cp51932.awk
 eucjp-ms.el: ${GLIBC_CHARMAPS}/EUC-JP-MS.gz eucjp-ms.awk
        @zcat $< | $(AWK) -f eucjp-ms.awk > $@
 
-JISC6226.map : mapfiles/Uni2JIS.gz mapconv kuten.awk
+JISC6226.map: mapfiles/Uni2JIS mapconv kuten.awk
        # Generating $@...
-       @mapconv $< '/^[^#].*0-/' YASUOKA kuten.awk > $@
+# As Uni2JIS doesn't contain mappings of characters added to Unicode
+# recently, we add them manually here (including one correction for
+# U+005C vs U+FF3C).  These changes are based on bogytech's blog at
+# http://bogytech.blogspot.jp/search/label/emacs.
+       @./mapconv $< '/^[^#].*0-/' YASUOKA kuten.awk \
+         | sed -e '/0x2140/s/005C/FF3C/' \
+               -e '$$ a 0x3442 0x3D4E' \
+               -e '$$ a 0x374E 0x25874' \
+               -e '$$ a 0x3764 0x28EF6' \
+               -e '$$ a 0x513D 0x2F80F' \
+               -e '$$ a 0x7045 0x9724' > $@
 
 KSC5601.map: ${GLIBC_CHARMAPS}/EUC-KR.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
 
 BIG5.map: ${GLIBC_CHARMAPS}/BIG5.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[a-f]/' GLIBC-2 > $@
+       @./mapconv $< '/^<.*[   ]\/x[a-f]/' GLIBC-2 > $@
 
 BIG5-1.map: BIG5.map mapconv big5.awk
        # Generating $@...
@@ -216,52 +231,52 @@ BIG5-2.map: BIG5.map mapconv big5.awk
 
 BIG5-HKSCS.map: ${GLIBC_CHARMAPS}/BIG5-HKSCS.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[89a-f].\//' GLIBC-2 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[89a-f].\//' GLIBC-2 compact.awk > $@
 
 JOHAB.map: ${GLIBC_CHARMAPS}/JOHAB.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[89a-f]/' GLIBC-2 compact.awk > $@
 
 CNS-1.map: ${GLIBC_CHARMAPS}/EUC-TW.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x[a-f]/' GLIBC-2-7 compact.awk > $@
 
 # CNS-1.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
 #      # Generating $@...
-#      @mapconv $< '/^C1/' KANJI-DATABASE compact.awk > $@
+#      @./mapconv $< '/^C1/' KANJI-DATABASE compact.awk > $@
 
-CNS-2.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk
+CNS-2.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^C2/' KANJI-DATABASE compact.awk > $@
+       @./mapconv $< '/^C2/' KANJI-DATABASE compact.awk > $@
 
-CNS-3.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk
+CNS-3.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^C3/' KANJI-DATABASE compact.awk > $@
+       @./mapconv $< '/^C3/' KANJI-DATABASE compact.awk > $@
 
-CNS-4.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk
+CNS-4.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^C4/' KANJI-DATABASE compact.awk > $@
+       @./mapconv $< '/^C4/' KANJI-DATABASE compact.awk > $@
 
-CNS-5.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk
+CNS-5.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^C5/' KANJI-DATABASE compact.awk > $@
+       @./mapconv $< '/^C5/' KANJI-DATABASE compact.awk > $@
 
-CNS-6.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk
+CNS-6.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^C6/' KANJI-DATABASE compact.awk > $@
+       @./mapconv $< '/^C6/' KANJI-DATABASE compact.awk > $@
 
-CNS-7.map: mapfiles/cns2ucsdkw.txt.gz mapconv compact.awk
+CNS-7.map: mapfiles/cns2ucsdkw.txt mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^C7/' KANJI-DATABASE compact.awk > $@
+       @./mapconv $< '/^C7/' KANJI-DATABASE compact.awk > $@
 
 CNS-F.map: ${GLIBC_CHARMAPS}/EUC-TW.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*\/x8e\/xaf/ s,/x8e/xaf,,' GLIBC-2-7 compact.awk > $@
+       @./mapconv $< '/^<.*\/x8e\/xaf/ s,/x8e/xaf,,' GLIBC-2-7 compact.awk > $@
 
 # General target to produce map files for mule charsets.
-MULE-%.map: mapfiles/MULE-%.map.gz
+MULE-%.map: mapfiles/MULE-%.map
        # Generating $@...
-       @zcat $< > $@
+       @cp $< $@
 
 # General target to produce map files for ISO-8859, GEORGIAN, and
 # EBCDIC charsets.  We can not use the original file name because of
@@ -269,21 +284,21 @@ MULE-%.map: mapfiles/MULE-%.map.gz
 
 8859-%.map: ${GLIBC_CHARMAPS}/ISO-8859-%.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x/' GLIBC-1 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x/' GLIBC-1 compact.awk > $@
 
 KA-%.map: ${GLIBC_CHARMAPS}/GEORGIAN-%.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x/' GLIBC-1 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x/' GLIBC-1 compact.awk > $@
 
 EBCDIC%.map: ${GLIBC_CHARMAPS}/EBCDIC-%.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x/' GLIBC-1 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x/' GLIBC-1 compact.awk > $@
 
 # General target to produce map files for single-byte charsets.
 
 %.map: ${GLIBC_CHARMAPS}/%.gz mapconv compact.awk
        # Generating $@...
-       @mapconv $< '/^<.*[     ]\/x/' GLIBC-1 compact.awk > $@
+       @./mapconv $< '/^<.*[   ]\/x/' GLIBC-1 compact.awk > $@
 
 install:
        @for f in ${CHARSETS}; do \
@@ -305,5 +320,5 @@ install:
 
 # Clear files that are automatically generated.
 clean:
-       rm -f ${CHARSETS} ${TRANS_TABLE}
+       rm -f ${CHARSETS} ${TRANS_TABLE} ${SED_SCRIPT}