1 # 2 # Copyright (c) 2007, 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 # This must be the first rule 27 default: all 28 29 -include $(SPEC) 30 include MakeBase.gmk 31 include JavaCompilation.gmk 32 33 JAVAC_JARS ?= "-Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar" \ 34 -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar 35 DISABLE_JAXP_WARNINGS:=-Xlint:all,-deprecation,-unchecked,-rawtypes,-cast,-serial,-dep-ann,-static,-fallthrough 36 37 # The generate new bytecode uses the new compiler for to generate bytecode 38 # for the new jdk that is being built. The code compiled by this setup 39 # cannot necessarily be run with the boot jdk. 40 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\ 41 JVM:=$(JAVA),\ 42 JAVAC:=$(JAVAC_JARS),\ 43 FLAGS:=-XDignore.symbol.file=true $(DISABLE_JAXP_WARNINGS) -g,\ 44 SERVER_DIR:=$(SJAVAC_SERVER_DIR),\ 45 SERVER_JVM:=$(SJAVAC_SERVER_JAVA))) 46 47 $(eval $(call SetupJavaCompilation,BUILD_JAXP,\ 48 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ 49 SRC:=$(JAXP_TOPDIR)/src,\ 50 BIN:=$(JAXP_OUTPUTDIR)/classes,\ 51 SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip)) 52 53 # Imitate the property cleaning mechanism in the old build. This will likely be replaced 54 # by the unified functionality in JavaCompilation.gmk, but keep it the same as old build 55 # for now, even though it actually breaks properties containing # in the value. 56 # Using nawk to avoid solaris sed. 57 $(JAXP_OUTPUTDIR)/classes/%.properties: $(JAXP_TOPDIR)/src/%.properties 58 $(MKDIR) -p $(@D) 59 $(RM) $@ $@.tmp 60 $(CAT) $< | $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp 61 $(MV) $@.tmp $@ 62 63 SRC_PROP_FILES := $(shell $(FIND) $(JAXP_TOPDIR)/src -name "*.properties") 64 TARGET_PROP_FILES := $(patsubst $(JAXP_TOPDIR)/src/%,$(JAXP_OUTPUTDIR)/classes/%,$(SRC_PROP_FILES)) 65 66 $(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP) $(TARGET_PROP_FILES),\ 67 SRCS:=$(JAXP_OUTPUTDIR)/classes,\ 68 SUFFIXES:=.class .properties,\ 69 JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar)) 70 71 all: $(JAXP_OUTPUTDIR)/dist/lib/classes.jar $(JAXP_OUTPUTDIR)/dist/lib/src.zip 72 73 .PHONY: default all