xref: /illumos-gate/usr/src/lib/iconv_modules/utf-8/Makefile (revision dfe6d73f5cf5922a7dfdafeac8df9775afb2d992)
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 2006 Sun Microsystems, Inc.  All rights reserved.
2316d86563SAlexander Pyhalov# Use is subject to license terms.
2416d86563SAlexander Pyhalov#
2516d86563SAlexander Pyhalov
2616d86563SAlexander Pyhalovinclude $(SRC)/Makefile.master
2716d86563SAlexander Pyhalov
2816d86563SAlexander PyhalovSUBDIRS =       $(MACH)
2916d86563SAlexander Pyhalov$(BUILD64)SUBDIRS += $(MACH64)
3016d86563SAlexander Pyhalov
31*dfe6d73fSRichard LoweCODESETS	= IBM-037 \
32*dfe6d73fSRichard Lowe		  IBM-273 IBM-277 IBM-278 IBM-280 IBM-284 IBM-285 IBM-297 \
33*dfe6d73fSRichard Lowe		  IBM-420 IBM-424 IBM-500 \
34*dfe6d73fSRichard Lowe		  IBM-850 IBM-852 IBM-855 IBM-856 IBM-857 IBM-862 IBM-864 \
35*dfe6d73fSRichard Lowe		  IBM-866 IBM-869 \
36*dfe6d73fSRichard Lowe		  IBM-870 IBM-871 IBM-875 \
37*dfe6d73fSRichard Lowe		  IBM-921 IBM-922 IBM-1025 IBM-1026 IBM-1112 \
38*dfe6d73fSRichard Lowe		  IBM-1122 \
39*dfe6d73fSRichard Lowe		  IBM-1140 IBM-1141 IBM-1142 IBM-1143 IBM-1144 IBM-1145 \
40*dfe6d73fSRichard Lowe		  IBM-1146 IBM-1147 IBM-1148 IBM-1149
41*dfe6d73fSRichard Lowe
42*dfe6d73fSRichard LoweINPUTFILES1	= $(CODESETS:%=%+UTF-8.src)
43*dfe6d73fSRichard LoweINPUTFILES2	= $(CODESETS:%=UTF-8+%.src)
44*dfe6d73fSRichard LoweINPUTFILES	= $(INPUTFILES1) $(INPUTFILES2)
45*dfe6d73fSRichard LoweBINARYTABLES	= $(INPUTFILES:%.src=%.bt)
46*dfe6d73fSRichard LoweGENICONVTBL	= /usr/bin/geniconvtbl
47*dfe6d73fSRichard LoweGENI_SRCS	= common/binarytables/srcs
48*dfe6d73fSRichard LoweICONV_DIR	= $(ROOT)/usr/lib/iconv
49*dfe6d73fSRichard LoweBTS_DIR		= $(ICONV_DIR)/geniconvtbl/binarytables
50*dfe6d73fSRichard Lowe
51*dfe6d73fSRichard Lowe
5216d86563SAlexander Pyhalovall :=          TARGET = all
5316d86563SAlexander Pyhalovclean :=        TARGET = clean
5416d86563SAlexander Pyhalovclobber :=      TARGET = clobber
5516d86563SAlexander Pyhalovinstall :=      TARGET = install
5616d86563SAlexander Pyhalovlint :=         TARGET = lint
5716d86563SAlexander Pyhalovecho :=         TARGET = echo
5816d86563SAlexander Pyhalov
59*dfe6d73fSRichard Lowe$(ICONV_DIR)/alias:=	FILEMODE=0444
60*dfe6d73fSRichard Lowe
6116d86563SAlexander Pyhalov.KEEP_STATE:
6216d86563SAlexander Pyhalov
63*dfe6d73fSRichard Lowe$(BTS_DIR):
64*dfe6d73fSRichard Lowe	$(INS.dir)
65*dfe6d73fSRichard Lowe
66*dfe6d73fSRichard Lowe%.bt: $(GENI_SRCS)/%.src
67*dfe6d73fSRichard Lowe	$(GENICONVTBL) -o $@ -f $<
68*dfe6d73fSRichard Lowe
69*dfe6d73fSRichard Lowe$(ICONV_DIR)/%: %
70*dfe6d73fSRichard Lowe	$(INS.file)
71*dfe6d73fSRichard Lowe
72*dfe6d73fSRichard Loweall: $(BINARYTABLES)
73*dfe6d73fSRichard Lowe
74*dfe6d73fSRichard Lowe# There is no way to escape the make(1S) interpretation of '%' as a wildcard,
75*dfe6d73fSRichard Lowe# as such we can't install these files using traditional make rules, given
76*dfe6d73fSRichard Lowe# they contain a % which, while it would match a literal '%' and work
77*dfe6d73fSRichard Lowe# somewhat, would also match anything else.
78*dfe6d73fSRichard Lowe#
79*dfe6d73fSRichard Lowe# We have to, rather unfortunately, loop.
80*dfe6d73fSRichard Loweinstall: all $(BINARYTABLES) $(BTS_DIR) $(ICONV_DIR)/alias
81*dfe6d73fSRichard Lowe	for f in  $(BINARYTABLES) ; do \
82*dfe6d73fSRichard Lowe		fp=`echo $$f | $(TR) "+" "%"` ; \
83*dfe6d73fSRichard Lowe		echo "installing $$f as $(BTS_DIR)/$$fp ..." ; \
84*dfe6d73fSRichard Lowe		$(RM) $(BTS_DIR)/$$fp ; \
85*dfe6d73fSRichard Lowe		$(CP) $$f $(BTS_DIR)/$$fp ; \
86*dfe6d73fSRichard Lowe		$(CHMOD) 0444 $(BTS_DIR)/$$fp; \
87*dfe6d73fSRichard Lowe	done
88*dfe6d73fSRichard Lowe
89*dfe6d73fSRichard Loweclean:
90*dfe6d73fSRichard Lowe	$(RM) $(BINARYTABLES)
91*dfe6d73fSRichard Lowe
9216d86563SAlexander Pyhalovall clean clobber install lint echo: $(SUBDIRS)
9316d86563SAlexander Pyhalov
94*dfe6d73fSRichard Lowe.PARALLEL: $(SUBDIRS)
95*dfe6d73fSRichard Lowe
9616d86563SAlexander Pyhalov$(SUBDIRS): FRC
9716d86563SAlexander Pyhalov	@cd $@; pwd; $(MAKE) $(TARGET)
9816d86563SAlexander Pyhalov
9916d86563SAlexander PyhalovFRC:
100