1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# Copyright (c) 2018, Joyent, Inc.
26
27include $(SRC)/Makefile.master
28
29#
30# Common sources come from following directory:
31COMMON			= ../common/
32
33include $(SRC)/lib/iconv_modules/Makefile.iconv
34include $(SRC)/lib/iconv_modules/utf-8/Makefile.iconv
35
36CLEANFILES =    *.o *.so
37
38.NO_PARALLEL:
39
40.PARALLEL: $(DYNOBJS)
41
42all: $(DYNOBJS)
43
44install: all $(ICONV_DIR)
45	for f in $(DYNOBJS) ; do \
46		TMP=`echo $$f | $(TR) "+" "%"` ; \
47		echo installing $$TMP to $(ICONV_DIR) ; \
48		$(RM) $(ICONV_DIR)/$$TMP ; \
49		$(CP) $$f $(ICONV_DIR)/$$TMP ; \
50		$(CHMOD) 755 $(ICONV_DIR)/$$TMP ; \
51	done
52	-@echo "done."
53
54clobber: clean
55
56LDLIBS			= -lc
57
58LDFLAGS = $(DYNFLAGS) $(LDLIBS) $(CFLAG_OPT)
59
60# needs work
61SMATCH=off
62
63$(DYNOBJS)		:= CFLAGS += $(C_PICFLAGS) -D_REENTRANT \
64				-I$(COMMON) -I$(COMMON)/tbls $(CPPFLAGS)
65
66$(UCS_2_SOS)		:= CFLAGS += -DUCS_2
67$(UCS_2BE_SOS)		:= CFLAGS += -DUCS_2BE
68$(UCS_2LE_SOS)		:= CFLAGS += -DUCS_2LE
69
70$(UTF_16_SOS)		:= CFLAGS += -DUTF_16
71$(UTF_16BE_SOS)		:= CFLAGS += -DUTF_16BE
72$(UTF_16LE_SOS)		:= CFLAGS += -DUTF_16LE
73
74$(UTF_32_SOS)		:= CFLAGS += -DUTF_32
75$(UTF_32BE_SOS)		:= CFLAGS += -DUTF_32BE
76$(UTF_32LE_SOS)		:= CFLAGS += -DUTF_32LE
77
78$(UCS_4_SOS)		:= CFLAGS += -DUCS_4
79$(UCS_4BE_SOS)		:= CFLAGS += -DUCS_4BE
80$(UCS_4LE_SOS)		:= CFLAGS += -DUCS_4LE
81
82$(UTF_8_SOS)		:= CFLAGS += -DUTF_8
83
84$(US_ASCII_SOS)		:= CFLAGS += -DUS_ASCII
85$(ISO_8859_1_SOS)	:= CFLAGS += -DISO_8859_1
86$(ISO_8859_2_SOS)	:= CFLAGS += -DISO_8859_2
87$(ISO_8859_3_SOS)	:= CFLAGS += -DISO_8859_3
88$(ISO_8859_4_SOS)	:= CFLAGS += -DISO_8859_4
89$(ISO_8859_5_SOS)	:= CFLAGS += -DISO_8859_5
90$(ISO_8859_6_SOS)	:= CFLAGS += -DISO_8859_6
91$(ISO_8859_7_SOS)	:= CFLAGS += -DISO_8859_7
92$(ISO_8859_8_SOS)	:= CFLAGS += -DISO_8859_8
93$(ISO_8859_9_SOS)	:= CFLAGS += -DISO_8859_9
94$(ISO_8859_10_SOS)	:= CFLAGS += -DISO_8859_10
95$(ISO_8859_13_SOS)	:= CFLAGS += -DISO_8859_13
96$(ISO_8859_14_SOS)	:= CFLAGS += -DISO_8859_14
97$(ISO_8859_15_SOS)	:= CFLAGS += -DISO_8859_15
98$(ISO_8859_16_SOS)	:= CFLAGS += -DISO_8859_16
99$(KOI8_R)		:= CFLAGS += -DKOI8_R
100$(KOI8_U)		:= CFLAGS += -DKOI8_U
101$(PTCP154)		:= CFLAGS += -DPTCP154
102$(CP437_SOS)		:= CFLAGS += -DCP437
103$(CP720_SOS)		:= CFLAGS += -DCP720
104$(CP737_SOS)		:= CFLAGS += -DCP737
105$(CP775_SOS)		:= CFLAGS += -DCP775
106$(CP850_SOS)		:= CFLAGS += -DCP850
107$(CP852_SOS)		:= CFLAGS += -DCP852
108$(CP855_SOS)		:= CFLAGS += -DCP855
109$(CP857_SOS)		:= CFLAGS += -DCP857
110$(CP860_SOS)		:= CFLAGS += -DCP860
111$(CP861_SOS)		:= CFLAGS += -DCP861
112$(CP862_SOS)		:= CFLAGS += -DCP862
113$(CP863_SOS)		:= CFLAGS += -DCP863
114$(CP864_SOS)		:= CFLAGS += -DCP864
115$(CP865_SOS)		:= CFLAGS += -DCP865
116$(CP866_SOS)		:= CFLAGS += -DCP866
117$(CP869_SOS)		:= CFLAGS += -DCP869
118$(CP874_SOS)		:= CFLAGS += -DCP874
119$(CP1250_SOS)		:= CFLAGS += -DCP1250
120$(CP1251_SOS)		:= CFLAGS += -DCP1251
121$(CP1252_SOS)		:= CFLAGS += -DCP1252
122$(CP1253_SOS)		:= CFLAGS += -DCP1253
123$(CP1254_SOS)		:= CFLAGS += -DCP1254
124$(CP1255_SOS)		:= CFLAGS += -DCP1255
125$(CP1256_SOS)		:= CFLAGS += -DCP1256
126$(CP1257_SOS)		:= CFLAGS += -DCP1257
127$(CP1258_SOS)		:= CFLAGS += -DCP1258
128
129$(ACE_TO_UTF_8_SO)	:= CFLAGS += -DICV_ACE_TO_UTF8
130$(ACE_ALLOW_UNAS_TO_UTF_8_SO)	:= CFLAGS += -DICV_ACE_TO_UTF8 \
131						-DICV_IDN_ALLOW_UNASSIGNED
132$(UTF_8_TO_ACE_SO)	:= CFLAGS += -DICV_UTF8_TO_ACE
133$(UTF_8_TO_ACE_ALLOW_UNAS_SO)	:= CFLAGS += -DICV_UTF8_TO_ACE \
134                                               -DICV_IDN_ALLOW_UNASSIGNED
135#
136# Dependencies and actual compilations are defined at below.
137$(SB_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/sb_to_ucs.h $(COMMON)/sb_to_ucs.c
138	$(CC) $(CFLAGS) $(COMMON)/sb_to_ucs.c -c -o $@.o
139	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
140	$(POST_PROCESS_SO)
141
142$(UCS_TO_SB_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_sb.h $(COMMON)/ucs_to_sb.c
143	$(CC) $(CFLAGS) $(COMMON)/ucs_to_sb.c -c -o $@.o
144	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
145	$(POST_PROCESS_SO)
146
147$(SB_TO_UTF_8_SOS): $(COMMON)/common_defs.h $(COMMON)/sb_to_utf8.h $(COMMON)/sb_to_utf8.c
148	$(CC) $(CFLAGS) $(COMMON)/sb_to_utf8.c -c -o $@.o
149	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
150	$(POST_PROCESS_SO)
151
152$(UTF_8_TO_SB_SOS): $(COMMON)/common_defs.h $(COMMON)/utf8_to_sb.h $(COMMON)/utf8_to_sb.c
153	$(CC) $(CFLAGS) $(COMMON)/utf8_to_sb.c -c -o $@.o
154	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
155	$(POST_PROCESS_SO)
156
157$(UCS_4_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs4_to_ucs.h $(COMMON)/ucs4_to_ucs.c
158	$(CC) $(CFLAGS) $(COMMON)/ucs4_to_ucs.c -c -o $@.o
159	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
160	$(POST_PROCESS_SO)
161
162$(UCS_TO_UCS_4_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_ucs4.h $(COMMON)/ucs_to_ucs4.c
163	$(CC) $(CFLAGS) $(COMMON)/ucs_to_ucs4.c -c -o $@.o
164	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
165	$(POST_PROCESS_SO)
166
167$(UCS_4_TO_UTF_32_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs4_to_ucs.h $(COMMON)/ucs4_to_ucs.c
168	$(CC) $(CFLAGS) $(COMMON)/ucs4_to_utf32.c -c -o $@.o
169	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
170	$(POST_PROCESS_SO)
171
172$(UTF_32_TO_UCS_4_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_ucs4.h $(COMMON)/ucs_to_ucs4.c
173	$(CC) $(CFLAGS) $(COMMON)/utf32_to_ucs4.c -c -o $@.o
174	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
175	$(POST_PROCESS_SO)
176
177$(UCS_TO_UTF_8_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_utf8.h $(COMMON)/ucs_to_utf8.c
178	$(CC) $(CFLAGS) $(COMMON)/ucs_to_utf8.c -c -o $@.o
179	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
180	$(POST_PROCESS_SO)
181
182$(UTF_8_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/utf8_to_ucs.h $(COMMON)/utf8_to_ucs.c
183	$(CC) $(CFLAGS) $(COMMON)/utf8_to_ucs.c -c -o $@.o
184	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
185	$(POST_PROCESS_SO)
186
187$(UCS_TO_UTF_7_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_utf7.h $(COMMON)/ucs_to_utf7.c
188	$(CC) $(CFLAGS) $(COMMON)/ucs_to_utf7.c -c -o $@.o
189	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
190	$(POST_PROCESS_SO)
191
192$(UTF_7_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/utf7_to_ucs.h $(COMMON)/utf7_to_ucs.c
193	$(CC) $(CFLAGS) $(COMMON)/utf7_to_ucs.c -c -o $@.o
194	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
195	$(POST_PROCESS_SO)
196
197$(UTF_8_TO_UTF_EBCDIC_SO): $(COMMON)/common_defs.h $(COMMON)/utf8_to_utf_ebcdic.h $(COMMON)/utf8_to_utf_ebcdic.c
198	$(CC) $(CFLAGS) $(COMMON)/utf8_to_utf_ebcdic.c -c -o $@.o
199	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
200	$(POST_PROCESS_SO)
201
202$(UTF_EBCDIC_TO_UTF_8_SO): $(COMMON)/common_defs.h $(COMMON)/utf_ebcdic_to_utf8.h $(COMMON)/utf_ebcdic_to_utf8.c
203	$(CC) $(CFLAGS) $(COMMON)/utf_ebcdic_to_utf8.c -c -o $@.o
204	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
205	$(POST_PROCESS_SO)
206
207$(ACE_TO_UTF_8_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
208	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
209	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
210	$(POST_PROCESS_SO)
211
212$(ACE_ALLOW_UNAS_TO_UTF_8_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
213	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
214	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o
215	$(POST_PROCESS_SO)
216
217$(UTF_8_TO_ACE_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
218	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
219	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o
220	$(POST_PROCESS_SO)
221
222$(UTF_8_TO_ACE_ALLOW_UNAS_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
223	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
224	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o
225	$(POST_PROCESS_SO)
226
227$(UTF_8_TO_UTF_8_SO): $(COMMON)/common_defs.h $(COMMON)/utf8.c
228	$(CC) $(CFLAGS) $(COMMON)/utf8.c -c -o $@.o
229	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
230	$(POST_PROCESS_SO)
231