makefiles/BuildJaxws.gmk

Fri, 26 Oct 2012 14:25:29 -0700

author
ohair
date
Fri, 26 Oct 2012 14:25:29 -0700
changeset 334
c30a7cb5c587
child 347
51f3117e2b75
permissions
-rw-r--r--

8000992: Update new build-infra makefiles
Summary: Build-infra project integration. Multiple authors on this work: erikj and ihse primarily, also changes from ohair, tbell, and dholmes. Special credit to ohstrom for his smartjavac work.
Reviewed-by: erikj, ihse, dholmes, tbell

ohair@334 1 #
ohair@334 2 # Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
ohair@334 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
ohair@334 4 #
ohair@334 5 # This code is free software; you can redistribute it and/or modify it
ohair@334 6 # under the terms of the GNU General Public License version 2 only, as
ohair@334 7 # published by the Free Software Foundation. Oracle designates this
ohair@334 8 # particular file as subject to the "Classpath" exception as provided
ohair@334 9 # by Oracle in the LICENSE file that accompanied this code.
ohair@334 10 #
ohair@334 11 # This code is distributed in the hope that it will be useful, but WITHOUT
ohair@334 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
ohair@334 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
ohair@334 14 # version 2 for more details (a copy is included in the LICENSE file that
ohair@334 15 # accompanied this code).
ohair@334 16 #
ohair@334 17 # You should have received a copy of the GNU General Public License version
ohair@334 18 # 2 along with this work; if not, write to the Free Software Foundation,
ohair@334 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
ohair@334 20 #
ohair@334 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
ohair@334 22 # or visit www.oracle.com if you need additional information or have any
ohair@334 23 # questions.
ohair@334 24 #
ohair@334 25
ohair@334 26 # This must be the first rule
ohair@334 27 default: all
ohair@334 28
ohair@334 29 include $(SPEC)
ohair@334 30 include MakeBase.gmk
ohair@334 31 include JavaCompilation.gmk
ohair@334 32
ohair@334 33 JAVAC_JARS ?= -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
ohair@334 34 -jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
ohair@334 35 DISABLE_JAXWS_WARNINGS:=-Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static
ohair@334 36
ohair@334 37 # The generate new bytecode uses the new compiler for to generate bytecode
ohair@334 38 # for the new jdk that is being built. The code compiled by this setup
ohair@334 39 # cannot necessarily be run with the boot jdk.
ohair@334 40 $(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG,\
ohair@334 41 JVM:=$(JAVA),\
ohair@334 42 JAVAC:=$(JAVAC_JARS),\
ohair@334 43 FLAGS:=-XDignore.symbol.file=true $(DISABLE_JAXWS_WARNINGS) -g,\
ohair@334 44 SERVER_DIR:=$(SJAVAC_SERVER_DIR),\
ohair@334 45 SERVER_JVM:=$(SJAVAC_SERVER_JAVA)))
ohair@334 46
ohair@334 47 # Dummy here is needed to trigger copying of META-INF
ohair@334 48 $(eval $(call SetupJavaCompilation,BUILD_JAF,\
ohair@334 49 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
ohair@334 50 SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes,\
ohair@334 51 CLEAN:=.properties,\
ohair@334 52 COPY:="dummy",\
ohair@334 53 BIN:=$(JAXWS_OUTPUTDIR)/jaf_classes))
ohair@334 54
ohair@334 55 $(eval $(call SetupJavaCompilation,BUILD_JAXWS,\
ohair@334 56 SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
ohair@334 57 SRC:=$(JAXWS_TOPDIR)/src/share/jaxws_classes,\
ohair@334 58 CLEAN:=.properties,\
ohair@334 59 BIN:=$(JAXWS_OUTPUTDIR)/jaxws_classes,\
ohair@334 60 COPY:=.xsd,\
ohair@334 61 COPY_FILES:=$(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \
ohair@334 62 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java,\
ohair@334 63 ADD_JAVAC_FLAGS=-cp $(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar))
ohair@334 64
ohair@334 65 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \
ohair@334 66 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin
ohair@334 67 mkdir -p $(@D)
ohair@334 68 cp $< $@
ohair@334 69
ohair@334 70 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \
ohair@334 71 $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin
ohair@334 72 mkdir -p $(@D)
ohair@334 73 cp $< $@
ohair@334 74
ohair@334 75 # There are two META-INF services files that are needed, add these to the list of goals
ohair@334 76 BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
ohair@334 77 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin
ohair@334 78
ohair@334 79 $(eval $(call SetupArchive,ARCHIVE_JAXWS,$(BUILD_JAXWS) $(BUILD_JAF),\
ohair@334 80 SRCS:=$(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes,\
ohair@334 81 SUFFIXES:=.class .properties .xsd .java \
ohair@334 82 com.sun.mirror.apt.AnnotationProcessorFactory \
ohair@334 83 com.sun.tools.internal.xjc.Plugin,\
ohair@334 84 JAR:=$(JAXWS_OUTPUTDIR)/dist/lib/classes.jar))
ohair@334 85
ohair@334 86 $(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES,\
ohair@334 87 SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes,\
ohair@334 88 ZIP:=$(JAXWS_OUTPUTDIR)/dist/lib/src.zip))
ohair@334 89
ohair@334 90 all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip
ohair@334 91
ohair@334 92 .PHONY: default all

mercurial