Add rule to compile emacsenc.c. Noticed by David Leonard.
[sgt/charset] / Makefile
1 # -*- make -*-
2 #
3 # Makefile for libcharset.
4
5 # This Makefile should be sufficient to build libcharset and its
6 # demo application all on its own. However, it's also a valid
7 # Makefile _fragment_ which can be linked in to another program
8 # Makefile to allow libcharset to be built directly into its
9 # binary.
10
11 # To include this as part of another Makefile, you need to:
12 #
13 # - Define $(LIBCHARSET_SRCDIR) to be a directory prefix (i.e.
14 # probably ending in a slash) which allows access to the
15 # libcharset source files.
16 #
17 # - Define $(LIBCHARSET_OBJDIR) to be a directory prefix (i.e.
18 # probably ending in a slash) which allows access to the
19 # directory where the libcharset object files need to be put.
20 #
21 # - Define $(LIBCHARSET_OBJPFX) to be a filename prefix to be
22 # applied to the libcharset object files (in case, for example,
23 # the file names clash with those of the main application, and
24 # you need to call them cs-*.o to resolve the clash).
25 #
26 # - Define $(LIBCHARSET_GENPFX) to be a prefix to be added to
27 # targets such as `all' and `clean'. (Mostly the point of this
28 # is to get those targets out of the way for the Makefile
29 # fragment including us.)
30 #
31 # - If you need your compiler to use the -MD flag, define $(MD) to
32 # be `-MD'.
33 #
34 # This Makefile fragment will then define rules for building each
35 # object file, and will in turn define $(LIBCHARSET_OBJS) to be
36 # what you need to add to your link line.
37
38 $(LIBCHARSET_GENPFX)all: \
39 $(LIBCHARSET_OBJDIR)libcharset.a \
40 $(LIBCHARSET_OBJDIR)convcs \
41 $(LIBCHARSET_OBJDIR)cstable
42
43 $(LIBCHARSET_OBJDIR)convcs: $(LIBCHARSET_SRCDIR)test.c \
44 $(LIBCHARSET_OBJDIR)libcharset.a
45 $(CC) $(CFLAGS) -o $(LIBCHARSET_OBJDIR)convcs \
46 $(LIBCHARSET_SRCDIR)test.c \
47 $(LIBCHARSET_OBJDIR)libcharset.a
48
49 $(LIBCHARSET_OBJDIR)cstable: $(LIBCHARSET_SRCDIR)cstable.c \
50 $(LIBCHARSET_OBJDIR)libcharset.a
51 $(CC) $(CFLAGS) -o $(LIBCHARSET_OBJDIR)cstable \
52 $(LIBCHARSET_SRCDIR)cstable.c \
53 $(LIBCHARSET_OBJDIR)libcharset.a
54
55 LIBCHARSET_OBJS = \
56 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5enc.o \
57 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5set.o \
58 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cns11643.o \
59 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cp949.o \
60 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)emacsenc.o \
61 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)euc.o \
62 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)fromucs.o \
63 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)gb2312.o \
64 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)hz.o \
65 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022.o \
66 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022s.o \
67 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)istate.o \
68 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0208.o \
69 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0212.o \
70 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)ksx1001.o \
71 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)locale.o \
72 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)localenc.o \
73 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)macenc.o \
74 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)mimeenc.o \
75 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcs.o \
76 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcsdat.o \
77 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)shiftjis.o \
78 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)slookup.o \
79 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)superset.o \
80 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)toucs.o \
81 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf16.o \
82 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf7.o \
83 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf8.o \
84 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)xenc.o \
85 # end of list
86
87 $(LIBCHARSET_OBJDIR)libcharset.a: $(LIBCHARSET_OBJS)
88 ar rcs $@ $(LIBCHARSET_OBJS)
89
90 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5enc.o: \
91 $(LIBCHARSET_SRCDIR)big5enc.c
92 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
93
94 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5set.o: \
95 $(LIBCHARSET_SRCDIR)big5set.c
96 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
97
98 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cns11643.o: \
99 $(LIBCHARSET_SRCDIR)cns11643.c
100 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
101
102 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cp949.o: \
103 $(LIBCHARSET_SRCDIR)cp949.c
104 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
105
106 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)emacsenc.o: \
107 $(LIBCHARSET_SRCDIR)emacsenc.c
108 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
109
110 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)euc.o: \
111 $(LIBCHARSET_SRCDIR)euc.c
112 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
113
114 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)fromucs.o: \
115 $(LIBCHARSET_SRCDIR)fromucs.c
116 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
117
118 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)gb2312.o: \
119 $(LIBCHARSET_SRCDIR)gb2312.c
120 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
121
122 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)hz.o: \
123 $(LIBCHARSET_SRCDIR)hz.c
124 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
125
126 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022.o: \
127 $(LIBCHARSET_SRCDIR)iso2022.c \
128 $(LIBCHARSET_OBJDIR)sbcsdat.h
129 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
130
131 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022s.o: \
132 $(LIBCHARSET_SRCDIR)iso2022s.c \
133 $(LIBCHARSET_OBJDIR)sbcsdat.h
134 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
135
136 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)istate.o: \
137 $(LIBCHARSET_SRCDIR)istate.c
138 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
139
140 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0208.o: \
141 $(LIBCHARSET_SRCDIR)jisx0208.c
142 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
143
144 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0212.o: \
145 $(LIBCHARSET_SRCDIR)jisx0212.c
146 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
147
148 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)ksx1001.o: \
149 $(LIBCHARSET_SRCDIR)ksx1001.c
150 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
151
152 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)locale.o: \
153 $(LIBCHARSET_SRCDIR)locale.c
154 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
155
156 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)localenc.o: \
157 $(LIBCHARSET_SRCDIR)localenc.c
158 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
159
160 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)macenc.o: \
161 $(LIBCHARSET_SRCDIR)macenc.c
162 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
163
164 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)mimeenc.o: \
165 $(LIBCHARSET_SRCDIR)mimeenc.c
166 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
167
168 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcs.o: \
169 $(LIBCHARSET_SRCDIR)sbcs.c
170 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
171
172 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)shiftjis.o: \
173 $(LIBCHARSET_SRCDIR)shiftjis.c
174 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
175
176 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)slookup.o: \
177 $(LIBCHARSET_SRCDIR)slookup.c
178 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
179
180 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)superset.o: \
181 $(LIBCHARSET_SRCDIR)superset.c
182 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
183
184 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)toucs.o: \
185 $(LIBCHARSET_SRCDIR)toucs.c
186 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
187
188 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf16.o: \
189 $(LIBCHARSET_SRCDIR)utf16.c
190 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
191
192 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf7.o: \
193 $(LIBCHARSET_SRCDIR)utf7.c
194 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
195
196 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf8.o: \
197 $(LIBCHARSET_SRCDIR)utf8.c
198 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
199
200 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)xenc.o: \
201 $(LIBCHARSET_SRCDIR)xenc.c
202 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
203
204 # This object file is special, because its source file is itself
205 # generated - and therefore goes in the object directory.
206
207 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcsdat.o: \
208 $(LIBCHARSET_OBJDIR)sbcsdat.c
209 $(CC) $(CFLAGS) $(MD) -c -o $@ $<
210
211 $(LIBCHARSET_OBJDIR)sbcsdat.c $(LIBCHARSET_OBJDIR)sbcsdat.h: \
212 $(LIBCHARSET_SRCDIR)sbcs.dat \
213 $(LIBCHARSET_SRCDIR)sbcsgen.pl
214 perl $(LIBCHARSET_SRCDIR)sbcsgen.pl \
215 $(LIBCHARSET_SRCDIR)sbcs.dat \
216 $(LIBCHARSET_OBJDIR)sbcsdat.c \
217 $(LIBCHARSET_OBJDIR)sbcsdat.h
218
219 $(LIBCHARSET_GENPFX)clean:
220 rm -f $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)*.o \
221 $(LIBCHARSET_OBJDIR)libcharset.a \
222 $(LIBCHARSET_OBJDIR)sbcsdat.c \
223 $(LIBCHARSET_OBJDIR)sbcsdat.h \
224 $(LIBCHARSET_OBJDIR)convcs