1 #
   2 # Copyright (c) 2011, 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 default: all
  27 
  28 include $(SPEC)
  29 include MakeBase.gmk
  30 include RMICompilation.gmk
  31 include JavaCompilation.gmk
  32 include Setup.gmk
  33 
  34 ##########################################################################################
  35 
  36 RMIC_PKGS := \
  37     sun/rmi/rmic \
  38     sun/tools/asm \
  39     sun/tools/java \
  40     sun/tools/javac \
  41     sun/tools/tree \
  42     sun/tools/util \
  43     #
  44 
  45 $(eval $(call SetupJavaCompilation,BUILD_BOOTSTRAP_RMIC, \
  46     SETUP := GENERATE_OLDBYTECODE, \
  47     SRC := $(JDK_TOPDIR)/src/share/classes, \
  48     INCLUDES := $(RMIC_PKGS), \
  49     BIN := $(JDK_OUTPUTDIR)/btclasses_rmic, \
  50     COPY := .properties, \
  51     JAVAC_SOURCE_PATH_OVERRIDE := $(addprefix $(JDK_TOPDIR)/src/share/classes/, $(RMIC_PKGS))))
  52 
  53 ##########################################################################################
  54 
  55 BTRMIC_CP := $(INTERIM_CORBA_JAR)$(PATH_SEP)$(JDK_OUTPUTDIR)/btclasses_rmic$(PATH_SEP)$(INTERIM_LANGTOOLS_JAR)
  56 BTRMIC_ARGS := "-Xbootclasspath/p:$(BTRMIC_CP)" -cp "$(BTRMIC_CP)"
  57 RMIC := $(JAVA) $(BTRMIC_ARGS) sun.rmi.rmic.Main
  58 
  59 CLASSES_DIR := $(JDK_OUTPUTDIR)/classes
  60 # NOTE: If the smart javac dependency management is reintroduced, these classes risk
  61 # interfering with the dependency checking. In that case they will need to be kept separate.
  62 STUB_CLASSES_DIR := $(JDK_OUTPUTDIR)/classes
  63 RMIC_GENSRC_DIR := $(JDK_OUTPUTDIR)/gendocsrc_rmic
  64 
  65 GENCLASSES := 
  66 
  67 ##########################################################################################
  68 #
  69 # Generate RMI stubs
  70 #
  71 
  72 $(eval $(call SetupRMICompilation,RMI_12, \
  73     CLASSES := sun.rmi.server.Activation$$$$ActivationSystemImpl \
  74         java.rmi.activation.ActivationGroup \
  75         com.sun.jndi.rmi.registry.ReferenceWrapper, \
  76     CLASSES_DIR := $(CLASSES_DIR), \
  77     STUB_CLASSES_DIR := $(STUB_CLASSES_DIR), \
  78     RUN_V12 := true))
  79 GENCLASSES += $(RMI_12)
  80 
  81 $(eval $(call SetupRMICompilation,RMI_11, \
  82     CLASSES := sun.rmi.registry.RegistryImpl \
  83         sun.rmi.transport.DGCImpl, \
  84     CLASSES_DIR := $(CLASSES_DIR), \
  85     STUB_CLASSES_DIR := $(STUB_CLASSES_DIR), \
  86     RUN_V11 := true))
  87 GENCLASSES += $(RMI_11)
  88 
  89 # For RMI/IIOP call rmic a second time with -standardPackage option
  90 # so that *_tie classes are generated in package without the prefix
  91 # org.omg.stub (6375696)
  92 JMAN_RMI_CLASSES := javax.management.remote.rmi.RMIConnectionImpl \
  93     javax.management.remote.rmi.RMIServerImpl
  94 $(eval $(call SetupRMICompilation,RMI_IIOP, \
  95     CLASSES := $(JMAN_RMI_CLASSES), \
  96     CLASSES_DIR := $(CLASSES_DIR), \
  97     STUB_CLASSES_DIR := $(STUB_CLASSES_DIR), \
  98     RUN_V12 := true, \
  99     RUN_IIOP := true, \
 100     RUN_IIOP_STDPKG := true))
 101 GENCLASSES += $(RMI_IIOP)
 102 
 103 # Keep generated RMI/JRMP Stub source files and copy them to RMIC_GENSRC_DIR
 104 # so that javadoc can include them in the API (4997471)
 105 $(eval $(call SetupRMICompilation,RMI_SRC, \
 106     CLASSES := $(JMAN_RMI_CLASSES), \
 107     CLASSES_DIR := $(CLASSES_DIR), \
 108     STUB_CLASSES_DIR := $(RMIC_GENSRC_DIR), \
 109     RUN_V12 := true, \
 110     KEEP_GENERATED := true))
 111 GENCLASSES += $(filter %.java, $(RMI_SRC))
 112 
 113 ##########################################################################################
 114 
 115 $(RMI_12) $(RMI_11) $(RMI_IIOP) $(RMI_SRC): $(BUILD_BOOTSTRAP_RMIC)
 116 
 117 $(RMIC_GENSRC_DIR)/_the.classes.removed: $(GENCLASSES)
 118         $(FIND) $(RMIC_GENSRC_DIR) -name "*.class" $(FIND_DELETE)
 119         $(TOUCH) $@
 120 
 121 all: $(RMIC_GENSRC_DIR)/_the.classes.removed $(GENCLASSES)
 122 
 123 .PHONY: all