1 # 2 # Copyright (c) 2011, 2013, Oracle and/or its affiliates. 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. Oracle designates this 8 # particular file as subject to the "Classpath" exception as provided 9 # by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 # Cache all finds needed for this file. Only used on windows. 27 $(eval $(call FillCacheFind, $(JDK_TOPDIR)/make/tools \ 28 $(JDK_TOPDIR)/makefiles/sun)) 29 30 TOOLS_SRC := $(JDK_TOPDIR)/make/tools/src \ 31 $(JDK_TOPDIR)/makefiles/sun/awt/ \ 32 $(JDK_TOPDIR)/makefiles/sun/osxapp \ 33 $(JDK_TOPDIR)/make/tools/swing-beans 34 35 ifneq ($(OPENJDK_TARGET_OS), windows) 36 TOOLS_SRC += $(JDK_TOPDIR)/src/solaris/classes/sun/awt/X11/generator 37 endif 38 39 # The exception handling of swing beaninfo which have the own tool directory 40 ifeq (, $(BUILD_TOOLS)) 41 $(eval $(call SetupJavaCompilation,BUILD_TOOLS, \ 42 SETUP := GENERATE_OLDBYTECODE, \ 43 SRC := $(TOOLS_SRC), \ 44 BIN := $(JDK_OUTPUTDIR)/btclasses)) 45 endif 46 47 $(JDK_OUTPUTDIR)/btclasses/build/tools/generatenimbus/resources/%.template: \ 48 $(JDK_TOPDIR)/src/share/classes/javax/swing/plaf/nimbus/%.template 49 $(call install-file) 50 51 BUILD_TOOLS += $(foreach i, $(wildcard $(JDK_TOPDIR)/src/share/classes/javax/swing/plaf/nimbus/*.template), $(JDK_OUTPUTDIR)/btclasses/build/tools/generatenimbus/resources/$(notdir $i)) 52 53 # Resources used by CheckDeps tool 54 $(JDK_OUTPUTDIR)/btclasses/build/tools/deps/%: \ 55 $(JDK_TOPDIR)/make/tools/src/build/tools/deps/% 56 $(call install-file) 57 58 BUILD_TOOLS += $(JDK_OUTPUTDIR)/btclasses/build/tools/deps/refs.allowed 59 60 # Add a checksum ("jsum") to the end of a text file. Prevents trivial tampering with class lists. 61 TOOL_ADDJSUM = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 62 build.tools.addjsum.AddJsum 63 64 # The buildmetaindex tool creates a meta-index to make core class loaders lazier. 65 TOOL_BUILDMETAINDEX = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 66 build.tools.buildmetaindex.BuildMetaIndex 67 68 # The comment checker is not currently used. Should it be removed or added to javac? 69 TOOL_COMMENTCHECKER = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 70 build.tools.commentchecker.CommentChecker 71 72 TOOL_COMPILEFONTCONFIG = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 73 build.tools.compilefontconfig.CompileFontConfig 74 75 TOOL_COMPILEPROPERTIES = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 76 build.tools.compileproperties.CompileProperties 77 78 TOOL_STRIPPROPERTIES = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 79 build.tools.stripproperties.StripProperties 80 81 TOOL_JARREORDER = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 82 build.tools.jarreorder.JarReorder 83 84 TOOL_GENERATECHARACTER = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 85 build.tools.generatecharacter.GenerateCharacter 86 87 TOOL_CHARACTERNAME = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 88 build.tools.generatecharacter.CharacterName 89 90 TOOL_DIRDIFF = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 91 build.tools.dirdiff.DirDiff 92 93 TOOL_DTDBUILDER = $(JAVA) -Ddtd_home=$(JDK_TOPDIR)/make/tools/dtdbuilder/dtds \ 94 -cp $(JDK_OUTPUTDIR)/btclasses build.tools.dtdbuilder.DTDBuilder 95 96 TOOL_GENERATEBREAKITERATORDATA = $(JAVA) \ 97 -cp $(JDK_OUTPUTDIR)/btclasses \ 98 build.tools.generatebreakiteratordata.GenerateBreakIteratorData 99 100 TOOL_GENERATECURRENCYDATA = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 101 build.tools.generatecurrencydata.GenerateCurrencyData 102 103 TOOL_HASHER = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 104 build.tools.hasher.Hasher 105 106 # Jarsplit used in jdk/makefiles/common/Release.gmk 107 TOOL_JARSPLIT = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 108 build.tools.jarsplit.JarSplit 109 110 TOOL_TZDB = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 111 build.tools.tzdb.TzdbZoneRulesCompiler 112 113 114 # TODO: There are references to the jdwpgen.jar in jdk/make/netbeans/jdwpgen/build.xml 115 # and nbproject/project.properties in the same dir. Needs to be looked at. 116 TOOL_JDWPGEN = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses build.tools.jdwpgen.Main 117 118 # TODO: Lots of files in jdk/make/tools/CharsetMapping dir 119 TOOL_CHARSETMAPPING = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 120 build.tools.charsetmapping.Main 121 122 TOOL_SPP = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses build.tools.spp.Spp 123 124 # TODO: Only referenced in jdk/make/tools/sharing/README.txt. Find out what it means. 125 TOOL_MAKECLASSLIST = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 126 build.tools.makeclasslist.MakeClasslist 127 128 # Nimbus is used somewhere in the swing build. 129 TOOL_GENERATENIMBUS = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 130 build.tools.generatenimbus.Generator 131 132 TOOL_WRAPPERGENERATOR = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 133 WrapperGenerator 134 135 TOOL_AWT_TOBIN = $(JAVA) -Djava.awt.headless=true -cp $(JDK_OUTPUTDIR)/btclasses \ 136 sun.awt.ToBin 137 138 TOOL_OSX_TOBIN = $(JAVA) -Djava.awt.headless=true -cp $(JDK_OUTPUTDIR)/btclasses \ 139 sun.osxapp.ToBin 140 141 TOOL_CLDRCONVERTER = $(JAVA) -cp $(JDK_OUTPUTDIR)/btclasses \ 142 build.tools.cldrconverter.CLDRConverter 143 144 TOOL_REMOVEMETHODS = $(JAVA) -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ 145 -cp $(JDK_OUTPUTDIR)/btclasses:$(JDK_OUTPUTDIR) \ 146 build.tools.classfile.RemoveMethods 147 148 TOOL_CHECKDEPS = $(JAVA) -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \ 149 -cp $(JDK_OUTPUTDIR)/btclasses:$(JDK_OUTPUTDIR) \ 150 build.tools.deps.CheckDeps 151 152 ########################################################################################## 153 154 # Tools needed on solaris because OBJCOPY is broken. 155 156 $(eval $(call SetupNativeCompilation,ADD_GNU_DEBUGLINK, \ 157 SRC := $(JDK_TOPDIR)/make/tools/add_gnu_debuglink, \ 158 LANG := C, \ 159 CC := $(BUILD_CC), \ 160 LDEXE := $(BUILD_LD), \ 161 LDFLAGS := -lelf, \ 162 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/add_gnu_debuglink, \ 163 OUTPUT_DIR := $(JDK_OUTPUTDIR)/btbin, \ 164 PROGRAM := add_gnu_debuglink)) 165 166 $(eval $(call SetupNativeCompilation,FIX_EMPTY_SEC_HDR_FLAGS, \ 167 SRC := $(JDK_TOPDIR)/make/tools/fix_empty_sec_hdr_flags, \ 168 LANG := C, \ 169 CC := $(BUILD_CC), \ 170 LDEXE := $(BUILD_LD), \ 171 LDFLAGS := -lelf, \ 172 OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/fix_empty_sec_hdr_flags, \ 173 OUTPUT_DIR := $(JDK_OUTPUTDIR)/btbin, \ 174 PROGRAM := fix_empty_sec_hdr_flags))