Makefile revision 1780
5d92fff82718cd018f0b61a10b9ad4d2b8064c95rpluem#
bf52162f2d05c1fb1a107c7ef108de73f739b3edpquerna# Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
9c67ffea79ab184351b5d554b57814e13285e758jim# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9c67ffea79ab184351b5d554b57814e13285e758jim#
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener# This code is free software; you can redistribute it and/or modify it
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener# under the terms of the GNU General Public License version 2 only, as
a81c0c1ae464b2063a21b45f80c9da8d89bb840ecovener# published by the Free Software Foundation. Sun designates this
ffae06377667a5d8f9699ac7512134de7000a83dminfrin# particular file as subject to the "Classpath" exception as provided
ffae06377667a5d8f9699ac7512134de7000a83dminfrin# by Sun in the LICENSE file that accompanied this code.
ffae06377667a5d8f9699ac7512134de7000a83dminfrin#
ffae06377667a5d8f9699ac7512134de7000a83dminfrin# This code is distributed in the hope that it will be useful, but WITHOUT
efc81fe729a2b7401028387da184b4a98f0b854atrawick# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
efc81fe729a2b7401028387da184b4a98f0b854atrawick# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
efc81fe729a2b7401028387da184b4a98f0b854atrawick# version 2 for more details (a copy is included in the LICENSE file that
efc81fe729a2b7401028387da184b4a98f0b854atrawick# accompanied this code).
9c67ffea79ab184351b5d554b57814e13285e758jim#
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jim# You should have received a copy of the GNU General Public License version
8f066564bfc0fd6ddc6ca4b2f2410615554597d1jim# 2 along with this work; if not, write to the Free Software Foundation,
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim#
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
29ecbd9db1622e74964264d078336f7604d65093jim# CA 95054 USA or visit www.sun.com if you need additional information or
29ecbd9db1622e74964264d078336f7604d65093jim# have any questions.
29ecbd9db1622e74964264d078336f7604d65093jim#
a503caacf7ab36d5bc42cb7c78256e1221642656jim
a503caacf7ab36d5bc42cb7c78256e1221642656jim#
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin# Makefile for building RMI stubs of JMX Remote
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin#
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrin
da40dfabefd6f8eb8450e9a097c594ee2ab13e3eminfrinBUILDDIR = ../../..
59d316b83d42d2a07e25c20d8c35a07b369618bdsfPACKAGE = javax.management
59d316b83d42d2a07e25c20d8c35a07b369618bdsfPRODUCT = sun
59d316b83d42d2a07e25c20d8c35a07b369618bdsfinclude $(BUILDDIR)/common/Defs.gmk
59d316b83d42d2a07e25c20d8c35a07b369618bdsf
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf#
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf# Files to compile
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf#
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf
8602c898d4e06a7e7b9d6b7cf4b172a8e7310987sf# NO java files to compile: already compiled in javax/management/Makefile
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# Note : some targets are double colon rules and some single colon rules
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# within common included gmk files : that is why the following for loop
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# has been duplicated.
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim
4acc1efe19ac2e6f2df0abb4d5bf99bd8ae3c5c6jim# When building the openjdk, build snmp only if importing binary plugs,
3e2582713ed6883683272fbc628a27419d0ed543minfrinifdef OPENJDK
3e2582713ed6883683272fbc628a27419d0ed543minfrin ifeq ($(IMPORT_BINARY_PLUGS),true)
3e2582713ed6883683272fbc628a27419d0ed543minfrin SUBDIRS = snmp
3e2582713ed6883683272fbc628a27419d0ed543minfrin endif
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrinelse
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrin SUBDIRS = snmp
2c132b1e3610da2fb9e6b3594a313efa3ff29e22minfrinendif
a46801e6532423aa7bd184471eb49158d7c9ae62sf
a46801e6532423aa7bd184471eb49158d7c9ae62sfall build:
a46801e6532423aa7bd184471eb49158d7c9ae62sf $(SUBDIRS-loop)
808a26d70f28498b9d7252a70d9fb23def781901minfrin
808a26d70f28498b9d7252a70d9fb23def781901minfrinclean clobber::
ef12246b88300687bf1faaf56d115dd8d8d82761jorton $(SUBDIRS-loop)
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin#
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin# Rules
6f9bf764bc79571d1da19dfbbd78527fca278a8eminfrin#
7d59a9f282af9dce031b61062a0d941641101237rplueminclude $(BUILDDIR)/common/Classes.gmk
7d59a9f282af9dce031b61062a0d941641101237rpluem
7d59a9f282af9dce031b61062a0d941641101237rpluembuild: stubs
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton#
e63e8b4b886d2144fed7946d0fbe8d27386be2dcjorton# Clean up internal-use-only package.
223c64b836fbc2bc8611da9604379dfe13f56abasf#
223c64b836fbc2bc8611da9604379dfe13f56abasfclean ::
223c64b836fbc2bc8611da9604379dfe13f56abasf $(RM) -r $(CLASSDESTDIR)/com/sun/jmx \
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf $(CLASSDESTDIR)/com/sun/management/jmx \
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf $(CLASSDESTDIR)/org/omg/stub/javax/management/remote/rmi \
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf
bf507cc1e6ad55303c3d436c6ca153f46c788be6sf
93cf7fc650197b941ae31a7c7e51e901b129e954igalic#
93cf7fc650197b941ae31a7c7e51e901b129e954igalic# The remainder of this makefile contains defs and rules
93cf7fc650197b941ae31a7c7e51e901b129e954igalic# for generating RMI stubs.
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung# With inspiration from com/sun/jndi/rmi/registry
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung#
a1b1c78faf7969affb320f5c8eb270ffa21314c4rjung
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton#
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton# Full class names of implementations requiring stubs
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jorton#
a2558ec3af4391b7da7fe61e1e53383bbd0174b9jortonREMOTE_impls = \
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton javax.management.remote.rmi.RMIConnectionImpl \
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton javax.management.remote.rmi.RMIServerImpl \
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton
8d6b3720340d0bd7f8d25e2a8563527e97a48df8jorton
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sfREMOTE_files = $(subst .,/,$(REMOTE_impls))
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sfFILES_stubs = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Stub.class)
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sfFILES_ties = $(subst javax/management/remote/rmi/,javax/management/remote/rmi/_,$(REMOTE_files:%=$(CLASSDESTDIR)/%_Tie.class))
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf
48e4b65042d94992c50f1db6c0b0cdbd99ca77e8sf#
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim# Compile stubs and skeletons for remote implementations
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim#
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim# Keep generated RMI/JRMP Stub source files and copy them to GENSRCDIR
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim# so that javadoc can include them in the API (4997471)
47ae8ca3c79d279b2e5424d6b8cf5e4e61ea968fjim#
397df70abe0bdd78a84fb6c38c02641bcfeadceasf# For RMI/IIOP call rmic a second time with -standardPackage option
397df70abe0bdd78a84fb6c38c02641bcfeadceasf# so that *_tie classes are generated in package without the prefix
397df70abe0bdd78a84fb6c38c02641bcfeadceasf# org.omg.stub (6375696)
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf#
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf$(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class
9b5fe1d4ec48643fb819bbce9dc80f93f444fb48sf $(prep-target)
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf $(RMIC) -classpath "$(CLASSDESTDIR)" \
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf -d $(CLASSDESTDIR) \
dd9f60fdfeb73f829fe0b260b7975b4b22be0838sf -v1.2 \
135e1d6a301398168e3b2e5125508828591e1673niq -keepgenerated \
135e1d6a301398168e3b2e5125508828591e1673niq $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
135e1d6a301398168e3b2e5125508828591e1673niq $(MKDIR) -p $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
135e1d6a301398168e3b2e5125508828591e1673niq $(CP) $(@:%.class=%.java) \
135e1d6a301398168e3b2e5125508828591e1673niq $(@D:$(CLASSDESTDIR)/%=$(GENSRCDIR)/%)
135e1d6a301398168e3b2e5125508828591e1673niq $(RMIC) -classpath "$(CLASSDESTDIR)" \
135e1d6a301398168e3b2e5125508828591e1673niq -d $(CLASSDESTDIR) \
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin -iiop -v1.2 \
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin $(RMIC) $(HOTSPOT_INTERPRETER_FLAG) -classpath "$(CLASSDESTDIR)" \
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin -d $(CLASSDESTDIR) \
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin -iiop -v1.2 \
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin -standardPackage \
c7de70e936ac1e36c25676fe62e65dbacb947619minfrin $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
1b1621900bd89ddc496d721c865a726f635ebd7esf @$(java-vm-cleanup)
1b1621900bd89ddc496d721c865a726f635ebd7esf
1b1621900bd89ddc496d721c865a726f635ebd7esfstubs: $(FILES_stubs)
1b1621900bd89ddc496d721c865a726f635ebd7esf