jaxws/make/BuildJaxws.gmk
author ihse
Wed, 29 Jan 2014 11:21:54 +0100
changeset 22475 777928354ad9
parent 21882 8dabab2186d2
child 23386 61bab3d8d125
permissions -rw-r--r--
8031759: Improved tool overriding in configure Reviewed-by: tbell, mduigou, erikj
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     1
#
15160
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
     2
# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     4
#
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     7
# published by the Free Software Foundation.  Oracle designates this
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
     9
# by Oracle in the LICENSE file that accompanied this code.
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    10
#
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    15
# accompanied this code).
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    16
#
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    20
#
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    21
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    22
# or visit www.oracle.com if you need additional information or have any
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    23
# questions.
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    24
#
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    25
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    26
# This must be the first rule
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    27
default: all
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    28
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    29
include $(SPEC)
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    30
include MakeBase.gmk
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    31
include JavaCompilation.gmk
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    32
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    33
DISABLE_JAXWS_WARNINGS := -Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    34
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    35
# The generate new bytecode uses the new compiler for to generate bytecode
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    36
# for the new jdk that is being built. The code compiled by this setup
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    37
# cannot necessarily be run with the boot jdk.
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    38
$(eval $(call SetupJavaCompiler,GENERATE_NEWBYTECODE_DEBUG, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    39
    JVM := $(JAVA), \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    40
    JAVAC := $(NEW_JAVAC), \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    41
    FLAGS := -XDignore.symbol.file=true $(DISABLE_JAXWS_WARNINGS) -g, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    42
    SERVER_DIR := $(SJAVAC_SERVER_DIR), \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    43
    SERVER_JVM := $(SJAVAC_SERVER_JAVA)))
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    44
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    45
# Dummy here is needed to trigger copying of META-INF
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    46
$(eval $(call SetupJavaCompilation,BUILD_JAF, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    47
    SETUP := GENERATE_NEWBYTECODE_DEBUG, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    48
    SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    49
    COPY := "dummy", \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    50
    BIN := $(JAXWS_OUTPUTDIR)/jaf_classes))
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    51
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    52
$(eval $(call SetupJavaCompilation,BUILD_JAXWS, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    53
    SETUP := GENERATE_NEWBYTECODE_DEBUG, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    54
    SRC := $(JAXWS_TOPDIR)/src/share/jaxws_classes, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    55
    BIN := $(JAXWS_OUTPUTDIR)/jaxws_classes, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    56
    COPY := .xsd, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    57
    COPY_FILES := $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    58
        $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    59
        $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/xml/internal/ws/assembler/jaxws-tubes-default.xml, \
20999
85d5e1c638fb 8026874: During JAXWS build the newly built JAXP classes should be in the bootclasspath (not only in the classpath)
simonis
parents: 20594
diff changeset
    60
    ADD_JAVAC_FLAGS = -Xbootclasspath/p:$(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar))
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    61
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    62
$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    63
    $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    64
	mkdir -p $(@D)
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    65
	cp $< $@
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    66
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    67
$(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    68
    $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    69
	mkdir -p $(@D)
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    70
	cp $< $@
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    71
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    72
# There are two META-INF services files that are needed, add these to the list of goals
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    73
BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    74
               $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
    75
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    76
# Imitate the property cleaning mechanism in the old build. This will likely be replaced
15160
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    77
# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    78
# for now, even though it actually breaks properties containing # in the value.
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    79
# Using nawk to avoid solaris sed.
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    80
$(JAXWS_OUTPUTDIR)/jaxws_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaxws_classes/%.properties
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    81
	$(MKDIR) -p $(@D)
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    82
	$(RM) $@ $@.tmp
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    83
	$(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    84
	$(MV) $@.tmp $@
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    85
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    86
JAXWS_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaxws_classes -name "*.properties")
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    87
TARGET_PROP_FILES := $(patsubst $(JAXWS_TOPDIR)/src/share/jaxws_classes/%, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    88
    $(JAXWS_OUTPUTDIR)/jaxws_classes/%, $(JAXWS_SRC_PROP_FILES))
15160
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    89
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    90
$(JAXWS_OUTPUTDIR)/jaf_classes/%.properties: $(JAXWS_TOPDIR)/src/share/jaf_classes/%.properties
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    91
	$(MKDIR) -p $(@D)
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    92
	$(RM) $@ $@.tmp
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    93
	$(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    94
	$(MV) $@.tmp $@
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    95
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    96
JAF_SRC_PROP_FILES := $(shell $(FIND) $(JAXWS_TOPDIR)/src/share/jaf_classes -name "*.properties")
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    97
TARGET_PROP_FILES += $(patsubst $(JAXWS_TOPDIR)/src/share/jaf_classes/%, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
    98
    $(JAXWS_OUTPUTDIR)/jaf_classes/%, $(JAF_SRC_PROP_FILES))
15160
ee1119ea8b2b 8005575: build-infra: Three JCK tests fails on Solaris with new RE Autoconf-Based build
erikj
parents: 14254
diff changeset
    99
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   100
$(eval $(call SetupArchive,ARCHIVE_JAXWS, $(BUILD_JAXWS) $(BUILD_JAF) $(TARGET_PROP_FILES), \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   101
    SRCS := $(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   102
    SUFFIXES := .class .properties .xsd .xml .java \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   103
        com.sun.mirror.apt.AnnotationProcessorFactory \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   104
        com.sun.tools.internal.xjc.Plugin, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   105
    JAR := $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar))
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   106
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   107
$(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   108
    SRC := $(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes, \
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   109
    ZIP := $(JAXWS_OUTPUTDIR)/dist/lib/src.zip))
14254
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   110
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   111
all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip
dff4399a453f 8000992: Update new build-infra makefiles
ohair
parents:
diff changeset
   112
20594
5ffeae5df832 8001931: The new build system whitespace cleanup
ihse
parents: 16791
diff changeset
   113
.PHONY: default all