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