Makefile 3.8 KB
Newer Older
D
duke 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
#
# Copyright 2003-2006 Sun Microsystems, Inc.  All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Sun designates this
# particular file as subject to the "Classpath" exception as provided
# by Sun in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
# CA 95054 USA or visit www.sun.com if you need additional information or
# have any questions.
#

#
# Makefile for building RMI stubs of JMX Remote
#

BUILDDIR = ../../..
PACKAGE = javax.management
PRODUCT = sun
include $(BUILDDIR)/common/Defs.gmk

#
# Files to compile
#

# NO java files to compile: already compiled in javax/management/Makefile

# Note : some targets are double colon rules and some single colon rules
# within common included gmk files : that is why the following for loop
# has been duplicated.
SUBDIRS = snmp

all build:
	$(SUBDIRS-loop)

clean clobber::
	$(SUBDIRS-loop)

#
# Rules
#
include $(BUILDDIR)/common/Classes.gmk

build: stubs

#
# Clean up internal-use-only package.
#
clean ::
	$(RM) -r $(CLASSDESTDIR)/com/sun/jmx \
                 $(CLASSDESTDIR)/com/sun/management/jmx \
                 $(CLASSDESTDIR)/org/omg/stub/javax/management/remote/rmi \


#
# The remainder of this makefile contains defs and rules
# for generating RMI stubs.
# With inspiration from com/sun/jndi/rmi/registry
#

#
# Full class names of implementations requiring stubs
#
REMOTE_impls = \
    javax.management.remote.rmi.RMIConnectionImpl \
    javax.management.remote.rmi.RMIServerImpl \


REMOTE_files = $(subst .,/,$(REMOTE_impls))
FILES_stubs  = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Stub.class)
FILES_ties   = $(subst javax/management/remote/rmi/,javax/management/remote/rmi/_,$(REMOTE_files:%=$(CLASSDESTDIR)/%_Tie.class))


#
# Compile stubs and skeletons for remote implementations
#
# Keep generated RMI/JRMP Stub source files and copy them to GENSRCDIR
# so that javadoc can include them in the API (4997471)
#
# For RMI/IIOP call rmic a second time with -standardPackage option
# so that *_tie classes are generated in package without the prefix
# org.omg.stub (6375696)
# 
$(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class
	$(prep-target)
	$(RMIC) -classpath "$(CLASSDESTDIR)"    \
                -d $(CLASSDESTDIR)              \
                -v1.2                           \
                -keepgenerated                  \
                $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
	$(MKDIR) -p $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
	$(CP)       $(@:%.class=%.java)                                     \
                    $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
	$(RMIC) -classpath "$(CLASSDESTDIR)"    \
                -d $(CLASSDESTDIR)              \
                -iiop -v1.2                     \
                $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
	$(RMIC) $(HOTSPOT_INTERPRETER_FLAG) -classpath "$(CLASSDESTDIR)"    \
                -d $(CLASSDESTDIR)              \
                -iiop -v1.2                     \
                -standardPackage                \
                $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
	@$(java-vm-cleanup)

stubs: $(FILES_stubs)