Makefile revision 2157
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# This code is free software; you can redistribute it and/or modify it
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# under the terms of the GNU General Public License version 2 only, as
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# published by the Free Software Foundation. Sun designates this
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# particular file as subject to the "Classpath" exception as provided
d6fa26d0adaec6c910115be34fe7a5a5f402c14fMark Andrews# by Sun in the LICENSE file that accompanied this code.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# This code is distributed in the hope that it will be useful, but WITHOUT
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# version 2 for more details (a copy is included in the LICENSE file that
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# accompanied this code).
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# You should have received a copy of the GNU General Public License version
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# 2 along with this work; if not, write to the Free Software Foundation,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# CA 95054 USA or visit www.sun.com if you need additional information or
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# have any questions.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews# Makefile for building RMI stubs of JMX Remote
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User#
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsBUILDDIR = ../../..
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsPACKAGE = javax.management
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark AndrewsPRODUCT = sun
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrewsinclude $(BUILDDIR)/common/Defs.gmk
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Files to compile
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# NO java files to compile: already compiled in javax/management/Makefile
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# Note : some targets are double colon rules and some single colon rules
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# within common included gmk files : that is why the following for loop
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# has been duplicated.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# When building the openjdk, build snmp only if importing binary plugs,
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userifdef OPENJDK
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User ifeq ($(IMPORT_BINARY_PLUGS),true)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User SUBDIRS = snmp
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User endif
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userelse
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User SUBDIRS = snmp
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userendif
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userinclude $(BUILDDIR)/common/Subdirs.gmk
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userall build:
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(SUBDIRS-loop)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userclean clobber::
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(SUBDIRS-loop)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# Rules
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userinclude $(BUILDDIR)/common/Classes.gmk
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userbuild: stubs
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# Clean up internal-use-only package.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userclean ::
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(RM) -r $(CLASSDESTDIR)/com/sun/jmx \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(CLASSDESTDIR)/com/sun/management/jmx \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(CLASSDESTDIR)/org/omg/stub/javax/management/remote/rmi \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# The remainder of this makefile contains defs and rules
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# for generating RMI stubs.
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# With inspiration from com/sun/jndi/rmi/registry
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# Full class names of implementations requiring stubs
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserREMOTE_impls = \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User javax.management.remote.rmi.RMIConnectionImpl \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User javax.management.remote.rmi.RMIServerImpl \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserREMOTE_files = $(subst .,/,$(REMOTE_impls))
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserFILES_stubs = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Stub.class)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox UserFILES_ties = $(subst javax/management/remote/rmi/,javax/management/remote/rmi/_,$(REMOTE_files:%=$(CLASSDESTDIR)/%_Tie.class))
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# Compile stubs and skeletons for remote implementations
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# Keep generated RMI/JRMP Stub source files and copy them to GENSRCDIR
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# so that javadoc can include them in the API (4997471)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# For RMI/IIOP call rmic a second time with -standardPackage option
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User# so that *_tie classes are generated in package without the prefix
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User# org.omg.stub (6375696)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User#
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User$(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(prep-target)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(RMIC) -classpath "$(CLASSDESTDIR)" \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -d $(CLASSDESTDIR) \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User -v1.2 \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -keepgenerated \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(MKDIR) -p $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(CP) $(@:%.class=%.java) \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(RMIC) -classpath "$(CLASSDESTDIR)" \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -d $(CLASSDESTDIR) \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -iiop -v1.2 \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User $(RMIC) $(HOTSPOT_INTERPRETER_FLAG) -classpath "$(CLASSDESTDIR)" \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -d $(CLASSDESTDIR) \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -iiop -v1.2 \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User -standardPackage \
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User @$(java-vm-cleanup)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox Userstubs: $(FILES_stubs)
af40ebed6257e4ac1996144530b3de317cf4da11Tinderbox User