#
# @(#)GNUmakefile	1.3 98/09/24
#
# Makefile for building sun.rmi.*
#

BUILDDIR = ../../..
include $(BUILDDIR)/Platform.gmk
PACKAGE = sun.rmi
PRODUCT = sun
include $(BUILDDIR)/makefiles/Defs.gmk

#
# Files to compile.
#
include $(MINCLUDES)sun_rmi.jmk

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

#
# Full package names of implementations requiring stubs
#
REMOTE_impls = \
	sun.rmi.registry.RegistryImpl \
	sun.rmi.transport.DGCImpl

DEBUG     += stubs bin
OPTIMIZED += stubs bin

clean:: bin.clean


#
# Compile stubs and skeletons for remote implementations
# (use -v1.1 for backward interoperability)
#
$(CLASSBINDIR)/%_Skel.class $(CLASSBINDIR)/%_Stub.class: $(CLASSBINDIR)/%.class
	$(RMIC) -v1.1 -classpath $(SOURCEPATH):$(CLASSBINDIR)		\
		-d $(CLASSBINDIR) 					\
		'$(subst /,.,$(<:$(CLASSBINDIR)/%.class=%))'

REMOTE_files = $(subst .,/,$(REMOTE_impls))
FILES_stubs  = $(REMOTE_files:%=$(CLASSBINDIR)/%_Stub.class)
FILES_skels  = $(REMOTE_files:%=$(CLASSBINDIR)/%_Skel.class)

stubs: $(FILES_stubs) $(FILES_skels)

bin: .bin.dirs $(TOPDIR)/src/$(PLATFORM)/bin/java-rmi.cgi.sh
	rm -rf $(BINDIR)/java-rmi.cgi
	cp $(TOPDIR)/src/$(PLATFORM)/bin/java-rmi.cgi.sh $(BINDIR)/java-rmi.cgi
	chmod +x $(BINDIR)/java-rmi.cgi

bin.clean:
	rm -rf .bin.* $(BINDIR)/java-rmi.cgi

.bin.dirs:
	mkdir -p $(BINDIR)
	touch .bin.dirs
