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# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 22# Use is subject to license terms. 23# 24 25SRCDIR= . 26 27# Real modules without .so suffix 28MODULES_all= 29MODULES_base_source= \ 30 UTF-8_TO_ISO-2022-JP ISO-2022-JP_TO_UTF-8 \ 31 UTF-8_TO_ISO-2022-JP.RFC1468 \ 32 UTF-8-Java_TO_eucJP eucJP_TO_UTF-8-Java \ 33 UTF-8-Java_TO_PCK PCK_TO_UTF-8-Java \ 34 UTF-8_TO_UTF-8-ms932 UTF-8-ms932_TO_UTF-8 \ 35 eucJP_TO_PCK PCK_TO_eucJP \ 36 eucJP_TO_ISO-2022-JP ISO-2022-JP_TO_eucJP \ 37 eucJP_TO_ISO-2022-JP.RFC1468 \ 38 eucJP_TO_jis jis_TO_eucJP \ 39 PCK_TO_ISO-2022-JP ISO-2022-JP_TO_PCK \ 40 PCK_TO_ISO-2022-JP.RFC1468 \ 41 PCK_TO_jis jis_TO_PCK \ 42 $(MODULES_uni) 43 44MODULES_uni= \ 45 $(MODULES_uni_locale) \ 46 $(MODULES_uni_ms) \ 47 $(MODULES_uni_x0213) 48 49MODULES_uni_locale= \ 50 eucJP_TO_UTF-8 \ 51 eucJP_TO_UTF-16 \ 52 eucJP_TO_UTF-16BE \ 53 eucJP_TO_UTF-16LE \ 54 eucJP_TO_UCS-2 \ 55 eucJP_TO_UCS-2BE \ 56 eucJP_TO_UCS-2LE \ 57 eucJP_TO_UTF-32 \ 58 eucJP_TO_UTF-32BE \ 59 eucJP_TO_UTF-32LE \ 60 UTF-8_TO_eucJP \ 61 UTF-16_TO_eucJP \ 62 UTF-16BE_TO_eucJP \ 63 UTF-16LE_TO_eucJP \ 64 UCS-2_TO_eucJP \ 65 UCS-2BE_TO_eucJP \ 66 UCS-2LE_TO_eucJP \ 67 UTF-32_TO_eucJP \ 68 UTF-32BE_TO_eucJP \ 69 UTF-32LE_TO_eucJP \ 70 PCK_TO_UTF-8 \ 71 PCK_TO_UTF-16 \ 72 PCK_TO_UTF-16BE \ 73 PCK_TO_UTF-16LE \ 74 PCK_TO_UCS-2 \ 75 PCK_TO_UCS-2BE \ 76 PCK_TO_UCS-2LE \ 77 PCK_TO_UTF-32 \ 78 PCK_TO_UTF-32BE \ 79 PCK_TO_UTF-32LE \ 80 UTF-8_TO_PCK \ 81 UTF-16_TO_PCK \ 82 UTF-16BE_TO_PCK \ 83 UTF-16LE_TO_PCK \ 84 UCS-2_TO_PCK \ 85 UCS-2BE_TO_PCK \ 86 UCS-2LE_TO_PCK \ 87 UTF-32_TO_PCK \ 88 UTF-32BE_TO_PCK \ 89 UTF-32LE_TO_PCK 90 91MODULES_uni_ms= \ 92 eucJP-ms_TO_UTF-8 \ 93 eucJP-ms_TO_UTF-16 \ 94 eucJP-ms_TO_UTF-16BE \ 95 eucJP-ms_TO_UTF-16LE \ 96 eucJP-ms_TO_UCS-2 \ 97 eucJP-ms_TO_UCS-2BE \ 98 eucJP-ms_TO_UCS-2LE \ 99 eucJP-ms_TO_UTF-32 \ 100 eucJP-ms_TO_UTF-32BE \ 101 eucJP-ms_TO_UTF-32LE \ 102 UTF-8_TO_eucJP-ms \ 103 UTF-16_TO_eucJP-ms \ 104 UTF-16BE_TO_eucJP-ms \ 105 UTF-16LE_TO_eucJP-ms \ 106 UCS-2_TO_eucJP-ms \ 107 UCS-2BE_TO_eucJP-ms \ 108 UCS-2LE_TO_eucJP-ms \ 109 UTF-32_TO_eucJP-ms \ 110 UTF-32BE_TO_eucJP-ms \ 111 UTF-32LE_TO_eucJP-ms \ 112 ms932_TO_UTF-8 \ 113 ms932_TO_UTF-16 \ 114 ms932_TO_UTF-16BE \ 115 ms932_TO_UTF-16LE \ 116 ms932_TO_UCS-2 \ 117 ms932_TO_UCS-2BE \ 118 ms932_TO_UCS-2LE \ 119 ms932_TO_UTF-32 \ 120 ms932_TO_UTF-32BE \ 121 ms932_TO_UTF-32LE \ 122 UTF-8_TO_ms932 \ 123 UTF-16_TO_ms932 \ 124 UTF-16BE_TO_ms932 \ 125 UTF-16LE_TO_ms932 \ 126 UCS-2_TO_ms932 \ 127 UCS-2BE_TO_ms932 \ 128 UCS-2LE_TO_ms932 \ 129 UTF-32_TO_ms932 \ 130 UTF-32BE_TO_ms932 \ 131 UTF-32LE_TO_ms932 132 133MODULES_uni_x0213= \ 134 EUC-JIS-2004_TO_UTF-8 \ 135 EUC-JIS-2004_TO_UTF-16 \ 136 EUC-JIS-2004_TO_UTF-16BE \ 137 EUC-JIS-2004_TO_UTF-16LE \ 138 EUC-JIS-2004_TO_UCS-2 \ 139 EUC-JIS-2004_TO_UCS-2BE \ 140 EUC-JIS-2004_TO_UCS-2LE \ 141 EUC-JIS-2004_TO_UTF-32 \ 142 EUC-JIS-2004_TO_UTF-32BE \ 143 EUC-JIS-2004_TO_UTF-32LE \ 144 UTF-8_TO_EUC-JIS-2004 \ 145 UTF-16_TO_EUC-JIS-2004 \ 146 UTF-16BE_TO_EUC-JIS-2004 \ 147 UTF-16LE_TO_EUC-JIS-2004 \ 148 UCS-2_TO_EUC-JIS-2004 \ 149 UCS-2BE_TO_EUC-JIS-2004 \ 150 UCS-2LE_TO_EUC-JIS-2004 \ 151 UTF-32_TO_EUC-JIS-2004 \ 152 UTF-32BE_TO_EUC-JIS-2004 \ 153 UTF-32LE_TO_EUC-JIS-2004 \ 154 Shift_JIS-2004_TO_UTF-8 \ 155 Shift_JIS-2004_TO_UTF-16 \ 156 Shift_JIS-2004_TO_UTF-16BE \ 157 Shift_JIS-2004_TO_UTF-16LE \ 158 Shift_JIS-2004_TO_UCS-2 \ 159 Shift_JIS-2004_TO_UCS-2BE \ 160 Shift_JIS-2004_TO_UCS-2LE \ 161 Shift_JIS-2004_TO_UTF-32 \ 162 Shift_JIS-2004_TO_UTF-32BE \ 163 Shift_JIS-2004_TO_UTF-32LE \ 164 UTF-8_TO_Shift_JIS-2004 \ 165 UTF-16_TO_Shift_JIS-2004 \ 166 UTF-16BE_TO_Shift_JIS-2004 \ 167 UTF-16LE_TO_Shift_JIS-2004 \ 168 UCS-2_TO_Shift_JIS-2004 \ 169 UCS-2BE_TO_Shift_JIS-2004 \ 170 UCS-2LE_TO_Shift_JIS-2004 \ 171 UTF-32_TO_Shift_JIS-2004 \ 172 UTF-32BE_TO_Shift_JIS-2004 \ 173 UTF-32LE_TO_Shift_JIS-2004 \ 174 ISO-2022-JP-2004_TO_UTF-8 \ 175 ISO-2022-JP-2004_TO_UTF-16 \ 176 ISO-2022-JP-2004_TO_UTF-16BE \ 177 ISO-2022-JP-2004_TO_UTF-16LE \ 178 ISO-2022-JP-2004_TO_UCS-2 \ 179 ISO-2022-JP-2004_TO_UCS-2BE \ 180 ISO-2022-JP-2004_TO_UCS-2LE \ 181 ISO-2022-JP-2004_TO_UTF-32 \ 182 ISO-2022-JP-2004_TO_UTF-32BE \ 183 ISO-2022-JP-2004_TO_UTF-32LE \ 184 UTF-8_TO_ISO-2022-JP-2004 \ 185 UTF-16_TO_ISO-2022-JP-2004 \ 186 UTF-16BE_TO_ISO-2022-JP-2004 \ 187 UTF-16LE_TO_ISO-2022-JP-2004 \ 188 UCS-2_TO_ISO-2022-JP-2004 \ 189 UCS-2BE_TO_ISO-2022-JP-2004 \ 190 UCS-2LE_TO_ISO-2022-JP-2004 \ 191 UTF-32_TO_ISO-2022-JP-2004 \ 192 UTF-32BE_TO_ISO-2022-JP-2004 \ 193 UTF-32LE_TO_ISO-2022-JP-2004 194 195MODULES_jfp_source= 196 197MODULES32_base_source= $(MODULES_base_source) 198MODULES64_base_source= $(MODULES_base_source) 199MODULES32_jfp_source= $(MODULES_jfp_source) 200MODULES64_jfp_source= $(MODULES_jfp_source) 201MODULES= $(MODULES_all) $(MODULES32_base_source) $(MODULES32_jfp_source) 202MODULES64= $(MODULES64_base_source) $(MODULES64_jfp_source) 203 204# extra macro definitions (-D) and extra include file search paths (-I) 205 206ICONV_DEFS= 207 208eucJP_TO_UTF-8-Java.o \ 209UTF-8-Java_TO_eucJP.o \ 210PCK_TO_UTF-8-Java.o \ 211UTF-8-Java_TO_PCK.o \ 212 := ICONV_DEFS += -DJAVA_CONV_COMPAT 213 214$(MODULES_uni_ms:%=%.o) \ 215 := ICONV_DEFS += -DJFP_ICONV_MS932 216 217UTF-8_TO_ISO-2022-JP.RFC1468.o \ 218eucJP_TO_ISO-2022-JP.RFC1468.o \ 219PCK_TO_ISO-2022-JP.RFC1468.o \ 220 := ICONV_DEFS += -DRFC1468_MODE 221 222UTF-16_TO_eucJP.o \ 223UTF-16_TO_PCK.o \ 224UTF-16_TO_eucJP-ms.o \ 225UTF-16_TO_ms932.o \ 226UTF-16_TO_EUC-JIS-2004.o \ 227UTF-16_TO_Shift_JIS-2004.o \ 228UTF-16_TO_ISO-2022-JP-2004.o \ 229 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UTF16 230 231UTF-16BE_TO_eucJP.o \ 232UTF-16BE_TO_PCK.o \ 233UTF-16BE_TO_eucJP-ms.o \ 234UTF-16BE_TO_ms932.o \ 235UTF-16BE_TO_EUC-JIS-2004.o \ 236UTF-16BE_TO_Shift_JIS-2004.o \ 237UTF-16BE_TO_ISO-2022-JP-2004.o \ 238 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UTF16BE 239 240UTF-16LE_TO_eucJP.o \ 241UTF-16LE_TO_PCK.o \ 242UTF-16LE_TO_eucJP-ms.o \ 243UTF-16LE_TO_ms932.o \ 244UTF-16LE_TO_EUC-JIS-2004.o \ 245UTF-16LE_TO_Shift_JIS-2004.o \ 246UTF-16LE_TO_ISO-2022-JP-2004.o \ 247 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UTF16LE 248 249UCS-2_TO_eucJP.o \ 250UCS-2_TO_PCK.o \ 251UCS-2_TO_eucJP-ms.o \ 252UCS-2_TO_ms932.o \ 253UCS-2_TO_EUC-JIS-2004.o \ 254UCS-2_TO_Shift_JIS-2004.o \ 255UCS-2_TO_ISO-2022-JP-2004.o \ 256 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UCS2 257 258UCS-2BE_TO_eucJP.o \ 259UCS-2BE_TO_PCK.o \ 260UCS-2BE_TO_eucJP-ms.o \ 261UCS-2BE_TO_ms932.o \ 262UCS-2BE_TO_EUC-JIS-2004.o \ 263UCS-2BE_TO_Shift_JIS-2004.o \ 264UCS-2BE_TO_ISO-2022-JP-2004.o \ 265 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UCS2BE 266 267UCS-2LE_TO_eucJP.o \ 268UCS-2LE_TO_PCK.o \ 269UCS-2LE_TO_eucJP-ms.o \ 270UCS-2LE_TO_ms932.o \ 271UCS-2LE_TO_EUC-JIS-2004.o \ 272UCS-2LE_TO_Shift_JIS-2004.o \ 273UCS-2LE_TO_ISO-2022-JP-2004.o \ 274 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UCS2LE 275 276UTF-32_TO_eucJP.o \ 277UTF-32_TO_PCK.o \ 278UTF-32_TO_eucJP-ms.o \ 279UTF-32_TO_ms932.o \ 280UTF-32_TO_EUC-JIS-2004.o \ 281UTF-32_TO_Shift_JIS-2004.o \ 282UTF-32_TO_ISO-2022-JP-2004.o \ 283 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UTF32 284 285UTF-32BE_TO_eucJP.o \ 286UTF-32BE_TO_PCK.o \ 287UTF-32BE_TO_eucJP-ms.o \ 288UTF-32BE_TO_ms932.o \ 289UTF-32BE_TO_EUC-JIS-2004.o \ 290UTF-32BE_TO_Shift_JIS-2004.o \ 291UTF-32BE_TO_ISO-2022-JP-2004.o \ 292 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UTF32BE 293 294UTF-32LE_TO_eucJP.o \ 295UTF-32LE_TO_PCK.o \ 296UTF-32LE_TO_eucJP-ms.o \ 297UTF-32LE_TO_ms932.o \ 298UTF-32LE_TO_EUC-JIS-2004.o \ 299UTF-32LE_TO_Shift_JIS-2004.o \ 300UTF-32LE_TO_ISO-2022-JP-2004.o \ 301 := ICONV_DEFS += -DJFP_ICONV_FROMCODE_UTF32LE 302 303eucJP_TO_UTF-16.o \ 304PCK_TO_UTF-16.o \ 305eucJP-ms_TO_UTF-16.o \ 306ms932_TO_UTF-16.o \ 307EUC-JIS-2004_TO_UTF-16.o \ 308Shift_JIS-2004_TO_UTF-16.o \ 309ISO-2022-JP-2004_TO_UTF-16.o \ 310 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UTF16 311 312eucJP_TO_UTF-16BE.o \ 313PCK_TO_UTF-16BE.o \ 314eucJP-ms_TO_UTF-16BE.o \ 315ms932_TO_UTF-16BE.o \ 316EUC-JIS-2004_TO_UTF-16BE.o \ 317Shift_JIS-2004_TO_UTF-16BE.o \ 318ISO-2022-JP-2004_TO_UTF-16BE.o \ 319 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UTF16BE 320 321eucJP_TO_UTF-16LE.o \ 322PCK_TO_UTF-16LE.o \ 323eucJP-ms_TO_UTF-16LE.o \ 324ms932_TO_UTF-16LE.o \ 325EUC-JIS-2004_TO_UTF-16LE.o \ 326Shift_JIS-2004_TO_UTF-16LE.o \ 327ISO-2022-JP-2004_TO_UTF-16LE.o \ 328 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UTF16LE 329 330eucJP_TO_UCS-2.o \ 331PCK_TO_UCS-2.o \ 332eucJP-ms_TO_UCS-2.o \ 333ms932_TO_UCS-2.o \ 334EUC-JIS-2004_TO_UCS-2.o \ 335Shift_JIS-2004_TO_UCS-2.o \ 336ISO-2022-JP-2004_TO_UCS-2.o \ 337 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UCS2 338 339eucJP_TO_UCS-2BE.o \ 340PCK_TO_UCS-2BE.o \ 341eucJP-ms_TO_UCS-2BE.o \ 342ms932_TO_UCS-2BE.o \ 343EUC-JIS-2004_TO_UCS-2BE.o \ 344Shift_JIS-2004_TO_UCS-2BE.o \ 345ISO-2022-JP-2004_TO_UCS-2BE.o \ 346 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UCS2BE 347 348eucJP_TO_UCS-2LE.o \ 349PCK_TO_UCS-2LE.o \ 350eucJP-ms_TO_UCS-2LE.o \ 351ms932_TO_UCS-2LE.o \ 352EUC-JIS-2004_TO_UCS-2LE.o \ 353Shift_JIS-2004_TO_UCS-2LE.o \ 354ISO-2022-JP-2004_TO_UCS-2LE.o \ 355 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UCS2LE 356 357eucJP_TO_UTF-32.o \ 358PCK_TO_UTF-32.o \ 359eucJP-ms_TO_UTF-32.o \ 360ms932_TO_UTF-32.o \ 361EUC-JIS-2004_TO_UTF-32.o \ 362Shift_JIS-2004_TO_UTF-32.o \ 363ISO-2022-JP-2004_TO_UTF-32.o \ 364 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UTF32 365 366eucJP_TO_UTF-32BE.o \ 367PCK_TO_UTF-32BE.o \ 368eucJP-ms_TO_UTF-32BE.o \ 369ms932_TO_UTF-32BE.o \ 370EUC-JIS-2004_TO_UTF-32BE.o \ 371Shift_JIS-2004_TO_UTF-32BE.o \ 372ISO-2022-JP-2004_TO_UTF-32BE.o \ 373 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UTF32BE 374 375eucJP_TO_UTF-32LE.o \ 376PCK_TO_UTF-32LE.o \ 377eucJP-ms_TO_UTF-32LE.o \ 378ms932_TO_UTF-32LE.o \ 379EUC-JIS-2004_TO_UTF-32LE.o \ 380Shift_JIS-2004_TO_UTF-32LE.o \ 381ISO-2022-JP-2004_TO_UTF-32LE.o \ 382 := ICONV_DEFS += -DJFP_ICONV_TOCODE_UTF32LE 383 384DYNOBJS= $(MODULES:%=%.so) 385DYNOBJS64= $(MODULES64:%=%.so) 386OBJECTS= $(MODULES:%=%.o) 387SRCS= $(MODULES:%=%.c) 388 389LDFLAGS += $(GSHARED) 390CFLAGS += -D_REENTRANT $(ICONV_DEFS) -I. 391CFLAGS64 += -D_REENTRANT $(ICONV_DEFS) -I. 392FILEMODE = 755 393 394 395# jfp_iconv_unicode.h contains definition of static functions 396# which are used by some modules, but not all functions are used 397# by all modules 398CERRWARN += -_gcc=-Wno-unused-function 399