1 # 2 # Copyright (c) 1998, 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 sun.rmi.* 28 # 29 30 BUILDDIR = ../../.. 31 PACKAGE = sun.rmi 32 PRODUCT = sun 33 LIBRARY = rmi 34 include $(BUILDDIR)/common/Defs.gmk 35 36 # 37 # Add use of a mapfile 38 # 39 FILES_m = mapfile-vers 40 include $(BUILDDIR)/common/Mapfile-vers.gmk 41 42 # 43 # Java files to compile. 44 # 45 AUTO_FILES_JAVA_DIRS = \ 46 java/rmi \ 47 sun/rmi/log \ 48 sun/rmi/registry \ 49 sun/rmi/runtime \ 50 sun/rmi/server \ 51 sun/rmi/transport \ 52 com/sun/rmi 53 54 # 55 # Native files to compile. 56 # 57 FILES_c = \ 58 sun/rmi/server/MarshalInputStream.c 59 60 # 61 # Add ambient vpath to pick up files not part of sun.rmi package 62 # 63 vpath %.c $(SHARE_SRC)/native/sun/rmi/server 64 65 # 66 # Exported files that require generated .h 67 # 68 FILES_export = \ 69 sun/rmi/server/MarshalInputStream.java 70 71 # 72 # Link to JVM for JVM_LatestUserDefinedLoader 73 # 74 OTHER_LDLIBS = $(JVMLIB) 75 76 # 77 # Rules 78 # 79 include $(BUILDDIR)/common/Library.gmk 80 81 # 82 # Full package names of implementations requiring stubs 83 # 84 REMOTE_impls = \ 85 sun.rmi.registry.RegistryImpl \ 86 sun.rmi.transport.DGCImpl 87 88 ifeq ($(PLATFORM), windows) 89 build: stubs 90 else # PLATFORM 91 ifneq ($(ARCH_DATA_MODEL), 32) 92 build: stubs 93 else # ARCH_DATA_MODEL 94 build: stubs bin 95 endif 96 endif 97 98 clean clobber:: bin.clean 99 100 101 # 102 # Compile stubs and skeletons for remote implementations 103 # (use -v1.1 for backward interoperability) 104 # 105 # gnumake 3.78.1 on windows attempts to build the target even 106 # though it exists. Not sure why, but a check for file existence 107 # has been added... 108 # 109 $(CLASSBINDIR)/%_Skel.class $(CLASSBINDIR)/%_Stub.class: $(CLASSBINDIR)/%.class 110 if [ ! -s $@ ] ; \ 111 then $(RMIC) -v1.1 -classpath \ 112 "$(CLASSBINDIR)" \ 113 -d $(CLASSBINDIR) '$(subst /,.,$(<:$(CLASSBINDIR)/%.class=%))' ; \ 114 fi 115 @$(java-vm-cleanup) 116 117 REMOTE_files = $(subst .,/,$(REMOTE_impls)) 118 FILES_stubs = $(REMOTE_files:%=$(CLASSBINDIR)/%_Stub.class) 119 FILES_skels = $(REMOTE_files:%=$(CLASSBINDIR)/%_Skel.class) 120 121 stubs: $(FILES_stubs) $(FILES_skels) 122 123 bin: $(BINDIR)/java-rmi.cgi 124 125 $(BINDIR)/java-rmi.cgi: $(PLATFORM_SRC)/bin/java-rmi.cgi.sh 126 $(install-file) 127 $(call chmod-file, a+x) 128 129 bin.clean: 130 $(RM) $(BINDIR)/java-rmi.cgi 131 132 .PHONY: stubs bin bin.clean 133