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