116d86563SAlexander Pyhalov#
216d86563SAlexander Pyhalov# CDDL HEADER START
316d86563SAlexander Pyhalov#
416d86563SAlexander Pyhalov# The contents of this file are subject to the terms of the
516d86563SAlexander Pyhalov# Common Development and Distribution License (the "License").
616d86563SAlexander Pyhalov# You may not use this file except in compliance with the License.
716d86563SAlexander Pyhalov#
816d86563SAlexander Pyhalov# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
916d86563SAlexander Pyhalov# or http://www.opensolaris.org/os/licensing.
1016d86563SAlexander Pyhalov# See the License for the specific language governing permissions
1116d86563SAlexander Pyhalov# and limitations under the License.
1216d86563SAlexander Pyhalov#
1316d86563SAlexander Pyhalov# When distributing Covered Code, include this CDDL HEADER in each
1416d86563SAlexander Pyhalov# file and include the License file at src/OPENSOLARIS.LICENSE.
1516d86563SAlexander Pyhalov# If applicable, add the following below this CDDL HEADER, with the
1616d86563SAlexander Pyhalov# fields enclosed by brackets "[]" replaced with your own identifying
1716d86563SAlexander Pyhalov# information: Portions Copyright [yyyy] [name of copyright owner]
1816d86563SAlexander Pyhalov#
1916d86563SAlexander Pyhalov# CDDL HEADER END
2016d86563SAlexander Pyhalov#
2116d86563SAlexander Pyhalov#
2216d86563SAlexander Pyhalov# Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
2316d86563SAlexander Pyhalov# Use is subject to license terms.
2416d86563SAlexander Pyhalov#
2505ede3dbSJohn Levon# Copyright (c) 2018, Joyent, Inc.
2616d86563SAlexander Pyhalov
2716d86563SAlexander Pyhalovinclude $(SRC)/Makefile.master
2816d86563SAlexander Pyhalov
2916d86563SAlexander Pyhalov#
3016d86563SAlexander Pyhalov# Common sources come from following directory:
3116d86563SAlexander PyhalovCOMMON			= ../common/
3216d86563SAlexander Pyhalov
3316d86563SAlexander Pyhalovinclude $(SRC)/lib/iconv_modules/Makefile.iconv
3416d86563SAlexander Pyhalovinclude $(SRC)/lib/iconv_modules/utf-8/Makefile.iconv
3516d86563SAlexander Pyhalov
36dfe6d73fSRichard LoweCLEANFILES =    *.o *.so
3716d86563SAlexander Pyhalov
3816d86563SAlexander Pyhalov.NO_PARALLEL:
3916d86563SAlexander Pyhalov
40dfe6d73fSRichard Lowe.PARALLEL: $(DYNOBJS)
4116d86563SAlexander Pyhalov
42dfe6d73fSRichard Loweall: $(DYNOBJS)
4316d86563SAlexander Pyhalov
44dfe6d73fSRichard Loweinstall: all $(ICONV_DIR)
4516d86563SAlexander Pyhalov	for f in $(DYNOBJS) ; do \
4616d86563SAlexander Pyhalov		TMP=`echo $$f | $(TR) "+" "%"` ; \
4716d86563SAlexander Pyhalov		echo installing $$TMP to $(ICONV_DIR) ; \
4816d86563SAlexander Pyhalov		$(RM) $(ICONV_DIR)/$$TMP ; \
4916d86563SAlexander Pyhalov		$(CP) $$f $(ICONV_DIR)/$$TMP ; \
5016d86563SAlexander Pyhalov		$(CHMOD) 755 $(ICONV_DIR)/$$TMP ; \
5116d86563SAlexander Pyhalov	done
5216d86563SAlexander Pyhalov	-@echo "done."
5316d86563SAlexander Pyhalov
5416d86563SAlexander Pyhalovclobber: clean
5516d86563SAlexander Pyhalov
5616d86563SAlexander PyhalovLDLIBS			= -lc
5716d86563SAlexander Pyhalov
5816d86563SAlexander PyhalovLDFLAGS = $(DYNFLAGS) $(LDLIBS) $(CFLAG_OPT)
5916d86563SAlexander Pyhalov
6005ede3dbSJohn Levon# needs work
6105ede3dbSJohn LevonSMATCH=off
6205ede3dbSJohn Levon
63*d17be682SRichard Lowe$(DYNOBJS)		:= CFLAGS += $(C_PICFLAGS) -D_REENTRANT \
64763f1f5fSRichard Lowe				-I$(COMMON) -I$(COMMON)/tbls $(CPPFLAGS)
6516d86563SAlexander Pyhalov
6616d86563SAlexander Pyhalov$(UCS_2_SOS)		:= CFLAGS += -DUCS_2
6716d86563SAlexander Pyhalov$(UCS_2BE_SOS)		:= CFLAGS += -DUCS_2BE
6816d86563SAlexander Pyhalov$(UCS_2LE_SOS)		:= CFLAGS += -DUCS_2LE
6916d86563SAlexander Pyhalov
7016d86563SAlexander Pyhalov$(UTF_16_SOS)		:= CFLAGS += -DUTF_16
7116d86563SAlexander Pyhalov$(UTF_16BE_SOS)		:= CFLAGS += -DUTF_16BE
7216d86563SAlexander Pyhalov$(UTF_16LE_SOS)		:= CFLAGS += -DUTF_16LE
7316d86563SAlexander Pyhalov
7416d86563SAlexander Pyhalov$(UTF_32_SOS)		:= CFLAGS += -DUTF_32
7516d86563SAlexander Pyhalov$(UTF_32BE_SOS)		:= CFLAGS += -DUTF_32BE
7616d86563SAlexander Pyhalov$(UTF_32LE_SOS)		:= CFLAGS += -DUTF_32LE
7716d86563SAlexander Pyhalov
7816d86563SAlexander Pyhalov$(UCS_4_SOS)		:= CFLAGS += -DUCS_4
7916d86563SAlexander Pyhalov$(UCS_4BE_SOS)		:= CFLAGS += -DUCS_4BE
8016d86563SAlexander Pyhalov$(UCS_4LE_SOS)		:= CFLAGS += -DUCS_4LE
8116d86563SAlexander Pyhalov
8216d86563SAlexander Pyhalov$(UTF_8_SOS)		:= CFLAGS += -DUTF_8
8316d86563SAlexander Pyhalov
8416d86563SAlexander Pyhalov$(US_ASCII_SOS)		:= CFLAGS += -DUS_ASCII
8516d86563SAlexander Pyhalov$(ISO_8859_1_SOS)	:= CFLAGS += -DISO_8859_1
8616d86563SAlexander Pyhalov$(ISO_8859_2_SOS)	:= CFLAGS += -DISO_8859_2
8716d86563SAlexander Pyhalov$(ISO_8859_3_SOS)	:= CFLAGS += -DISO_8859_3
8816d86563SAlexander Pyhalov$(ISO_8859_4_SOS)	:= CFLAGS += -DISO_8859_4
8916d86563SAlexander Pyhalov$(ISO_8859_5_SOS)	:= CFLAGS += -DISO_8859_5
9016d86563SAlexander Pyhalov$(ISO_8859_6_SOS)	:= CFLAGS += -DISO_8859_6
9116d86563SAlexander Pyhalov$(ISO_8859_7_SOS)	:= CFLAGS += -DISO_8859_7
9216d86563SAlexander Pyhalov$(ISO_8859_8_SOS)	:= CFLAGS += -DISO_8859_8
9316d86563SAlexander Pyhalov$(ISO_8859_9_SOS)	:= CFLAGS += -DISO_8859_9
9416d86563SAlexander Pyhalov$(ISO_8859_10_SOS)	:= CFLAGS += -DISO_8859_10
9516d86563SAlexander Pyhalov$(ISO_8859_13_SOS)	:= CFLAGS += -DISO_8859_13
9616d86563SAlexander Pyhalov$(ISO_8859_14_SOS)	:= CFLAGS += -DISO_8859_14
9716d86563SAlexander Pyhalov$(ISO_8859_15_SOS)	:= CFLAGS += -DISO_8859_15
9816d86563SAlexander Pyhalov$(ISO_8859_16_SOS)	:= CFLAGS += -DISO_8859_16
9916d86563SAlexander Pyhalov$(KOI8_R)		:= CFLAGS += -DKOI8_R
10016d86563SAlexander Pyhalov$(KOI8_U)		:= CFLAGS += -DKOI8_U
10116d86563SAlexander Pyhalov$(PTCP154)		:= CFLAGS += -DPTCP154
10216d86563SAlexander Pyhalov$(CP437_SOS)		:= CFLAGS += -DCP437
10316d86563SAlexander Pyhalov$(CP720_SOS)		:= CFLAGS += -DCP720
10416d86563SAlexander Pyhalov$(CP737_SOS)		:= CFLAGS += -DCP737
10516d86563SAlexander Pyhalov$(CP775_SOS)		:= CFLAGS += -DCP775
10616d86563SAlexander Pyhalov$(CP850_SOS)		:= CFLAGS += -DCP850
10716d86563SAlexander Pyhalov$(CP852_SOS)		:= CFLAGS += -DCP852
10816d86563SAlexander Pyhalov$(CP855_SOS)		:= CFLAGS += -DCP855
10916d86563SAlexander Pyhalov$(CP857_SOS)		:= CFLAGS += -DCP857
11016d86563SAlexander Pyhalov$(CP860_SOS)		:= CFLAGS += -DCP860
11116d86563SAlexander Pyhalov$(CP861_SOS)		:= CFLAGS += -DCP861
11216d86563SAlexander Pyhalov$(CP862_SOS)		:= CFLAGS += -DCP862
11316d86563SAlexander Pyhalov$(CP863_SOS)		:= CFLAGS += -DCP863
11416d86563SAlexander Pyhalov$(CP864_SOS)		:= CFLAGS += -DCP864
11516d86563SAlexander Pyhalov$(CP865_SOS)		:= CFLAGS += -DCP865
11616d86563SAlexander Pyhalov$(CP866_SOS)		:= CFLAGS += -DCP866
11716d86563SAlexander Pyhalov$(CP869_SOS)		:= CFLAGS += -DCP869
11816d86563SAlexander Pyhalov$(CP874_SOS)		:= CFLAGS += -DCP874
11916d86563SAlexander Pyhalov$(CP1250_SOS)		:= CFLAGS += -DCP1250
12016d86563SAlexander Pyhalov$(CP1251_SOS)		:= CFLAGS += -DCP1251
12116d86563SAlexander Pyhalov$(CP1252_SOS)		:= CFLAGS += -DCP1252
12216d86563SAlexander Pyhalov$(CP1253_SOS)		:= CFLAGS += -DCP1253
12316d86563SAlexander Pyhalov$(CP1254_SOS)		:= CFLAGS += -DCP1254
12416d86563SAlexander Pyhalov$(CP1255_SOS)		:= CFLAGS += -DCP1255
12516d86563SAlexander Pyhalov$(CP1256_SOS)		:= CFLAGS += -DCP1256
12616d86563SAlexander Pyhalov$(CP1257_SOS)		:= CFLAGS += -DCP1257
12716d86563SAlexander Pyhalov$(CP1258_SOS)		:= CFLAGS += -DCP1258
12816d86563SAlexander Pyhalov
12916d86563SAlexander Pyhalov$(ACE_TO_UTF_8_SO)	:= CFLAGS += -DICV_ACE_TO_UTF8
13016d86563SAlexander Pyhalov$(ACE_ALLOW_UNAS_TO_UTF_8_SO)	:= CFLAGS += -DICV_ACE_TO_UTF8 \
13116d86563SAlexander Pyhalov						-DICV_IDN_ALLOW_UNASSIGNED
13216d86563SAlexander Pyhalov$(UTF_8_TO_ACE_SO)	:= CFLAGS += -DICV_UTF8_TO_ACE
13316d86563SAlexander Pyhalov$(UTF_8_TO_ACE_ALLOW_UNAS_SO)	:= CFLAGS += -DICV_UTF8_TO_ACE \
13416d86563SAlexander Pyhalov                                               -DICV_IDN_ALLOW_UNASSIGNED
13516d86563SAlexander Pyhalov#
13616d86563SAlexander Pyhalov# Dependencies and actual compilations are defined at below.
13716d86563SAlexander Pyhalov$(SB_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/sb_to_ucs.h $(COMMON)/sb_to_ucs.c
13816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/sb_to_ucs.c -c -o $@.o
13916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
14016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
14116d86563SAlexander Pyhalov
14216d86563SAlexander Pyhalov$(UCS_TO_SB_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_sb.h $(COMMON)/ucs_to_sb.c
14316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ucs_to_sb.c -c -o $@.o
14416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
14516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
14616d86563SAlexander Pyhalov
14716d86563SAlexander Pyhalov$(SB_TO_UTF_8_SOS): $(COMMON)/common_defs.h $(COMMON)/sb_to_utf8.h $(COMMON)/sb_to_utf8.c
14816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/sb_to_utf8.c -c -o $@.o
14916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
15016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
15116d86563SAlexander Pyhalov
15216d86563SAlexander Pyhalov$(UTF_8_TO_SB_SOS): $(COMMON)/common_defs.h $(COMMON)/utf8_to_sb.h $(COMMON)/utf8_to_sb.c
15316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf8_to_sb.c -c -o $@.o
15416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
15516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
15616d86563SAlexander Pyhalov
15716d86563SAlexander Pyhalov$(UCS_4_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs4_to_ucs.h $(COMMON)/ucs4_to_ucs.c
15816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ucs4_to_ucs.c -c -o $@.o
15916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
16016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
16116d86563SAlexander Pyhalov
16216d86563SAlexander Pyhalov$(UCS_TO_UCS_4_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_ucs4.h $(COMMON)/ucs_to_ucs4.c
16316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ucs_to_ucs4.c -c -o $@.o
16416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
16516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
16616d86563SAlexander Pyhalov
16716d86563SAlexander Pyhalov$(UCS_4_TO_UTF_32_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs4_to_ucs.h $(COMMON)/ucs4_to_ucs.c
16816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ucs4_to_utf32.c -c -o $@.o
16916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
17016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
17116d86563SAlexander Pyhalov
17216d86563SAlexander Pyhalov$(UTF_32_TO_UCS_4_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_ucs4.h $(COMMON)/ucs_to_ucs4.c
17316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf32_to_ucs4.c -c -o $@.o
17416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
17516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
17616d86563SAlexander Pyhalov
17716d86563SAlexander Pyhalov$(UCS_TO_UTF_8_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_utf8.h $(COMMON)/ucs_to_utf8.c
17816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ucs_to_utf8.c -c -o $@.o
17916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
18016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
18116d86563SAlexander Pyhalov
18216d86563SAlexander Pyhalov$(UTF_8_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/utf8_to_ucs.h $(COMMON)/utf8_to_ucs.c
18316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf8_to_ucs.c -c -o $@.o
18416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
18516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
18616d86563SAlexander Pyhalov
18716d86563SAlexander Pyhalov$(UCS_TO_UTF_7_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_utf7.h $(COMMON)/ucs_to_utf7.c
18816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ucs_to_utf7.c -c -o $@.o
18916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
19016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
19116d86563SAlexander Pyhalov
19216d86563SAlexander Pyhalov$(UTF_7_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/utf7_to_ucs.h $(COMMON)/utf7_to_ucs.c
19316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf7_to_ucs.c -c -o $@.o
19416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
19516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
19616d86563SAlexander Pyhalov
19716d86563SAlexander Pyhalov$(UTF_8_TO_UTF_EBCDIC_SO): $(COMMON)/common_defs.h $(COMMON)/utf8_to_utf_ebcdic.h $(COMMON)/utf8_to_utf_ebcdic.c
19816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf8_to_utf_ebcdic.c -c -o $@.o
19916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
20016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
20116d86563SAlexander Pyhalov
20216d86563SAlexander Pyhalov$(UTF_EBCDIC_TO_UTF_8_SO): $(COMMON)/common_defs.h $(COMMON)/utf_ebcdic_to_utf8.h $(COMMON)/utf_ebcdic_to_utf8.c
20316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf_ebcdic_to_utf8.c -c -o $@.o
20416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
20516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
20616d86563SAlexander Pyhalov
20716d86563SAlexander Pyhalov$(ACE_TO_UTF_8_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
20816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
20916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
21016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
21116d86563SAlexander Pyhalov
21216d86563SAlexander Pyhalov$(ACE_ALLOW_UNAS_TO_UTF_8_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
21316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
21416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o
21516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
21616d86563SAlexander Pyhalov
21716d86563SAlexander Pyhalov$(UTF_8_TO_ACE_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
21816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
21916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o
22016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
22116d86563SAlexander Pyhalov
22216d86563SAlexander Pyhalov$(UTF_8_TO_ACE_ALLOW_UNAS_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c
22316d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o
22416d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o
22516d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
22616d86563SAlexander Pyhalov
22716d86563SAlexander Pyhalov$(UTF_8_TO_UTF_8_SO): $(COMMON)/common_defs.h $(COMMON)/utf8.c
22816d86563SAlexander Pyhalov	$(CC) $(CFLAGS) $(COMMON)/utf8.c -c -o $@.o
22916d86563SAlexander Pyhalov	$(CC) $(LDFLAGS) $(CFLAGS)  -o  $@ $@.o
23016d86563SAlexander Pyhalov	$(POST_PROCESS_SO)
231