-
Notifications
You must be signed in to change notification settings - Fork 2
/
Makemore
162 lines (130 loc) · 6.02 KB
/
Makemore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# Special Makefile for `recode' tables. -*- Makefile -*-
# Copyright © 1997, 1998, 1999, 2000 Progiciels Bourbeau-Pinard inc.
# François Pinard <pinard@iro.umontreal.ca>, 1997.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
include Makefile
## Some files in the `recode' distribution are mechanically derived
## from data files while is available from the net using FTP or HTTP.
## These original files are not distributed. From the *distribution*
## standpoint, one might consider those derived files just as sources,
## forgetting there is some hidden magic behind them. But the magic
## is revealed here! :-). The distribution already contains all
## non-trivial derivation tools I made. For completeness, this
## special Makefile holds the accompanying derivation recipes.
## For activating the included recipes, it suffices to link this
## `Makemore' file as `GNUmakefile' in the `doc/' directory of your
## *build* hierarchy. You need GNU make, GNU wget, Python and Internet
## connectivity for all this to work. However, be warned that if
## external files changed, you may be hit. I am interested in hearing
## about such problems (maybe at `recode-bugs@iro.umontreal.ca'), but
## I do not want to commit myself at maintaining the derivation stuff
## at the same level as for the the remainder of `recode'.
CHSET = chset32a
LIBICONV =
MAPURL = ftp://ftp.unicode.org/MAPPINGS
MNEMONICS_DS = mnemonic,ds
ISO10646_DEF = $(CHSET)/iso10646.def
CHARSETS_DEF = $(CHSET)/charsets.def
ENCODINGS_DEF = ../libiconv/encodings.def $(wildcard ../libiconv/encodings_*.def)
MNEMONICS_DS = keld-email/iso10646.def
ISO10646_DEF = keld-email/iso10646.def
CHARSETS_DEF = keld-email/charsets.def
MNEMONICS_DS = keld-email/iso10646.def keld-email/other.def keld-email/control.def
NOMS_CARACS = noms_juc_19981216.txt
NOMS_CARACS = NomsSeulsfinal.lst
PYTHON = python
SURF = netscape
WGET = wget
# Merely add our things to standard `all' goal.
all: $(srcdir)/libiconv.texi $(srcdir)/rfc1345.texi \
$(srcdir)/fr-libiconv.texi $(srcdir)/fr-rfc1345.texi \
$(top_srcdir)/src/libiconv.h $(top_srcdir)/src/rfc1345.h \
$(top_srcdir)/src/charname.h $(top_srcdir)/src/fr-charname.h
doc-check: all
-cd $(top_srcdir)/src && diff -u charname.h{-,}
-cd $(top_srcdir)/src && diff -u fr-charname.h{-,}
-cd $(top_srcdir)/src && diff -u rfc1345.h{-,}
-cd $(top_srcdir)/src && diff -u strip-data.c{-,}
-cd $(top_srcdir)/src && diff -u strip-pool.c{-,}
-cd $(srcdir) && diff -u libiconv.texi{-,}
-cd $(srcdir) && diff -u fr-libiconv.texi{-,}
-cd $(srcdir) && diff -u rfc1345.texi{-,}
-cd $(srcdir) && diff -u fr-rfc1345.texi{-,}
# The next rules, when written, for example:
#rfc1345.texi pool.c tables.c: ...
# may launch many parallel occurrences of the action. This is bad.
# Any idea, someone? For now, just list one of them.
$(top_srcdir)/src/charname.h: tables.py $(MNEMONICS_DS) rfc1345.txt
cd $(srcdir) && $(PYTHON) tables.py -n $(MNEMONICS_DS) rfc1345.txt
mv $(srcdir)/charname.h $@
$(top_srcdir)/src/fr-charname.h: tables.py $(NOMS_CARACS)
cd $(srcdir) && $(PYTHON) tables.py -Fn $(NOMS_CARACS)
mv $(srcdir)/fr-charname.h $@
$(top_srcdir)/src/libiconv.h: tables.py $(ENCODINGS_DEF)
cd $(srcdir) && $(PYTHON) tables.py -l $(ENCODINGS_DEF)
mv $(srcdir)/libiconv.h $@
$(top_srcdir)/src/rfc1345.h: tables.py $(MNEMONICS_DS)
cd $(srcdir) && $(PYTHON) tables.py -m $(MNEMONICS_DS)
mv $(srcdir)/rfc1345.h $@
$(srcdir)/libiconv.texi: tables.py $(ENCODINGS_DEF)
cd $(srcdir) && $(PYTHON) tables.py -s $(ENCODINGS_DEF)
$(srcdir)/fr-libiconv.texi: tables.py $(ENCODINGS_DEF)
cd $(srcdir) && $(PYTHON) tables.py -Fs $(ENCODINGS_DEF)
$(srcdir)/rfc1345.texi: tables.py $(MNEMONICS_DS) $(CHARSETS_DEF)
cd $(srcdir) && $(PYTHON) tables.py -pt $(MNEMONICS_DS) $(CHARSETS_DEF)
mv $(srcdir)/strip-pool.c $(top_srcdir)/src/strip-pool.c
mv $(srcdir)/strip-data.c $(top_srcdir)/src/strip-data.c
$(srcdir)/fr-rfc1345.texi: tables.py $(MNEMONICS_DS) $(CHARSETS_DEF)
cd $(srcdir) && $(PYTHON) tables.py -Ft $(MNEMONICS_DS) $(CHARSETS_DEF)
# -----------------------------------#
# External files built into recode. #
# -----------------------------------#
$(srcdir)/$(CHARSET_DEFS): $(srcdir)/$(CHSET)
$(srcdir)/$(CHSET):
mkdir $@-tmp
$(WGET) ftp://dkuug.dk/pub/$(CHSET).tar
tar xfC $(CHSET).tar $@-tmp
rm $(CHSET).tar
mv $@-tmp $@
# Also look in `ftp://dkuug.dk/i18n/WG15-collection/charmaps/iso10646'.
$(srcdir)/mnemonic,ds:
$(WGET) ftp://dkuug.dk/i18n/WG15-collection/repertoiremaps/mnemonic,ds
test $(srcdir) = . || mv mnemonic,ds $@
$(srcdir)/rfc1345.txt:
$(WGET) ftp://nic.ddn.mil/rfc/rfc1345.txt
test $(srcdir) = . || mv rfc1345.txt $@
# -------------------------------------------------#
# Useful external files, but unbuilt into recode. #
# -------------------------------------------------#
$(srcdir)/cp1250.txt:
$(WGET) $(MAPURL)/VENDORS/MICSFT/WINDOWS/CP1250.TXT
mv CP1250.TXT $@
$(srcdir)/cp1251.txt:
$(WGET) $(MAPURL)/VENDORS/MICSFT/WINDOWS/CP1251.TXT
mv CP1251.TXT $@
$(srcdir)/cp1252.txt:
$(WGET) $(MAPURL)/VENDORS/MICSFT/WINDOWS/CP1252.TXT
mv CP1252.TXT $@
# Index at `http://www.dkuug.dk/jtc1/sc22/wg20/docs/projects.html.en'.
i18n.txt:
$(WGET) http://www.dkuug.dk/jtc1/sc22/wg20/docs/i18n.txt
i18nrep.txt:
$(WGET) http://www.dkuug.dk/jtc1/sc22/wg20/docs/i18nrep.txt
# Various files.
iso2375reg.txt:
$(WGET) ftp://dkuug.dk/i18n/iso2375reg.txt
# Online documentation.
# Index at `http://osiris.dkuug.dk/jtc1/sc2/wg3'.
character-sets:
$(SURF) http://www.ewos.be/tg-cs/gtop.htm