3 # Makefile for libcharset.
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
11 # To include this as part of another Makefile, you need to:
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.
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.
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).
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.)
31 # - If you need your compiler to use the -MD flag, define $(MD) to
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.
38 $(LIBCHARSET_GENPFX
)all: \
39 $(LIBCHARSET_OBJDIR
)libcharset.a \
40 $(LIBCHARSET_OBJDIR
)convcs \
41 $(LIBCHARSET_OBJDIR
)cstable
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
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
56 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)big5enc.o \
57 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)big5set.o \
58 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)cp949.o \
59 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)euc.o \
60 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)fromucs.o \
61 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)gb2312.o \
62 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)hz.o \
63 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)iso2022s.o \
64 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)istate.o \
65 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)jisx0208.o \
66 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)jisx0212.o \
67 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)ksx1001.o \
68 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)locale.o \
69 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)localenc.o \
70 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)macenc.o \
71 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)mimeenc.o \
72 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)sbcs.o \
73 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)sbcsdat.o \
74 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)shiftjis.o \
75 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)slookup.o \
76 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)superset.o \
77 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)toucs.o \
78 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)utf16.o \
79 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)utf7.o \
80 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)utf8.o \
81 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)xenc.o \
84 $(LIBCHARSET_OBJDIR
)libcharset.a
: $(LIBCHARSET_OBJS
)
85 ar rcs
$@
$(LIBCHARSET_OBJS
)
87 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)big5enc.o
: \
88 $(LIBCHARSET_SRCDIR
)big5enc.c
89 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
91 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)big5set.o
: \
92 $(LIBCHARSET_SRCDIR
)big5set.c
93 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
95 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)cp949.o
: \
96 $(LIBCHARSET_SRCDIR
)cp949.c
97 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
99 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)euc.o
: \
100 $(LIBCHARSET_SRCDIR
)euc.c
101 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
103 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)fromucs.o
: \
104 $(LIBCHARSET_SRCDIR
)fromucs.c
105 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
107 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)gb2312.o
: \
108 $(LIBCHARSET_SRCDIR
)gb2312.c
109 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
111 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)hz.o
: \
112 $(LIBCHARSET_SRCDIR
)hz.c
113 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
115 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)iso2022s.o
: \
116 $(LIBCHARSET_SRCDIR
)iso2022s.c \
117 $(LIBCHARSET_OBJDIR
)sbcsdat.h
118 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
120 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)istate.o
: \
121 $(LIBCHARSET_SRCDIR
)istate.c
122 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
124 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)jisx0208.o
: \
125 $(LIBCHARSET_SRCDIR
)jisx0208.c
126 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
128 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)jisx0212.o
: \
129 $(LIBCHARSET_SRCDIR
)jisx0212.c
130 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
132 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)ksx1001.o
: \
133 $(LIBCHARSET_SRCDIR
)ksx1001.c
134 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
136 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)locale.o
: \
137 $(LIBCHARSET_SRCDIR
)locale.c
138 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
140 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)localenc.o
: \
141 $(LIBCHARSET_SRCDIR
)localenc.c
142 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
144 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)macenc.o
: \
145 $(LIBCHARSET_SRCDIR
)macenc.c
146 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
148 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)mimeenc.o
: \
149 $(LIBCHARSET_SRCDIR
)mimeenc.c
150 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
152 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)sbcs.o
: \
153 $(LIBCHARSET_SRCDIR
)sbcs.c
154 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
156 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)shiftjis.o
: \
157 $(LIBCHARSET_SRCDIR
)shiftjis.c
158 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
160 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)slookup.o
: \
161 $(LIBCHARSET_SRCDIR
)slookup.c
162 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
164 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)superset.o
: \
165 $(LIBCHARSET_SRCDIR
)superset.c
166 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
168 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)toucs.o
: \
169 $(LIBCHARSET_SRCDIR
)toucs.c
170 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
172 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)utf16.o
: \
173 $(LIBCHARSET_SRCDIR
)utf16.c
174 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
176 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)utf7.o
: \
177 $(LIBCHARSET_SRCDIR
)utf7.c
178 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
180 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)utf8.o
: \
181 $(LIBCHARSET_SRCDIR
)utf8.c
182 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
184 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)xenc.o
: \
185 $(LIBCHARSET_SRCDIR
)xenc.c
186 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
188 # This object file is special, because its source file is itself
189 # generated - and therefore goes in the object directory.
191 $(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)sbcsdat.o
: \
192 $(LIBCHARSET_OBJDIR
)sbcsdat.c
193 $(CC
) $(CFLAGS
) $(MD
) -c
-o
$@
$<
195 $(LIBCHARSET_OBJDIR
)sbcsdat.c
$(LIBCHARSET_OBJDIR
)sbcsdat.h
: \
196 $(LIBCHARSET_SRCDIR
)sbcs.dat \
197 $(LIBCHARSET_SRCDIR
)sbcsgen.pl
198 perl
$(LIBCHARSET_SRCDIR
)sbcsgen.pl \
199 $(LIBCHARSET_SRCDIR
)sbcs.dat \
200 $(LIBCHARSET_OBJDIR
)sbcsdat.c \
201 $(LIBCHARSET_OBJDIR
)sbcsdat.h
203 $(LIBCHARSET_GENPFX
)clean:
204 rm -f
$(LIBCHARSET_OBJDIR
)$(LIBCHARSET_OBJPFX
)*.o \
205 $(LIBCHARSET_OBJDIR
)libcharset.a \
206 $(LIBCHARSET_OBJDIR
)sbcsdat.c \
207 $(LIBCHARSET_OBJDIR
)sbcsdat.h \
208 $(LIBCHARSET_OBJDIR
)convcs