Include libcharset into both the Timber and Halibut checkouts.
[sgt/charset] / Makefile
CommitLineData
c6d25d8d 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# This Makefile fragment will then define rules for building each
32# object file, and will in turn define $(LIBCHARSET_OBJS) to be
33# what you need to add to your link line.
34
35$(LIBCHARSET_GENPFX)all: \
36 $(LIBCHARSET_OBJDIR)libcharset.a \
37 $(LIBCHARSET_OBJDIR)convcs
38
39$(LIBCHARSET_OBJDIR)convcs: $(LIBCHARSET_OBJDIR)libcharset.a
40 $(CC) $(CFLAGS) -o $(LIBCHARSET_OBJDIR)convcs \
41 $(LIBCHARSET_SRCDIR)test.c \
42 $(LIBCHARSET_OBJDIR)libcharset.a
43
44LIBCHARSET_OBJS = \
45 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5enc.o \
46 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5set.o \
47 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cp949.o \
48 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)euc.o \
49 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)fromucs.o \
50 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)gb2312.o \
51 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)hz.o \
52 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022s.o \
53 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)istate.o \
54 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0208.o \
55 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0212.o \
56 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)ksx1001.o \
57 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)localenc.o \
58 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)macenc.o \
59 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)mimeenc.o \
60 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcs.o \
61 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcsdat.o \
62 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)shiftjis.o \
63 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)slookup.o \
64 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)superset.o \
65 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)toucs.o \
66 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf16.o \
67 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf7.o \
68 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf8.o \
69 $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)xenc.o \
70 # end of list
71
72$(LIBCHARSET_OBJDIR)libcharset.a: $(LIBCHARSET_OBJS)
73 ar rcs $@ $(LIBCHARSET_OBJS)
74
75$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5enc.o: \
76 $(LIBCHARSET_SRCDIR)big5enc.c
77 $(CC) $(CFLAGS) -c -o $@ $<
78
79$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)big5set.o: \
80 $(LIBCHARSET_SRCDIR)big5set.c
81 $(CC) $(CFLAGS) -c -o $@ $<
82
83$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)cp949.o: \
84 $(LIBCHARSET_SRCDIR)cp949.c
85 $(CC) $(CFLAGS) -c -o $@ $<
86
87$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)euc.o: \
88 $(LIBCHARSET_SRCDIR)euc.c
89 $(CC) $(CFLAGS) -c -o $@ $<
90
91$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)fromucs.o: \
92 $(LIBCHARSET_SRCDIR)fromucs.c
93 $(CC) $(CFLAGS) -c -o $@ $<
94
95$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)gb2312.o: \
96 $(LIBCHARSET_SRCDIR)gb2312.c
97 $(CC) $(CFLAGS) -c -o $@ $<
98
99$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)hz.o: \
100 $(LIBCHARSET_SRCDIR)hz.c
101 $(CC) $(CFLAGS) -c -o $@ $<
102
103$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)iso2022s.o: \
104 $(LIBCHARSET_SRCDIR)iso2022s.c
105 $(CC) $(CFLAGS) -c -o $@ $<
106
107$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)istate.o: \
108 $(LIBCHARSET_SRCDIR)istate.c
109 $(CC) $(CFLAGS) -c -o $@ $<
110
111$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0208.o: \
112 $(LIBCHARSET_SRCDIR)jisx0208.c
113 $(CC) $(CFLAGS) -c -o $@ $<
114
115$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)jisx0212.o: \
116 $(LIBCHARSET_SRCDIR)jisx0212.c
117 $(CC) $(CFLAGS) -c -o $@ $<
118
119$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)ksx1001.o: \
120 $(LIBCHARSET_SRCDIR)ksx1001.c
121 $(CC) $(CFLAGS) -c -o $@ $<
122
123$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)localenc.o: \
124 $(LIBCHARSET_SRCDIR)localenc.c
125 $(CC) $(CFLAGS) -c -o $@ $<
126
127$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)macenc.o: \
128 $(LIBCHARSET_SRCDIR)macenc.c
129 $(CC) $(CFLAGS) -c -o $@ $<
130
131$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)mimeenc.o: \
132 $(LIBCHARSET_SRCDIR)mimeenc.c
133 $(CC) $(CFLAGS) -c -o $@ $<
134
135$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcs.o: \
136 $(LIBCHARSET_SRCDIR)sbcs.c
137 $(CC) $(CFLAGS) -c -o $@ $<
138
139$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)shiftjis.o: \
140 $(LIBCHARSET_SRCDIR)shiftjis.c
141 $(CC) $(CFLAGS) -c -o $@ $<
142
143$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)slookup.o: \
144 $(LIBCHARSET_SRCDIR)slookup.c
145 $(CC) $(CFLAGS) -c -o $@ $<
146
147$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)superset.o: \
148 $(LIBCHARSET_SRCDIR)superset.c
149 $(CC) $(CFLAGS) -c -o $@ $<
150
151$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)toucs.o: \
152 $(LIBCHARSET_SRCDIR)toucs.c
153 $(CC) $(CFLAGS) -c -o $@ $<
154
155$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf16.o: \
156 $(LIBCHARSET_SRCDIR)utf16.c
157 $(CC) $(CFLAGS) -c -o $@ $<
158
159$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf7.o: \
160 $(LIBCHARSET_SRCDIR)utf7.c
161 $(CC) $(CFLAGS) -c -o $@ $<
162
163$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)utf8.o: \
164 $(LIBCHARSET_SRCDIR)utf8.c
165 $(CC) $(CFLAGS) -c -o $@ $<
166
167$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)xenc.o: \
168 $(LIBCHARSET_SRCDIR)xenc.c
169 $(CC) $(CFLAGS) -c -o $@ $<
170
171# This object file is special, because its source file is itself
172# generated - and therefore goes in the object directory.
173
174$(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)sbcsdat.o: \
175 $(LIBCHARSET_OBJDIR)sbcsdat.c
176 $(CC) $(CFLAGS) -c -o $@ $<
177
178$(LIBCHARSET_OBJDIR)sbcsdat.c: \
179 $(LIBCHARSET_SRCDIR)sbcs.dat \
180 $(LIBCHARSET_SRCDIR)sbcsgen.pl
181 perl $(LIBCHARSET_SRCDIR)sbcsgen.pl \
182 $(LIBCHARSET_SRCDIR)sbcs.dat $@
183
184$(LIBCHARSET_GENPFX)clean:
185 rm -f $(LIBCHARSET_OBJDIR)$(LIBCHARSET_OBJPFX)*.o \
186 $(LIBCHARSET_OBJDIR)libcharset.a \
187 $(LIBCHARSET_OBJDIR)sbcsdat.c \
188 $(LIBCHARSET_OBJDIR)convcs