Wed, 31 Oct 2012 18:30:51 -0700
Merge
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/makefiles/BuildJaxp.gmk Wed Oct 31 18:30:51 2012 -0700 1.3 @@ -0,0 +1,61 @@ 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 +# This must be the first rule 1.30 +default: all 1.31 + 1.32 +-include $(SPEC) 1.33 +include MakeBase.gmk 1.34 +include JavaCompilation.gmk 1.35 + 1.36 +JAVAC_JARS ?= "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ 1.37 + -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar 1.38 +DISABLE_JAXP_WARNINGS:=-Xlint:all,-deprecation,-unchecked,-rawtypes,-cast,-serial,-dep-ann,-static,-fallthrough 1.39 + 1.40 +# The generate new bytecode uses the new compiler for to generate bytecode 1.41 +# for the new jdk that is being built. The code compiled by this setup 1.42 +# cannot necessarily be run with the boot jdk. 1.43 +$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\ 1.44 + JVM:=$(JAVA),\ 1.45 + JAVAC:=$(JAVAC_JARS),\ 1.46 + FLAGS:=-XDignore.symbol.file=true $(DISABLE_JAXP_WARNINGS) -g,\ 1.47 + SERVER_DIR:=$(SJAVAC_SERVER_DIR),\ 1.48 + SERVER_JVM:=$(SJAVAC_SERVER_JAVA))) 1.49 + 1.50 +$(eval $(call SetupJavaCompilation,BUILD_JAXP,\ 1.51 + SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ 1.52 + SRC:=$(JAXP_TOPDIR)/src,\ 1.53 + CLEAN:=.properties,\ 1.54 + BIN:=$(JAXP_OUTPUTDIR)/classes,\ 1.55 + SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip)) 1.56 + 1.57 +$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP),\ 1.58 + SRCS:=$(JAXP_OUTPUTDIR)/classes,\ 1.59 + SUFFIXES:=.class .properties,\ 1.60 + JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar)) 1.61 + 1.62 +all: $(JAXP_OUTPUTDIR)/dist/lib/classes.jar $(JAXP_OUTPUTDIR)/dist/lib/src.zip 1.63 + 1.64 +.PHONY: default all
2.1 --- a/makefiles/Makefile Thu Oct 25 20:07:46 2012 -0700 2.2 +++ b/makefiles/Makefile Wed Oct 31 18:30:51 2012 -0700 2.3 @@ -1,5 +1,5 @@ 2.4 # 2.5 -# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. 2.6 +# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. 2.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 # 2.9 # This code is free software; you can redistribute it and/or modify it 2.10 @@ -23,39 +23,27 @@ 2.11 # questions. 2.12 # 2.13 2.14 -# This must be the first rule 2.15 -default: all 2.16 +# Locate this Makefile 2.17 +ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),) 2.18 + makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST)) 2.19 +else 2.20 + makefile_path:=$(lastword $(MAKEFILE_LIST)) 2.21 +endif 2.22 +repo_dir:=$(patsubst %/makefiles/Makefile,%,$(makefile_path)) 2.23 2.24 --include $(SPEC) 2.25 -include MakeBase.gmk 2.26 -include JavaCompilation.gmk 2.27 +# What is the name of this subsystem (langtools, corba, etc)? 2.28 +subsystem_name:=$(notdir $(repo_dir)) 2.29 2.30 -JAVAC_JARS ?= "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ 2.31 - -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar 2.32 -DISABLE_JAXP_WARNINGS:=-Xlint:all,-deprecation,-unchecked,-rawtypes,-cast,-serial,-dep-ann,-static,-fallthrough 2.33 +# Try to locate top-level makefile 2.34 +top_level_makefile:=$(repo_dir)/../common/makefiles/Makefile 2.35 +ifneq ($(wildcard $(top_level_makefile)),) 2.36 + $(info Will run $(subsystem_name) target on top-level Makefile) 2.37 + $(info WARNING: This is a non-recommended way of building!) 2.38 + $(info ===================================================) 2.39 +else 2.40 + $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?) 2.41 + $(error Build from top-level Makefile instead) 2.42 +endif 2.43 2.44 -# The generate new bytecode uses the new compiler for to generate bytecode 2.45 -# for the new jdk that is being built. The code compiled by this setup 2.46 -# cannot necessarily be run with the boot jdk. 2.47 -$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\ 2.48 - JVM:=$(JAVA),\ 2.49 - JAVAC:=$(JAVAC_JARS),\ 2.50 - FLAGS:=-XDignore.symbol.file=true $(DISABLE_JAXP_WARNINGS) -g,\ 2.51 - SERVER_DIR:=$(SJAVAC_SERVER_DIR),\ 2.52 - SERVER_JVM:=$(SJAVAC_SERVER_JAVA))) 2.53 - 2.54 -$(eval $(call SetupJavaCompilation,BUILD_JAXP,\ 2.55 - SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ 2.56 - SRC:=$(JAXP_TOPDIR)/src,\ 2.57 - CLEAN:=.properties,\ 2.58 - BIN:=$(JAXP_OUTPUTDIR)/classes,\ 2.59 - SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip)) 2.60 - 2.61 -$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP),\ 2.62 - SRCS:=$(JAXP_OUTPUTDIR)/classes,\ 2.63 - SUFFIXES:=.class .properties,\ 2.64 - JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar)) 2.65 - 2.66 -all: $(JAXP_OUTPUTDIR)/dist/lib/classes.jar $(JAXP_OUTPUTDIR)/dist/lib/src.zip 2.67 - 2.68 -.PHONY: default all 2.69 +all: 2.70 + @$(MAKE) -f $(top_level_makefile) $(subsystem_name)