1 # 2 # Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. Sun designates this 8 # particular file as subject to the "Classpath" exception as provided 9 # by Sun in the LICENSE file that accompanied this code. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 22 # CA 95054 USA or visit www.sun.com if you need additional information or 23 # have any questions. 24 # 25 26 # 27 # Makefile for character converters. 28 # 29 30 BUILDDIR = ../.. 31 32 PACKAGE = sun.nio 33 PRODUCT = sun 34 35 # This re-directs all the class files to a separate location 36 CLASSDESTDIR = $(TEMPDIR)/classes 37 38 OTHER_JAVACFLAGS += -Xlint:serial -Werror 39 include $(BUILDDIR)/common/Defs.gmk 40 41 # 42 # Files 43 # 44 include FILES_java.gmk 45 AUTO_FILES_JAVA_DIRS = sun/nio/cs/ext 46 47 # Exclude a few sources on windows 48 ifeq ($(PLATFORM), windows) 49 AUTO_JAVA_PRUNE = sun/nio/cs/ext/COMPOUND_TEXT.java \ 50 sun/nio/cs/ext/COMPOUND_TEXT_Decoder.java \ 51 sun/nio/cs/ext/COMPOUND_TEXT_Encoder.java \ 52 sun/nio/cs/ext/CompoundTextSupport.java 53 endif # PLATFORM 54 55 # For Cygwin, command line arguments that are paths must be converted to 56 # windows style paths. These paths cannot be used as targets, however, because 57 # the ":" in them will interfere with GNU Make rules, generating "multiple 58 # target pattern" errors. 59 60 # this define is for the rule: 61 CHARSETS_JAR = $(LIBDIR)/charsets.jar 62 63 # extsbcs 64 FILES_genout_extcs = $(FILES_gen_extcs:%.java=$(GENSRCDIR)/%.java) 65 66 # 67 # Rules 68 # 69 include $(BUILDDIR)/common/Classes.gmk 70 71 build: $(FILES_genout_extcs) $(CHARSETS_JAR) 72 73 # 74 # Extra rules to build character converters. 75 76 SERVICE_DESCRIPTION = java.nio.charset.spi.CharsetProvider 77 SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION) 78 79 GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping 80 GENCSSRCDIR = $(BUILDDIR)/tools/src/build/tools/charsetmapping 81 GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext 82 83 FILES_MAP = $(GENCSDATASRC)/sjis0213.map 84 FILES_DAT = $(CLASSDESTDIR)/sun/nio/cs/ext/sjis0213.dat 85 CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar 86 87 $(FILES_DAT): $(FILES_MAP) 88 @$(prep-target) 89 $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \ 90 $(FILES_MAP) $(FILES_DAT) sjis0213 91 92 93 $(FILES_genout_extcs): $(GENCSDATASRC)/SingleByte-X.java $(GENCSDATASRC)/extsbcs 94 @$(prep-target) 95 $(RM) -r $(GENCSEXT) 96 $(MKDIR) -p $(GENCSEXT) 97 $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs 98 $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ 99 $(GENCSSRCDIR)/GenerateEUC_TW.java 100 101 $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \ 102 $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH) 103 $(install-file) 104 105 $(CHARSETS_JAR): $(FILES_class) $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH) $(FILES_DAT) 106 $(BOOT_JAR_CMD) cf $(CHARSETS_JAR) \ 107 -C $(CLASSDESTDIR) sun \ 108 -C $(CLASSDESTDIR) $(SERVICE_DESCRIPTION_PATH) \ 109 $(BOOT_JAR_JFLAGS) 110 @$(java-vm-cleanup) 111 112 clean:: 113 $(RM) -r $(CLASSDESTDIR) 114 $(RM) $(CHARSETS_JAR)