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 26include $(SRC)/Makefile.master 27 28BTS_DIR = $(ROOT)/usr/lib/iconv/geniconvtbl/binarytables 29 30# geniconvtbl loadmodule 31GENICONVTBL= /usr/bin/geniconvtbl 32# 33# Common sources come from following directory: 34COMMON = ../common/ 35GENI_SRCS = ../common/binarytables/srcs 36 37include $(SRC)/lib/iconv_modules/Makefile.iconv 38include $(SRC)/lib/iconv_modules/utf-8/Makefile.iconv 39 40CLEANFILES = *.o *.so core *.bt 41 42.NO_PARALLEL: 43 44.PARALLEL: $(DYNOBJS) $(BINARYTABLES) 45 46 47all: $(DYNOBJS) $(BINARYTABLES) 48 49install: all $(ICONV_DIR) $(BTS_DIR) $(ICONV_DIR)/alias 50 for f in $(BINARYTABLES) ; do \ 51 TMP=`echo $$f | $(TR) "+" "%"` ; \ 52 echo installing $$TMP to $(BTS_DIR) ; \ 53 $(RM) $(BTS_DIR)/$$TMP ; \ 54 $(CP) $$f $(BTS_DIR)/$$TMP ; \ 55 $(CHMOD) 444 $(BTS_DIR)/$$TMP ; \ 56 done 57 for f in $(DYNOBJS) ; do \ 58 TMP=`echo $$f | $(TR) "+" "%"` ; \ 59 echo installing $$TMP to $(ICONV_DIR) ; \ 60 $(RM) $(ICONV_DIR)/$$TMP ; \ 61 $(CP) $$f $(ICONV_DIR)/$$TMP ; \ 62 $(CHMOD) 755 $(ICONV_DIR)/$$TMP ; \ 63 done 64 -@echo "done." 65 66 67$(BTS_DIR): 68 $(INS.dir) $@ 69 70clobber: clean 71 72$(ICONV_DIR)/alias:= FILEMODE=0444 73 74LDLIBS = -lc 75 76LDFLAGS = $(DYNFLAGS) $(LDLIBS) $(CFLAG_OPT) 77 78$(DYNOBJS) := CFLAGS += $(XREGSFLAG) $(C_PICFLAGS) -D_REENTRANT \ 79 -I$(COMMON) -I$(COMMON)/tbls \ 80 -I$(ADJUNCT_PROTO)/usr/include 81 82$(UCS_2_SOS) := CFLAGS += -DUCS_2 83$(UCS_2BE_SOS) := CFLAGS += -DUCS_2BE 84$(UCS_2LE_SOS) := CFLAGS += -DUCS_2LE 85 86$(UTF_16_SOS) := CFLAGS += -DUTF_16 87$(UTF_16BE_SOS) := CFLAGS += -DUTF_16BE 88$(UTF_16LE_SOS) := CFLAGS += -DUTF_16LE 89 90$(UTF_32_SOS) := CFLAGS += -DUTF_32 91$(UTF_32BE_SOS) := CFLAGS += -DUTF_32BE 92$(UTF_32LE_SOS) := CFLAGS += -DUTF_32LE 93 94$(UCS_4_SOS) := CFLAGS += -DUCS_4 95$(UCS_4BE_SOS) := CFLAGS += -DUCS_4BE 96$(UCS_4LE_SOS) := CFLAGS += -DUCS_4LE 97 98$(UTF_8_SOS) := CFLAGS += -DUTF_8 99 100$(US_ASCII_SOS) := CFLAGS += -DUS_ASCII 101$(ISO_8859_1_SOS) := CFLAGS += -DISO_8859_1 102$(ISO_8859_2_SOS) := CFLAGS += -DISO_8859_2 103$(ISO_8859_3_SOS) := CFLAGS += -DISO_8859_3 104$(ISO_8859_4_SOS) := CFLAGS += -DISO_8859_4 105$(ISO_8859_5_SOS) := CFLAGS += -DISO_8859_5 106$(ISO_8859_6_SOS) := CFLAGS += -DISO_8859_6 107$(ISO_8859_7_SOS) := CFLAGS += -DISO_8859_7 108$(ISO_8859_8_SOS) := CFLAGS += -DISO_8859_8 109$(ISO_8859_9_SOS) := CFLAGS += -DISO_8859_9 110$(ISO_8859_10_SOS) := CFLAGS += -DISO_8859_10 111$(ISO_8859_13_SOS) := CFLAGS += -DISO_8859_13 112$(ISO_8859_14_SOS) := CFLAGS += -DISO_8859_14 113$(ISO_8859_15_SOS) := CFLAGS += -DISO_8859_15 114$(ISO_8859_16_SOS) := CFLAGS += -DISO_8859_16 115$(KOI8_R) := CFLAGS += -DKOI8_R 116$(KOI8_U) := CFLAGS += -DKOI8_U 117$(PTCP154) := CFLAGS += -DPTCP154 118$(CP437_SOS) := CFLAGS += -DCP437 119$(CP720_SOS) := CFLAGS += -DCP720 120$(CP737_SOS) := CFLAGS += -DCP737 121$(CP775_SOS) := CFLAGS += -DCP775 122$(CP850_SOS) := CFLAGS += -DCP850 123$(CP852_SOS) := CFLAGS += -DCP852 124$(CP855_SOS) := CFLAGS += -DCP855 125$(CP857_SOS) := CFLAGS += -DCP857 126$(CP860_SOS) := CFLAGS += -DCP860 127$(CP861_SOS) := CFLAGS += -DCP861 128$(CP862_SOS) := CFLAGS += -DCP862 129$(CP863_SOS) := CFLAGS += -DCP863 130$(CP864_SOS) := CFLAGS += -DCP864 131$(CP865_SOS) := CFLAGS += -DCP865 132$(CP866_SOS) := CFLAGS += -DCP866 133$(CP869_SOS) := CFLAGS += -DCP869 134$(CP874_SOS) := CFLAGS += -DCP874 135$(CP1250_SOS) := CFLAGS += -DCP1250 136$(CP1251_SOS) := CFLAGS += -DCP1251 137$(CP1252_SOS) := CFLAGS += -DCP1252 138$(CP1253_SOS) := CFLAGS += -DCP1253 139$(CP1254_SOS) := CFLAGS += -DCP1254 140$(CP1255_SOS) := CFLAGS += -DCP1255 141$(CP1256_SOS) := CFLAGS += -DCP1256 142$(CP1257_SOS) := CFLAGS += -DCP1257 143$(CP1258_SOS) := CFLAGS += -DCP1258 144 145$(ACE_TO_UTF_8_SO) := CFLAGS += -DICV_ACE_TO_UTF8 146$(ACE_ALLOW_UNAS_TO_UTF_8_SO) := CFLAGS += -DICV_ACE_TO_UTF8 \ 147 -DICV_IDN_ALLOW_UNASSIGNED 148$(UTF_8_TO_ACE_SO) := CFLAGS += -DICV_UTF8_TO_ACE 149$(UTF_8_TO_ACE_ALLOW_UNAS_SO) := CFLAGS += -DICV_UTF8_TO_ACE \ 150 -DICV_IDN_ALLOW_UNASSIGNED 151# 152# Dependencies and actual compilations are defined at below. 153$(SB_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/sb_to_ucs.h $(COMMON)/sb_to_ucs.c 154 $(CC) $(CFLAGS) $(COMMON)/sb_to_ucs.c -c -o $@.o 155 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 156 $(POST_PROCESS_SO) 157 158$(UCS_TO_SB_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_sb.h $(COMMON)/ucs_to_sb.c 159 $(CC) $(CFLAGS) $(COMMON)/ucs_to_sb.c -c -o $@.o 160 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 161 $(POST_PROCESS_SO) 162 163$(SB_TO_UTF_8_SOS): $(COMMON)/common_defs.h $(COMMON)/sb_to_utf8.h $(COMMON)/sb_to_utf8.c 164 $(CC) $(CFLAGS) $(COMMON)/sb_to_utf8.c -c -o $@.o 165 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 166 $(POST_PROCESS_SO) 167 168$(UTF_8_TO_SB_SOS): $(COMMON)/common_defs.h $(COMMON)/utf8_to_sb.h $(COMMON)/utf8_to_sb.c 169 $(CC) $(CFLAGS) $(COMMON)/utf8_to_sb.c -c -o $@.o 170 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 171 $(POST_PROCESS_SO) 172 173$(UCS_4_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs4_to_ucs.h $(COMMON)/ucs4_to_ucs.c 174 $(CC) $(CFLAGS) $(COMMON)/ucs4_to_ucs.c -c -o $@.o 175 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 176 $(POST_PROCESS_SO) 177 178$(UCS_TO_UCS_4_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_ucs4.h $(COMMON)/ucs_to_ucs4.c 179 $(CC) $(CFLAGS) $(COMMON)/ucs_to_ucs4.c -c -o $@.o 180 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 181 $(POST_PROCESS_SO) 182 183$(UCS_4_TO_UTF_32_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs4_to_ucs.h $(COMMON)/ucs4_to_ucs.c 184 $(CC) $(CFLAGS) $(COMMON)/ucs4_to_utf32.c -c -o $@.o 185 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 186 $(POST_PROCESS_SO) 187 188$(UTF_32_TO_UCS_4_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_ucs4.h $(COMMON)/ucs_to_ucs4.c 189 $(CC) $(CFLAGS) $(COMMON)/utf32_to_ucs4.c -c -o $@.o 190 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 191 $(POST_PROCESS_SO) 192 193$(UCS_TO_UTF_8_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_utf8.h $(COMMON)/ucs_to_utf8.c 194 $(CC) $(CFLAGS) $(COMMON)/ucs_to_utf8.c -c -o $@.o 195 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 196 $(POST_PROCESS_SO) 197 198$(UTF_8_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/utf8_to_ucs.h $(COMMON)/utf8_to_ucs.c 199 $(CC) $(CFLAGS) $(COMMON)/utf8_to_ucs.c -c -o $@.o 200 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 201 $(POST_PROCESS_SO) 202 203$(UCS_TO_UTF_7_SOS): $(COMMON)/common_defs.h $(COMMON)/ucs_to_utf7.h $(COMMON)/ucs_to_utf7.c 204 $(CC) $(CFLAGS) $(COMMON)/ucs_to_utf7.c -c -o $@.o 205 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 206 $(POST_PROCESS_SO) 207 208$(UTF_7_TO_UCS_SOS): $(COMMON)/common_defs.h $(COMMON)/utf7_to_ucs.h $(COMMON)/utf7_to_ucs.c 209 $(CC) $(CFLAGS) $(COMMON)/utf7_to_ucs.c -c -o $@.o 210 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 211 $(POST_PROCESS_SO) 212 213$(UTF_8_TO_UTF_EBCDIC_SO): $(COMMON)/common_defs.h $(COMMON)/utf8_to_utf_ebcdic.h $(COMMON)/utf8_to_utf_ebcdic.c 214 $(CC) $(CFLAGS) $(COMMON)/utf8_to_utf_ebcdic.c -c -o $@.o 215 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 216 $(POST_PROCESS_SO) 217 218$(UTF_EBCDIC_TO_UTF_8_SO): $(COMMON)/common_defs.h $(COMMON)/utf_ebcdic_to_utf8.h $(COMMON)/utf_ebcdic_to_utf8.c 219 $(CC) $(CFLAGS) $(COMMON)/utf_ebcdic_to_utf8.c -c -o $@.o 220 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 221 $(POST_PROCESS_SO) 222 223$(ACE_TO_UTF_8_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c 224 $(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o 225 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 226 $(POST_PROCESS_SO) 227 228$(ACE_ALLOW_UNAS_TO_UTF_8_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c 229 $(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o 230 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 231 $(POST_PROCESS_SO) 232 233$(UTF_8_TO_ACE_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c 234 $(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o 235 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 236 $(POST_PROCESS_SO) 237 238$(UTF_8_TO_ACE_ALLOW_UNAS_SO): $(COMMON)/ace.h $(COMMON)/ace_utf8.c 239 $(CC) $(CFLAGS) $(COMMON)/ace_utf8.c -c -o $@.o 240 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 241 $(POST_PROCESS_SO) 242 243$(UTF_8_TO_UTF_8_SO): $(COMMON)/common_defs.h $(COMMON)/utf8.c 244 $(CC) $(CFLAGS) $(COMMON)/utf8.c -c -o $@.o 245 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $@.o 246 $(POST_PROCESS_SO) 247 248 249# 250# Rules for binary tables: 251.SUFFIXES: $(SUFFIXES) .src 252.SUFFIXES: $(SUFFIXES) .bt 253 254%.bt: $(GENI_SRCS)/%.src 255 $(GENICONVTBL) -o $@ -f $< 256