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 $<