1 #
   2 # Copyright 1995-2008 Sun Microsystems, Inc.  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.  Sun designates this
   8 # particular file as subject to the "Classpath" exception as provided
   9 # by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  22 # CA 95054 USA or visit www.sun.com if you need additional information or
  23 # have any questions.
  24 #
  25 
  26 BUILDDIR = ../..
  27 PACKAGE = java.net
  28 LIBRARY = net
  29 PRODUCT = sun
  30 include $(BUILDDIR)/common/Defs.gmk
  31 
  32 #
  33 # Files
  34 #
  35 include FILES_c.gmk
  36 
  37 AUTO_FILES_JAVA_DIRS = java/net
  38 
  39 ifeq ($(PLATFORM), windows)
  40     # Windows 9x module only needed on 32-bit build
  41     ifeq ($(ARCH_DATA_MODEL), 32)
  42         FILES_c += NetworkInterface_win9x.c
  43     endif
  44     FILES_c += NTLMAuthSequence.c
  45     FILES_c += NetworkInterface_winXP.c
  46 endif
  47 
  48 FILES_export = \
  49     java/net/Socket.java \
  50     java/net/SocketOptions.java \
  51     java/net/SocketImpl.java \
  52     java/net/AbstractPlainSocketImpl.java \
  53     java/net/PlainSocketImpl.java \
  54     java/net/ServerSocket.java \
  55     java/net/InetAddress.java \
  56     java/net/Inet4Address.java \
  57     java/net/Inet6Address.java \
  58     java/net/InetAddressImpl.java \
  59     java/net/Inet4AddressImpl.java \
  60     java/net/Inet6AddressImpl.java \
  61     java/net/NetworkInterface.java \
  62     java/net/SocketInputStream.java \
  63     java/net/SocketOutputStream.java \
  64     java/net/DefaultDatagramSocketImplFactory.java \
  65     java/net/DatagramPacket.java \
  66     java/net/DatagramSocket.java \
  67     java/net/DatagramSocketImpl.java \
  68     java/net/AbstractPlainDatagramSocketImpl.java \
  69     java/net/MulticastSocket.java \
  70     java/net/UnknownHostException.java \
  71     java/net/ProtocolException.java \
  72     sun/net/spi/DefaultProxySelector.java
  73 
  74 ifeq ($(PLATFORM), windows) 
  75     FILES_export += java/net/TwoStacksPlainSocketImpl.java
  76     FILES_export += java/net/DualStackPlainSocketImpl.java
  77     FILES_export += java/net/TwoStacksPlainDatagramSocketImpl.java
  78     FILES_export += java/net/DualStackPlainDatagramSocketImpl.java
  79 else
  80     FILES_export += java/net/PlainDatagramSocketImpl.java
  81 endif
  82 
  83 #
  84 # Find platform specific native code
  85 #
  86 vpath %.c $(PLATFORM_SRC)/native/sun/net/dns $(PLATFORM_SRC)/native/sun/net/www/protocol/http $(PLATFORM_SRC)/native/sun/net/spi
  87 
  88 #
  89 # Include rules
  90 #
  91 include $(BUILDDIR)/common/Mapfile-vers.gmk
  92 
  93 include $(BUILDDIR)/common/Library.gmk
  94 
  95 ifeq ($(PLATFORM), windows)
  96   OTHER_LDLIBS = ws2_32.lib $(JVMLIB)
  97 else
  98   OTHER_LDLIBS = $(LIBSOCKET) -lnsl -ldl $(JVMLIB)
  99 endif
 100 ifeq ($(PLATFORM), linux)
 101   OTHER_LDLIBS += -lpthread
 102 endif
 103 
 104 CLASSES.export += java.lang.Integer java.io.FileDescriptor java.net.InetAddressImplFactory java.net.Inet4AddressImpl java.net.Inet6AddressImpl
 105 
 106 #
 107 # Resources
 108 #
 109 LOCALE_SET_DEFINITION = jre
 110 
 111 MISC_FILES = $(LIBDIR) $(LIBDIR)/net.properties
 112 
 113 $(LIBDIR)/net.properties: $(SHARE_SRC)/lib/net.properties
 114         @$(RM) $@
 115         $(CP) $< $@
 116 
 117 # 
 118 # SDP configuration template
 119 #
 120 ifeq ($(PLATFORM), solaris)
 121 SDP_PATH = sdp/sdp.conf.template
 122 SDP_CONF = $(LIBDIR)/$(SDP_PATH)
 123 $(SDP_CONF): $(PLATFORM_SRC)/lib/$(SDP_PATH)
 124         @$(RM) $*
 125         $(install-file)
 126 
 127 MISC_FILES += $(SDP_CONF)
 128 endif
 129 
 130 build: $(MISC_FILES)
 131