1 #
   2 # Copyright (c) 1999, 2011, 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 #
  27 # Makefile for building JNDI RMI registry service provider
  28 #
  29 
  30 BUILDDIR = ../../../../..
  31 PACKAGE = com.sun.jndi.rmi.registry
  32 PRODUCT = sun
  33 include $(BUILDDIR)/common/Defs.gmk
  34 
  35 #
  36 # Files to compile
  37 #
  38 AUTO_FILES_JAVA_DIRS = com/sun/jndi/rmi/registry com/sun/jndi/url/rmi
  39 
  40 #
  41 # Rules
  42 #
  43 include $(BUILDDIR)/common/Classes.gmk
  44 
  45 build: stubs
  46 
  47 #
  48 # The remainder of this makefile contains defs and rules
  49 # for generating RMI stubs.
  50 # With inspiration from build/solaris/sun/rmi/rmi/GNUmakefile.
  51 #
  52 
  53 #
  54 # Full class names of implementations requiring stubs
  55 #
  56 REMOTE_impls = \
  57         $(PACKAGE).ReferenceWrapper
  58 
  59 REMOTE_files = $(subst .,/,$(REMOTE_impls))
  60 FILES_stubs  = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Stub.class)
  61 FILES_skels  = $(REMOTE_files:%=$(CLASSDESTDIR)/%_Skel.class)
  62 
  63 #
  64 # Compile stubs and skeletons for remote implementations
  65 #
  66 $(CLASSDESTDIR)/%_Skel.class $(CLASSDESTDIR)/%_Stub.class:      \
  67                 $(CLASSDESTDIR)/%.class
  68         $(RMIC) -classpath "$(CLASSDESTDIR)"    \
  69                 -d $(CLASSDESTDIR)                              \
  70                 $(subst /,.,$(<:$(CLASSDESTDIR)/%.class=%))
  71         @$(java-vm-cleanup)
  72 
  73 stubs: $(FILES_stubs) $(FILES_skels)