1.1 --- a/make/Makefile-classic Thu May 02 13:35:55 2013 -0700 1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 1.3 @@ -1,396 +0,0 @@ 1.4 -# 1.5 -# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 1.6 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 -# 1.8 -# This code is free software; you can redistribute it and/or modify it 1.9 -# under the terms of the GNU General Public License version 2 only, as 1.10 -# published by the Free Software Foundation. Oracle designates this 1.11 -# particular file as subject to the "Classpath" exception as provided 1.12 -# by Oracle in the LICENSE file that accompanied this code. 1.13 -# 1.14 -# This code is distributed in the hope that it will be useful, but WITHOUT 1.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.16 -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.17 -# version 2 for more details (a copy is included in the LICENSE file that 1.18 -# accompanied this code). 1.19 -# 1.20 -# You should have received a copy of the GNU General Public License version 1.21 -# 2 along with this work; if not, write to the Free Software Foundation, 1.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.23 -# 1.24 -# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 1.25 -# or visit www.oracle.com if you need additional information or have any 1.26 -# questions. 1.27 -# 1.28 - 1.29 -# 1.30 -# Makefile for building the langtools workspace. 1.31 -# 1.32 - 1.33 -# 1.34 -# On Solaris, the standard 'make' utility will not work with these makefiles. 1.35 -# This little rule is only understood by Solaris make, and is harmless 1.36 -# when seen by the GNU make tool. If using Solaris make, this causes the 1.37 -# make command to fail. 1.38 -# 1.39 -SUN_MAKE_TEST:sh = @echo "ERROR: PLEASE USE GNU VERSION OF MAKE"; exit 33 1.40 - 1.41 -#----- cancel implicit rules 1.42 - 1.43 -%: %.o 1.44 -%: %.obj 1.45 -%: %.dll 1.46 -%: %.c 1.47 -%: %.cc 1.48 -%: %.C 1.49 -%: %.p 1.50 -%: %.f 1.51 -%: %.s 1.52 -%: %.F 1.53 -%: %.r 1.54 -%: %.S 1.55 -%: %.mod 1.56 -%: %.sh 1.57 -%: %,v 1.58 -%: RCS/%,v 1.59 - 1.60 -#----- imports 1.61 - 1.62 -ifdef ALT_BOOT_JAVA_HOME 1.63 - BOOT_JAVA_HOME = $(ALT_BOOT_JAVA_HOME) 1.64 -else 1.65 - ifdef ALT_BOOTDIR 1.66 - BOOT_JAVA_HOME = $(ALT_BOOTDIR) 1.67 - else 1.68 - BOOT_JAVA_HOME=/java/re/jdk/1.5.0/archive/fcs/binaries/solaris-sparc 1.69 - endif 1.70 -endif 1.71 - 1.72 -BOOT_JAVA=$(BOOT_JAVA_HOME)/bin/java 1.73 -BOOT_JAVAC=$(BOOT_JAVA_HOME)/bin/javac 1.74 -BOOTJAR=$(BOOT_JAVA_HOME)/bin/jar 1.75 - 1.76 -ifdef ALT_TESTJAVA_HOME 1.77 - TESTJAVA_HOME = $(ALT_TESTJAVA_HOME) 1.78 -else 1.79 - TESTJAVA_HOME=/java/re/jdk/1.6.0/archive/fcs/binaries/solaris-sparc 1.80 -endif 1.81 - 1.82 -TESTJAVA=$(TESTJAVA_HOME)/bin/java 1.83 - 1.84 -ifdef ALT_FINDBUGS_HOME 1.85 - FINDBUGS_HOME = $(ALT_FINDBUGS_HOME) 1.86 -else 1.87 - FINDBUGS_HOME = /java/devtools/share/findbugs/1.1.2-rc4 1.88 -endif 1.89 - 1.90 -FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs 1.91 - 1.92 -#----- commands 1.93 - 1.94 -CHMOD = chmod 1.95 -CP = cp 1.96 -ECHO = echo # FIXME 1.97 -FIND = find 1.98 -MKDIR = mkdir 1.99 -SED = sed 1.100 -ZIP = zip 1.101 - 1.102 -#----- locations and deliverables 1.103 - 1.104 -TOPDIR = .. 1.105 -SRC_BIN_DIR = $(TOPDIR)/src/share/bin 1.106 -SRC_CLASSES_DIR = $(TOPDIR)/src/share/classes 1.107 - 1.108 -BUILD_DIR = $(TOPDIR)/build 1.109 - 1.110 -CLASSES_DIR = $(BUILD_DIR)/classes 1.111 -GENSRC_DIR = $(BUILD_DIR)/gensrc 1.112 - 1.113 -DIST_DIR = $(TOPDIR)/dist 1.114 -BIN_DIR = $(DIST_DIR)/bin 1.115 -LIB_DIR = $(DIST_DIR)/lib 1.116 - 1.117 -JAVAC_JAR = $(LIB_DIR)/javac.jar 1.118 -JAVADOC_JAR = $(LIB_DIR)/javadoc.jar 1.119 -JAVAH_JAR = $(LIB_DIR)/javah.jar 1.120 -JAVAP_JAR = $(LIB_DIR)/javap.jar 1.121 - 1.122 -CLASSES_JAR = $(DIST_DIR)/classes.jar 1.123 -SRC_ZIP = $(DIST_DIR)/src.zip 1.124 - 1.125 -BUILDTOOLSRC_DIR = tools 1.126 -BUILDTOOLCLASSES_DIR = $(BUILD_DIR)/toolclasses 1.127 - 1.128 -#----- 1.129 - 1.130 -ifndef JDK_MAJOR_VERSION 1.131 - JDK_MAJOR_VERSION = 1 1.132 -endif 1.133 - 1.134 -ifndef JDK_MINOR_VERSION 1.135 - JDK_MINOR_VERSION = 7 1.136 -endif 1.137 - 1.138 -ifndef JDK_MICRO_VERSION 1.139 - JDK_MICRO_VERSION = 0 1.140 -endif 1.141 - 1.142 -ifndef JDK_VERSION 1.143 - JDK_VERSION = $(JDK_MAJOR_VERSION).$(JDK_MINOR_VERSION).$(JDK_MICRO_VERSION) 1.144 -endif 1.145 - 1.146 -ifndef MILESTONE 1.147 - MILESTONE = internal 1.148 -endif 1.149 - 1.150 -# RELEASE is JDK_VERSION and -MILESTONE if MILESTONE is set 1.151 -ifneq ($(MILESTONE),fcs) 1.152 - RELEASE = $(JDK_VERSION)-$(MILESTONE)$(BUILD_VARIANT_RELEASE) 1.153 -else 1.154 - RELEASE = $(JDK_VERSION)$(BUILD_VARIANT_RELEASE) 1.155 -endif 1.156 - 1.157 -# FULL_VERSION is RELEASE and -BUILD_NUMBER if BUILD_NUMBER is set 1.158 -ifdef BUILD_NUMBER 1.159 - FULL_VERSION = $(RELEASE)-$(BUILD_NUMBER) 1.160 -else 1.161 - BUILD_NUMBER = b00 1.162 - USER_RELEASE_SUFFIX := $(shell echo $(USER)_`date '+%d_%b_%Y_%H_%M' | tr "A-Z" "a-z"`) 1.163 - FULL_VERSION = $(RELEASE)-$(USER_RELEASE_SUFFIX)-$(BUILD_NUMBER) 1.164 -endif 1.165 - 1.166 -#----- useful macros 1.167 - 1.168 -TOOLS = javac javadoc javah javap 1.169 - 1.170 -SOURCE_LEVEL = 5 1.171 -BOOTSTRAP_TARGET_LEVEL = 5 1.172 -TARGET_LEVEL = 6 1.173 - 1.174 -ifndef TARGET_JAVA 1.175 - TARGET_JAVA = java 1.176 -endif 1.177 - 1.178 -NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true 1.179 - 1.180 -SELF = $(lastword $(MAKEFILE_LIST)) 1.181 - 1.182 -#----- 1.183 - 1.184 -# the default is to generate the following: 1.185 -# dist/{bin,lib}: 1.186 -# lang tools compiled to run on the target JDK 1.187 - 1.188 -default: 1.189 - $(MAKE) -f $(SELF) \ 1.190 - MILESTONE=bootstrap \ 1.191 - TARGET_LEVEL=$(BOOTSTRAP_TARGET_LEVEL) \ 1.192 - TARGET_JAVA=$(BOOT_JAVA_HOME)/bin/java \ 1.193 - GENSRC_DIR=$(BUILD_DIR)/bootstrap/gensrc \ 1.194 - CLASSES_DIR=$(BUILD_DIR)/bootstrap/classes \ 1.195 - BIN_DIR=$(BUILD_DIR)/bootstrap/bin \ 1.196 - LIB_DIR=$(BUILD_DIR)/bootstrap/lib \ 1.197 - $(BUILD_DIR)/bootstrap/lib/javac.jar \ 1.198 - $(BUILD_DIR)/bootstrap/bin/javac 1.199 - $(MAKE) -f $(SELF) \ 1.200 - BOOT_JAVAC=$(BUILD_DIR)/bootstrap/bin/javac \ 1.201 - tools 1.202 - 1.203 -# for jdk, we generate the following: 1.204 -# dist/bootstrap/{bin,lib}: 1.205 -# lang tools compiled to run on the boot JDK 1.206 -# dist/lib/classes.jar: 1.207 -# lang tools recompiled to run on the target JDK, 1.208 -# ready for inclusion in rt.jar and tools.jar 1.209 -# dist/lib/src.zip 1.210 -# .properties and .java files for classes in classes.jar, 1.211 -# ready for jdk src.zip 1.212 - 1.213 -jdk: 1.214 - $(MAKE) -f $(SELF) \ 1.215 - MILESTONE=bootstrap \ 1.216 - TARGET_LEVEL=$(BOOTSTRAP_TARGET_LEVEL) \ 1.217 - TARGET_JAVA=$(BOOT_JAVA_HOME)/bin/java \ 1.218 - GENSRC_DIR=$(BUILD_DIR)/bootstrap/gensrc \ 1.219 - CLASSES_DIR=$(BUILD_DIR)/bootstrap/classes \ 1.220 - BIN_DIR=$(DIST_DIR)/bootstrap/bin \ 1.221 - LIB_DIR=$(DIST_DIR)/bootstrap/lib \ 1.222 - tools 1.223 - $(MAKE) -f $(SELF) \ 1.224 - BOOT_JAVAC=$(DIST_DIR)/bootstrap/bin/javac \ 1.225 - LIB_DIR=$(BUILD_DIR)/jdk/lib \ 1.226 - $(DIST_DIR)/lib/classes.jar \ 1.227 - $(DIST_DIR)/lib/src.zip 1.228 - 1.229 -tools: $(TOOLS:%=$(LIB_DIR)/%.jar) $(TOOLS:%=$(BIN_DIR)/%) 1.230 - 1.231 -clean: 1.232 - $(RM) -r $(BUILD_DIR) 1.233 - 1.234 -really-clean: clean 1.235 - $(RM) -r $(DIST_DIR) 1.236 - 1.237 -jprt_product_build \ 1.238 -jprt_debug_build \ 1.239 -jprt_fastdebug_build: lib 1.240 - 1.241 -#----- javac 1.242 - 1.243 -JAVAC_DIRS = \ 1.244 - javax/annotation/processing \ 1.245 - javax/lang/model \ 1.246 - javax/tools \ 1.247 - jdk/ \ 1.248 - com/sun/source \ 1.249 - com/sun/tools/javac 1.250 - 1.251 -JAVAC_RESOURCE_FILES = \ 1.252 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAC_DIRS)) -name SCCS -prune -o -name \*.properties -print ) 1.253 - 1.254 -JAVAC_JAVA_FILES = \ 1.255 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAC_DIRS)) -name SCCS -prune -o -name \*.java -print ) \ 1.256 - $(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAC_RESOURCE_FILES)) \ 1.257 - $(GENSRC_DIR)/com/sun/tools/javac/resources/version.java 1.258 - 1.259 -$(JAVAC_JAR): $(JAVAC_JAVA_FILES) 1.260 - $(MKDIR) -p $(CLASSES_DIR) $(@D) 1.261 - $(BOOT_JAVAC) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(NO_PROPRIETARY_API_WARNINGS) $(JAVAC_JAVA_FILES) 1.262 - ( $(ECHO) Main-Class: com.sun.tools.javac.Main ) > $(BUILD_DIR)/javac.mf 1.263 - $(BOOTJAR) -cfm $@ $(BUILD_DIR)/javac.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAC_DIRS)) 1.264 - 1.265 -#----- javadoc 1.266 - 1.267 -### FIXME -- javadoc has a couple of extra non-property resource files 1.268 -### that need to be included 1.269 - 1.270 -JAVADOC_DIRS = \ 1.271 - com/sun/javadoc \ 1.272 - com/sun/tools/doclets \ 1.273 - com/sun/tools/javadoc 1.274 - 1.275 -JAVADOC_RESOURCE_FILES = \ 1.276 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVADOC_DIRS)) -name SCCS -prune -o -name \*.properties -print ) 1.277 - 1.278 -JAVADOC_JAVA_FILES = \ 1.279 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVADOC_DIRS)) -name SCCS -prune -o -name \*.java -print ) \ 1.280 - $(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVADOC_RESOURCE_FILES)) 1.281 - 1.282 -$(JAVADOC_JAR): $(JAVADOC_JAVA_FILES) $(JAVAC_JAR) 1.283 - $(MKDIR) -p $(CLASSES_DIR) $(@D) 1.284 - $(BOOT_JAVAC) -sourcepath "" -classpath $(JAVAC_JAR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(JAVADOC_JAVA_FILES) 1.285 - ( $(ECHO) Main-Class: com.sun.tools.javadoc.Main ; $(ECHO) Class-Path: javac.jar ) > $(BUILD_DIR)/javadoc.mf 1.286 - $(BOOTJAR) -cfm $@ $(BUILD_DIR)/javadoc.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVADOC_DIRS)) 1.287 - 1.288 -#----- javah 1.289 - 1.290 -JAVAH_DIRS = \ 1.291 - com/sun/tools/javah 1.292 - 1.293 -JAVAH_RESOURCE_FILES = \ 1.294 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAH_DIRS)) -name SCCS -prune -o -name \*.properties -print ) 1.295 - 1.296 -JAVAH_JAVA_FILES = \ 1.297 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAH_DIRS)) -name SCCS -prune -o -name \*.java -print ) \ 1.298 - $(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAH_RESOURCE_FILES)) 1.299 - 1.300 -$(JAVAH_JAR): $(JAVAH_JAVA_FILES) $(JAVADOC_JAR) 1.301 - $(MKDIR) -p $(CLASSES_DIR) $(@D) 1.302 - $(BOOT_JAVAC) -sourcepath "" -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(JAVAH_JAVA_FILES) 1.303 - ( $(ECHO) Main-Class: com.sun.tools.javah.Main ; $(ECHO) Class-Path: javadoc.jar ) > $(BUILD_DIR)/javah.mf 1.304 - $(BOOTJAR) -cfm $@ $(BUILD_DIR)/javah.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAH_DIRS)) 1.305 - 1.306 -#----- javap 1.307 - 1.308 -JAVAP_DIRS = \ 1.309 - sun/tools/javap 1.310 - 1.311 -JAVAP_RESOURCE_FILES = \ 1.312 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAP_DIRS)) -name SCCS -prune -o -name \*.properties -print ) 1.313 - 1.314 -JAVAP_JAVA_FILES = \ 1.315 - $(shell find $(patsubst %,$(SRC_CLASSES_DIR)/%,$(JAVAP_DIRS)) -name SCCS -prune -o -name \*.java -print ) \ 1.316 - $(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAP_RESOURCE_FILES)) 1.317 - 1.318 -$(JAVAP_JAR): $(JAVAP_JAVA_FILES) \ 1.319 - $(patsubst $(SRC_CLASSES_DIR)/%.properties,$(GENSRC_DIR)/%.java,$(JAVAP_RESOURCE_FILES)) 1.320 - $(MKDIR) -p $(CLASSES_DIR) 1.321 - $(BOOT_JAVAC) -sourcepath "" -classpath $(CLASSES_DIR) -d $(CLASSES_DIR) -target $(TARGET_LEVEL) $(JAVAP_JAVA_FILES) 1.322 - ( $(ECHO) Main-Class: sun.tools.javap.Main ) > $(BUILD_DIR)/javap.mf 1.323 - $(BOOTJAR) -cfm $@ $(BUILD_DIR)/javap.mf $(patsubst %,-C $(CLASSES_DIR) %, $(JAVAP_DIRS)) 1.324 - 1.325 -#----- 1.326 - 1.327 -build-tools: $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class 1.328 - 1.329 -$(GENSRC_DIR)/%.java: $(SRC_CLASSES_DIR)/%.properties $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class 1.330 - $(MKDIR) -p $(@D) 1.331 - $(BOOT_JAVA) -cp $(BUILDTOOLCLASSES_DIR)/CompileProperties CompileProperties $< $(patsubst $(CLASSES_DIR)/%.class,$(GENSRC_DIR)/%.java,$@) 1.332 - 1.333 -$(GENSRC_DIR)/%.java: $(GENSRC_DIR)/%.properties $(BUILDTOOLCLASSES_DIR)/CompileProperties/CompileProperties.class 1.334 - $(MKDIR) -p $(@D) 1.335 - $(BOOT_JAVA) -cp $(BUILDTOOLCLASSES_DIR)/CompileProperties CompileProperties $< $(patsubst $(CLASSES_DIR)/%.class,$(GENSRC_DIR)/%.java,$@) 1.336 - 1.337 -$(GENSRC_DIR)/%.properties: $(SRC_CLASSES_DIR)/%.properties-template 1.338 - $(MKDIR) -p $(@D) 1.339 - $(SED) -e 's/$$(JDK_VERSION)/$(JDK_VERSION)/' \ 1.340 - -e 's/$$(FULL_VERSION)/$(FULL_VERSION)/' \ 1.341 - -e 's/$$(RELEASE)/$(RELEASE)/' \ 1.342 - < $< > $@ 1.343 - 1.344 -$(BUILDTOOLCLASSES_DIR)/%.class : $(BUILDTOOLSRC_DIR)/%.java 1.345 - $(MKDIR) -p $(@D) 1.346 - $(BOOT_JAVAC) -d $(@D) $< 1.347 - 1.348 -#----- all classes 1.349 - 1.350 -$(DIST_DIR)/%/classes.jar: $(JAVAC_JAR) $(JAVADOC_JAR) $(JAVAH_JAR) $(JAVAP_JAR) 1.351 - $(MKDIR) -p $(@D) 1.352 - $(BOOTJAR) -cf $@ -C $(CLASSES_DIR) . 1.353 - 1.354 -#----- src.zip 1.355 - 1.356 -SRC_ZIP_FILES = $(shell $(FIND) $(SRC_CLASSES_DIR) \( -name SCCS -o -name \*-template \) -prune -o -type f -print ) 1.357 - 1.358 -$(DIST_DIR)/%/src.zip: $(SRC_ZIP_FILES) 1.359 - abs_src_zip=`cd $(@D) ; pwd`/$(@F) ; \ 1.360 - ( cd $(SRC_CLASSES_DIR) ; $(FIND) . \( -name SCCS -o -name \*-template \) -prune -o -type f -print | $(ZIP) -q $$abs_src_zip -@ ) ; \ 1.361 - ( cd $(SRC_CLASSES_DIR) ; $(FIND) . -name SCCS -prune -o -name \*-template -print | $(SED) -e 's/-template//' ) | ( cd $(GENSRC_DIR) ; $(ZIP) -q $$abs_src_zip -@ ) 1.362 - 1.363 -#----- bin files 1.364 - 1.365 -$(BIN_DIR)/%: $(SRC_BIN_DIR)/launcher.sh-template 1.366 - $(MKDIR) -p $(@D) 1.367 - $(SED) -e 's|#PROGRAM#|$(@F)|' -e 's|#TARGET_JAVA#|$(TARGET_JAVA)|' $< > $@ 1.368 - $(CHMOD) +x $@ 1.369 - 1.370 -#----- 1.371 - 1.372 -findbugs: $(BUILD_DIR)/findbugs.txt 1.373 - 1.374 -$(BUILD_DIR)/findbugs.txt: $(CLASSES_JAR) 1.375 - $(MKDIR) -p $(@D) 1.376 - $(FINDBUGS) -textui -javahome $(BOOT_JAVA_HOME) -high -emacs -outputFile $@ $< 1.377 - 1.378 -#----- 1.379 - 1.380 -quick-check: $(patsubst %, $(DIST_LIB_DIR)/%.jar, $(TOOLS)) 1.381 - $(TESTJAVA) -jar $(JAVAC_JAR) -version 1.382 - - $(TESTJAVA) -jar $(JAVADOC_JAR) -version 1.383 - $(TESTJAVA) -jar $(JAVAH_JAR) -version 1.384 - - $(TESTJAVA) -jar $(JAVAP_JAR) -version 1.385 - 1.386 -#----- 1.387 - 1.388 -.PHONY: \ 1.389 - all \ 1.390 - build \ 1.391 - build-tools \ 1.392 - clean \ 1.393 - default \ 1.394 - findbugs \ 1.395 - jprt_product_build \ 1.396 - jprt_debug_build \ 1.397 - jprt_fastdebug_build \ 1.398 - tools 1.399 -