jaxws/makefiles/Makefile
changeset 14254 dff4399a453f
parent 13716 adea6fee501c
child 20594 5ffeae5df832
equal deleted inserted replaced
14104:8d9d430b4244 14254:dff4399a453f
     1 #
     1 #
     2 # Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
     2 # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4 #
     4 #
     5 # This code is free software; you can redistribute it and/or modify it
     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
     6 # under the terms of the GNU General Public License version 2 only, as
     7 # published by the Free Software Foundation.  Oracle designates this
     7 # published by the Free Software Foundation.  Oracle designates this
    21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    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
    22 # or visit www.oracle.com if you need additional information or have any
    23 # questions.
    23 # questions.
    24 #
    24 #
    25 
    25 
    26 # This must be the first rule
    26 # Locate this Makefile
    27 default: all
    27 ifeq ($(filter /%,$(lastword $(MAKEFILE_LIST))),)
       
    28     makefile_path:=$(CURDIR)/$(lastword $(MAKEFILE_LIST))
       
    29 else
       
    30     makefile_path:=$(lastword $(MAKEFILE_LIST))
       
    31 endif
       
    32 repo_dir:=$(patsubst %/makefiles/Makefile,%,$(makefile_path))
    28 
    33 
    29 include $(SPEC)
    34 # What is the name of this subsystem (langtools, corba, etc)?
    30 include MakeBase.gmk
    35 subsystem_name:=$(notdir $(repo_dir))
    31 include JavaCompilation.gmk
       
    32 
    36 
    33 JAVAC_JARS ?= -Xbootclasspath/p:$(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar \
    37 # Try to locate top-level makefile
    34 		-jar $(LANGTOOLS_OUTPUTDIR)/dist/bootstrap/lib/javac.jar
    38 top_level_makefile:=$(repo_dir)/../common/makefiles/Makefile
    35 DISABLE_JAXWS_WARNINGS:=-Xlint:all,-varargs,-rawtypes,-deprecation,-unchecked,-serial,-dep-ann,-cast,-fallthrough,-static
    39 ifneq ($(wildcard $(top_level_makefile)),)
       
    40   $(info Will run $(subsystem_name) target on top-level Makefile)
       
    41   $(info WARNING: This is a non-recommended way of building!)
       
    42   $(info ===================================================)
       
    43 else
       
    44   $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?)
       
    45   $(error Build from top-level Makefile instead)
       
    46 endif
    36 
    47 
    37 # The generate new bytecode uses the new compiler for to generate bytecode
    48 all:
    38 # for the new jdk that is being built. The code compiled by this setup
    49 	@$(MAKE) -f $(top_level_makefile) $(subsystem_name)
    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_JAXWS_WARNINGS) -g,\
       
    44      SERVER_DIR:=$(SJAVAC_SERVER_DIR),\
       
    45      SERVER_JVM:=$(SJAVAC_SERVER_JAVA)))
       
    46 
       
    47 # Dummy here is needed to trigger copying of META-INF
       
    48 $(eval $(call SetupJavaCompilation,BUILD_JAF,\
       
    49 		SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
       
    50 		SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes,\
       
    51 		CLEAN:=.properties,\
       
    52 		COPY:="dummy",\
       
    53 		BIN:=$(JAXWS_OUTPUTDIR)/jaf_classes))
       
    54 
       
    55 $(eval $(call SetupJavaCompilation,BUILD_JAXWS,\
       
    56 		SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
       
    57 		SRC:=$(JAXWS_TOPDIR)/src/share/jaxws_classes,\
       
    58 		CLEAN:=.properties,\
       
    59 		BIN:=$(JAXWS_OUTPUTDIR)/jaxws_classes,\
       
    60 		COPY:=.xsd,\
       
    61 		COPY_FILES:=$(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/JAXBContextFactory.java \
       
    62 			    $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/internal/xjc/runtime/ZeroOneBooleanAdapter.java,\
       
    63 		ADD_JAVAC_FLAGS=-cp $(OUTPUT_ROOT)/jaxp/dist/lib/classes.jar))
       
    64 
       
    65 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin: \
       
    66 		         $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin
       
    67 	mkdir -p $(@D)
       
    68 	cp $< $@
       
    69 
       
    70 $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin: \
       
    71 		         $(JAXWS_TOPDIR)/src/share/jaxws_classes/com/sun/tools/etc/META-INF/services/com.sun.tools.internal.xjc.Plugin
       
    72 	mkdir -p $(@D)
       
    73 	cp $< $@
       
    74 
       
    75 # There are two META-INF services files that are needed, add these to the list of goals
       
    76 BUILD_JAXWS += $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.ws.wscompile.Plugin \
       
    77                $(JAXWS_OUTPUTDIR)/jaxws_classes/META-INF/services/com.sun.tools.internal.xjc.Plugin
       
    78 
       
    79 $(eval $(call SetupArchive,ARCHIVE_JAXWS,$(BUILD_JAXWS) $(BUILD_JAF),\
       
    80 		SRCS:=$(JAXWS_OUTPUTDIR)/jaxws_classes $(JAXWS_OUTPUTDIR)/jaf_classes,\
       
    81 		SUFFIXES:=.class .properties .xsd .java \
       
    82 			  com.sun.mirror.apt.AnnotationProcessorFactory \
       
    83                           com.sun.tools.internal.xjc.Plugin,\
       
    84 		JAR:=$(JAXWS_OUTPUTDIR)/dist/lib/classes.jar))
       
    85 
       
    86 $(eval $(call SetupZipArchive,ZIP_JAXWS_SOURCES,\
       
    87 		SRC:=$(JAXWS_TOPDIR)/src/share/jaf_classes $(JAXWS_TOPDIR)/src/share/jaxws_classes,\
       
    88 		ZIP:=$(JAXWS_OUTPUTDIR)/dist/lib/src.zip))
       
    89 
       
    90 all: $(JAXWS_OUTPUTDIR)/dist/lib/classes.jar $(JAXWS_OUTPUTDIR)/dist/lib/src.zip
       
    91 
       
    92 .PHONY: default all