1 #
   2 # Copyright (c) 2000, 2009, 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 java.nio
  28 #
  29 
  30 BUILDDIR = ../..
  31 MODULE  = nio
  32 PACKAGE = java.nio
  33 LIBRARY = nio
  34 PRODUCT = java
  35 OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial -Werror
  36 include $(BUILDDIR)/common/Defs.gmk
  37 
  38 NIO_SRC = $(SHARE_SRC)/classes/java/nio
  39 NIO_GEN = $(GENSRCDIR)/java/nio
  40 
  41 SNIO_SRC = $(SHARE_SRC)/classes/sun/nio
  42 SNIO_GEN = $(GENSRCDIR)/sun/nio
  43 
  44 #
  45 # Files to compile
  46 #
  47 
  48 include FILES_java.gmk
  49 include FILES_c.gmk
  50 include Exportedfiles.gmk
  51 
  52 ifeq ($(PLATFORM), solaris)
  53 FILES_java += \
  54         sun/nio/ch/AbstractPollSelectorImpl.java \
  55         sun/nio/ch/DevPollArrayWrapper.java \
  56         sun/nio/ch/DevPollSelectorImpl.java \
  57         sun/nio/ch/DevPollSelectorProvider.java \
  58         sun/nio/ch/InheritedChannel.java \
  59         sun/nio/ch/PollSelectorProvider.java \
  60         sun/nio/ch/PollSelectorImpl.java \
  61         sun/nio/ch/Port.java \
  62         sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
  63         sun/nio/ch/SolarisAsynchronousChannelProvider.java \
  64         sun/nio/ch/SolarisEventPort.java \
  65         sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
  66         sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
  67         \
  68         sun/nio/fs/GnomeFileTypeDetector.java \
  69         sun/nio/fs/PollingWatchService.java \
  70         sun/nio/fs/SolarisAclFileAttributeView.java \
  71         sun/nio/fs/SolarisFileStore.java \
  72         sun/nio/fs/SolarisFileSystem.java \
  73         sun/nio/fs/SolarisFileSystemProvider.java \
  74         sun/nio/fs/SolarisUserDefinedFileAttributeView.java \
  75         sun/nio/fs/SolarisNativeDispatcher.java \
  76         sun/nio/fs/SolarisWatchService.java \
  77         sun/nio/fs/UnixChannelFactory.java \
  78         sun/nio/fs/UnixCopyFile.java \
  79         sun/nio/fs/UnixDirectoryStream.java \
  80         sun/nio/fs/UnixException.java \
  81         sun/nio/fs/UnixFileAttributeViews.java \
  82         sun/nio/fs/UnixFileAttributes.java \
  83         sun/nio/fs/UnixFileKey.java \
  84         sun/nio/fs/UnixFileModeAttribute.java \
  85         sun/nio/fs/UnixFileStore.java \
  86         sun/nio/fs/UnixFileStoreAttributes.java \
  87         sun/nio/fs/UnixFileSystem.java \
  88         sun/nio/fs/UnixFileSystemProvider.java \
  89         sun/nio/fs/UnixMountEntry.java \
  90         sun/nio/fs/UnixNativeDispatcher.java \
  91         sun/nio/fs/UnixPath.java \
  92         sun/nio/fs/UnixSecureDirectoryStream.java \
  93         sun/nio/fs/UnixUriUtils.java \
  94         sun/nio/fs/UnixUserPrincipals.java
  95 
  96 FILES_c += \
  97         DevPollArrayWrapper.c \
  98         InheritedChannel.c \
  99         NativeThread.c \
 100         PollArrayWrapper.c \
 101         SolarisEventPort.c \
 102         UnixAsynchronousServerSocketChannelImpl.c \
 103         UnixAsynchronousSocketChannelImpl.c \
 104         \
 105         GnomeFileTypeDetector.c \
 106         SolarisNativeDispatcher.c \
 107         SolarisWatchService.c \
 108         UnixCopyFile.c \
 109         UnixNativeDispatcher.c
 110 
 111 FILES_export += \
 112         sun/nio/ch/DevPollArrayWrapper.java \
 113         sun/nio/ch/InheritedChannel.java \
 114         sun/nio/ch/NativeThread.java \
 115         sun/nio/ch/SolarisEventPort.java \
 116         sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
 117         sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
 118         \
 119         sun/nio/fs/GnomeFileTypeDetector.java \
 120         sun/nio/fs/SolarisNativeDispatcher.java \
 121         sun/nio/fs/SolarisWatchService.java \
 122         sun/nio/fs/UnixCopyFile.java \
 123         sun/nio/fs/UnixNativeDispatcher.java
 124 
 125 FILES_gen += \
 126         sun/nio/fs/SolarisConstants.java \
 127         sun/nio/fs/UnixConstants.java
 128 endif # PLATFORM = solaris
 129 
 130 ifeq ($(PLATFORM), windows)
 131 FILES_java += \
 132         sun/nio/ch/Iocp.java \
 133         sun/nio/ch/PendingIoCache.java \
 134         sun/nio/ch/WindowsAsynchronousChannelProvider.java \
 135         sun/nio/ch/WindowsAsynchronousFileChannelImpl.java \
 136         sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java \
 137         sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java \
 138         sun/nio/ch/WindowsSelectorImpl.java \
 139         sun/nio/ch/WindowsSelectorProvider.java \
 140         \
 141         sun/nio/fs/RegistryFileTypeDetector.java \
 142         sun/nio/fs/WindowsAclFileAttributeView.java \
 143         sun/nio/fs/WindowsChannelFactory.java \
 144         sun/nio/fs/WindowsConstants.java \
 145         sun/nio/fs/WindowsDirectoryStream.java \
 146         sun/nio/fs/WindowsException.java \
 147         sun/nio/fs/WindowsFileAttributeViews.java \
 148         sun/nio/fs/WindowsFileAttributes.java \
 149         sun/nio/fs/WindowsFileCopy.java \
 150         sun/nio/fs/WindowsFileStore.java \
 151         sun/nio/fs/WindowsFileSystem.java \
 152         sun/nio/fs/WindowsFileSystemProvider.java \
 153         sun/nio/fs/WindowsLinkSupport.java \
 154         sun/nio/fs/WindowsUserDefinedFileAttributeView.java \
 155         sun/nio/fs/WindowsNativeDispatcher.java \
 156         sun/nio/fs/WindowsPath.java \
 157         sun/nio/fs/WindowsPathParser.java \
 158         sun/nio/fs/WindowsPathType.java \
 159         sun/nio/fs/WindowsSecurity.java \
 160         sun/nio/fs/WindowsSecurityDescriptor.java \
 161         sun/nio/fs/WindowsUriSupport.java \
 162         sun/nio/fs/WindowsUserPrincipals.java \
 163         sun/nio/fs/WindowsWatchService.java
 164 
 165 FILES_c += \
 166         Iocp.c \
 167         RegistryFileTypeDetector.c \
 168         WindowsAsynchronousFileChannelImpl.c \
 169         WindowsAsynchronousServerSocketChannelImpl.c \
 170         WindowsAsynchronousSocketChannelImpl.c \
 171         WindowsNativeDispatcher.c \
 172         WindowsSelectorImpl.c
 173 
 174 FILES_export += \
 175         sun/nio/ch/Iocp.java \
 176         sun/nio/ch/WindowsAsynchronousFileChannelImpl.java \
 177         sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java \
 178         sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java \
 179         sun/nio/ch/WindowsSelectorImpl.java \
 180         sun/nio/fs/WindowsNativeDispatcher.java \
 181         sun/nio/fs/RegistryFileTypeDetector.java
 182 endif # PLATFORM = windows
 183 
 184 ifeq ($(PLATFORM), linux)
 185 FILES_java += \
 186         sun/nio/ch/AbstractPollSelectorImpl.java \
 187         sun/nio/ch/EPoll.java \
 188         sun/nio/ch/EPollArrayWrapper.java \
 189         sun/nio/ch/EPollPort.java \
 190         sun/nio/ch/EPollSelectorProvider.java \
 191         sun/nio/ch/EPollSelectorImpl.java \
 192         sun/nio/ch/InheritedChannel.java \
 193         sun/nio/ch/LinuxAsynchronousChannelProvider.java \
 194         sun/nio/ch/PollSelectorProvider.java \
 195         sun/nio/ch/PollSelectorImpl.java \
 196         sun/nio/ch/Port.java \
 197         sun/nio/ch/SimpleAsynchronousFileChannelImpl.java \
 198         sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
 199         sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
 200         \
 201         sun/nio/fs/GnomeFileTypeDetector.java \
 202         sun/nio/fs/LinuxDosFileAttributeView.java \
 203         sun/nio/fs/LinuxFileStore.java \
 204         sun/nio/fs/LinuxFileSystem.java \
 205         sun/nio/fs/LinuxFileSystemProvider.java \
 206         sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
 207         sun/nio/fs/LinuxNativeDispatcher.java \
 208         sun/nio/fs/LinuxWatchService.java \
 209         sun/nio/fs/PollingWatchService.java \
 210         sun/nio/fs/UnixChannelFactory.java \
 211         sun/nio/fs/UnixCopyFile.java \
 212         sun/nio/fs/UnixDirectoryStream.java \
 213         sun/nio/fs/UnixException.java \
 214         sun/nio/fs/UnixFileAttributeViews.java \
 215         sun/nio/fs/UnixFileAttributes.java \
 216         sun/nio/fs/UnixFileKey.java \
 217         sun/nio/fs/UnixFileModeAttribute.java \
 218         sun/nio/fs/UnixFileStore.java \
 219         sun/nio/fs/UnixFileStoreAttributes.java \
 220         sun/nio/fs/UnixFileSystem.java \
 221         sun/nio/fs/UnixFileSystemProvider.java \
 222         sun/nio/fs/UnixMountEntry.java \
 223         sun/nio/fs/UnixNativeDispatcher.java \
 224         sun/nio/fs/UnixPath.java \
 225         sun/nio/fs/UnixSecureDirectoryStream.java \
 226         sun/nio/fs/UnixUriUtils.java \
 227         sun/nio/fs/UnixUserPrincipals.java
 228 
 229 FILES_c += \
 230         EPoll.c \
 231         EPollArrayWrapper.c \
 232         EPollPort.c \
 233         InheritedChannel.c \
 234         NativeThread.c \
 235         PollArrayWrapper.c \
 236         UnixAsynchronousServerSocketChannelImpl.c \
 237         UnixAsynchronousSocketChannelImpl.c \
 238         \
 239         GnomeFileTypeDetector.c \
 240         LinuxNativeDispatcher.c \
 241         LinuxWatchService.c \
 242         UnixCopyFile.c \
 243         UnixNativeDispatcher.c
 244 
 245 FILES_export += \
 246         sun/nio/ch/EPoll.java \
 247         sun/nio/ch/EPollArrayWrapper.java \
 248         sun/nio/ch/EPollPort.java \
 249         sun/nio/ch/InheritedChannel.java \
 250         sun/nio/ch/NativeThread.java \
 251         sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java \
 252         sun/nio/ch/UnixAsynchronousSocketChannelImpl.java \
 253         \
 254         sun/nio/fs/GnomeFileTypeDetector.java \
 255         sun/nio/fs/LinuxNativeDispatcher.java \
 256         sun/nio/fs/LinuxWatchService.java \
 257         sun/nio/fs/UnixCopyFile.java \
 258         sun/nio/fs/UnixNativeDispatcher.java
 259         
 260 FILES_gen += \
 261         sun/nio/fs/UnixConstants.java
 262 endif # PLATFORM = linux
 263 
 264 #
 265 # Find platform-specific C source files
 266 #
 267 vpath %.c $(PLATFORM_SRC)/native/sun/nio/fs
 268 vpath %.c $(PLATFORM_SRC)/native/sun/nio/ch
 269 vpath %.c $(SHARE_SRC)/native/sun/nio/ch
 270 
 271 #
 272 # Various variables
 273 #
 274 
 275 JAVALIB =               # Don't self-link
 276 
 277 #
 278 # Access to io_util.c and net_util.c
 279 #
 280 
 281 OTHER_INCLUDES += \
 282   -I$(SHARE_SRC)/native/sun/nio/ch \
 283   -I$(SHARE_SRC)/native/java/io \
 284   -I$(SHARE_SRC)/native/java/net \
 285   -I$(PLATFORM_SRC)/native/java/net \
 286   -I$(CLASSHDRDIR)/../../../java.lang/java/CClassHeaders
 287 
 288 ifeq ($(PLATFORM),windows)
 289   OTHER_LDLIBS += $(JVMLIB) ws2_32.lib \
 290      -libpath:$(LIBDIR) java.lib \
 291      $(OBJDIR)/../../../../sun/java.net/net/$(OBJDIRNAME)/net.lib \
 292      $(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/io_util.obj \
 293      $(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/FileDescriptor_md.obj
 294 endif
 295 ifeq ($(PLATFORM), linux)
 296 OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
 297 endif
 298 ifeq ($(PLATFORM), solaris)
 299 OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
 300                 -L$(LIBDIR)/$(LIBARCH) -ljava -lnet
 301 endif # PLATFORM
 302 
 303 #
 304 # Rules
 305 #
 306 
 307 SUBDIRS_management = mxbean
 308 include $(BUILDDIR)/common/Subdirs.gmk
 309 
 310 build: sources
 311         $(SUBDIRS-loop)
 312 
 313 clean clobber::
 314         $(RM) -r $(NIO_GEN) $(SNIO_GEN)
 315         $(RM) -r $(CLASSDESTDIR)/java/nio
 316         $(RM) -r $(CLASSDESTDIR)/sun/nio
 317 
 318 ifeq ($(PLATFORM), solaris)
 319 FILES_m = mapfile-solaris
 320 endif
 321 ifeq ($(PLATFORM), linux)
 322 FILES_m = mapfile-linux
 323 endif
 324 include $(BUILDDIR)/common/Mapfile-vers.gmk
 325 include $(BUILDDIR)/common/Library.gmk
 326 
 327 #
 328 # Generate source files
 329 #
 330 
 331 SPP_JARFILE = $(BUILDTOOLJARDIR)/spp.jar
 332 SPP_CMD = $(BOOT_JAVA_CMD) -jar $(SPP_JARFILE)
 333 
 334 FILES_genout = $(FILES_gen:%.java=$(GENSRCDIR)/%.java)
 335 
 336 BUF_SRC=$(NIO_SRC)
 337 CH_SRC=$(NIO_SRC)/channels
 338 CS_SRC=$(NIO_SRC)/charset
 339 SCH_SRC=$(SNIO_SRC)/ch
 340 SCS_SRC=$(SNIO_SRC)/cs
 341 SFS_SRC=$(SNIO_SRC)/fs
 342 
 343 # Template files
 344 HEAP_X_BUF_TEMPLATE=$(BUF_SRC)/Heap-X-Buffer.java.template
 345 BYTE_X_BUF_TEMPLATE=$(BUF_SRC)/ByteBufferAs-X-Buffer.java.template
 346 X_BUF_TEMPLATE=$(BUF_SRC)/X-Buffer.java.template
 347 X_BUF_BIN_TEMPLATE=$(BUF_SRC)/X-Buffer-bin.java.template
 348 DIRECT_X_BUF_TEMPLATE=$(BUF_SRC)/Direct-X-Buffer.java.template
 349 DIRECT_X_BUF_BIN_TEMPLATE=$(BUF_SRC)/Direct-X-Buffer-bin.java.template
 350 CHARSET_X_CODER_TEMPLATE=$(CS_SRC)/Charset-X-Coder.java.template
 351 
 352 BUF_GEN=$(NIO_GEN)
 353 CH_GEN=$(NIO_GEN)/channels
 354 CS_GEN=$(NIO_GEN)/charset
 355 SCH_GEN=$(SNIO_GEN)/ch
 356 SCS_GEN=$(SNIO_GEN)/cs
 357 SFS_GEN=$(SNIO_GEN)/fs
 358 
 359 FILES_gensbcs_out = $(FILES_gen_sbcs:%.java=$(GENSRCDIR)/%.java)
 360 
 361 sources: $(SPP_JARFILE) $(FILES_genout) $(FILES_gensbcs_out)
 362 
 363 #
 364 # Generated buffer classes
 365 #
 366 
 367 GEN_BUFFER_SH = genBuffer.sh
 368 
 369 GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK="$(NAWK)" SED="$(SED)" SH="$(SH)" \
 370                  $(SH) $(GEN_BUFFER_SH)
 371 
 372 # Public abstract buffer classes
 373 #
 374 $(BUF_GEN)/ByteBuffer.java: $(X_BUF_TEMPLATE) \
 375                             $(X_BUF_BIN_TEMPLATE) \
 376                             $(GEN_BUFFER_SH)
 377         $(prep-target)
 378         @$(RM) $@.temp
 379         TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 380         $(MV) $@.temp $@
 381 $(BUF_GEN)/CharBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 382         $(prep-target)
 383         @$(RM) $@.temp
 384         TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 385         $(MV) $@.temp $@
 386 $(BUF_GEN)/ShortBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 387         $(prep-target)
 388         @$(RM) $@.temp
 389         TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 390         $(MV) $@.temp $@
 391 $(BUF_GEN)/IntBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 392         $(prep-target)
 393         @$(RM) $@.temp
 394         TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 395         $(MV) $@.temp $@
 396 $(BUF_GEN)/LongBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 397         $(prep-target)
 398         @$(RM) $@.temp
 399         TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 400         $(MV) $@.temp $@
 401 $(BUF_GEN)/FloatBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 402         $(prep-target)
 403         @$(RM) $@.temp
 404         TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 405         $(MV) $@.temp $@
 406 $(BUF_GEN)/DoubleBuffer.java: $(X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 407         $(prep-target)
 408         @$(RM) $@.temp
 409         TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 410         $(MV) $@.temp $@
 411 
 412 # Buffers whose contents are heap-allocated
 413 # 
 414 $(BUF_GEN)/HeapByteBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 415         $(prep-target)
 416         @$(RM) $@.temp
 417         TYPE=byte SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 418         $(MV) $@.temp $@
 419 $(BUF_GEN)/HeapByteBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 420         $(prep-target)
 421         @$(RM) $@.temp
 422         TYPE=byte RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 423         $(MV) $@.temp $@
 424 $(BUF_GEN)/HeapCharBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 425         $(prep-target)
 426         @$(RM) $@.temp
 427         TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 428         $(MV) $@.temp $@
 429 $(BUF_GEN)/HeapCharBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 430         $(prep-target)
 431         @$(RM) $@.temp
 432         TYPE=char RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 433         $(MV) $@.temp $@
 434 $(BUF_GEN)/HeapShortBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 435         $(prep-target)
 436         @$(RM) $@.temp
 437         TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 438         $(MV) $@.temp $@
 439 $(BUF_GEN)/HeapShortBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 440         $(prep-target)
 441         @$(RM) $@.temp
 442         TYPE=short RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 443         $(MV) $@.temp $@
 444 $(BUF_GEN)/HeapIntBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 445         $(prep-target)
 446         @$(RM) $@.temp
 447         TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 448         $(MV) $@.temp $@
 449 $(BUF_GEN)/HeapIntBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 450         $(prep-target)
 451         @$(RM) $@.temp
 452         TYPE=int RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 453         $(MV) $@.temp $@
 454 $(BUF_GEN)/HeapLongBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 455         $(prep-target)
 456         @$(RM) $@.temp
 457         TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 458         $(MV) $@.temp $@
 459 $(BUF_GEN)/HeapLongBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 460         $(prep-target)
 461         @$(RM) $@.temp
 462         TYPE=long RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 463         $(MV) $@.temp $@
 464 $(BUF_GEN)/HeapFloatBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 465         $(prep-target)
 466         @$(RM) $@.temp
 467         TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 468         $(MV) $@.temp $@
 469 $(BUF_GEN)/HeapFloatBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 470         $(prep-target)
 471         @$(RM) $@.temp
 472         TYPE=float RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 473         $(MV) $@.temp $@
 474 $(BUF_GEN)/HeapDoubleBuffer.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 475         $(prep-target)
 476         @$(RM) $@.temp
 477         TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 478         $(MV) $@.temp $@
 479 $(BUF_GEN)/HeapDoubleBuffer%.java: $(HEAP_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 480         $(prep-target)
 481         @$(RM) $@.temp
 482         TYPE=double RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 483         $(MV) $@.temp $@
 484 
 485 # Direct byte buffer
 486 # 
 487 $(BUF_GEN)/DirectByteBuffer.java: $(DIRECT_X_BUF_TEMPLATE) \
 488                                   $(DIRECT_X_BUF_TEMPLATE) \
 489                                   $(GEN_BUFFER_SH)
 490         $(prep-target)
 491         @$(RM) $@.temp
 492         TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 493         $(MV) $@.temp $@
 494 $(BUF_GEN)/DirectByteBuffer%.java: $(DIRECT_X_BUF_TEMPLATE) \
 495                                    $(DIRECT_X_BUF_TEMPLATE) \
 496                                    $(GEN_BUFFER_SH)
 497         $(prep-target)
 498         @$(RM) $@.temp
 499         TYPE=byte RW=$* BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 500         $(MV) $@.temp $@
 501 
 502 # Unswapped views of direct byte buffers
 503 #
 504 $(BUF_GEN)/DirectCharBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 505         $(prep-target)
 506         @$(RM) $@.temp
 507         TYPE=char BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 508         $(MV) $@.temp $@
 509 $(BUF_GEN)/DirectCharBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 510         $(prep-target)
 511         @$(RM) $@.temp
 512         TYPE=char RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 513         $(MV) $@.temp $@
 514 $(BUF_GEN)/DirectShortBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 515         $(prep-target)
 516         @$(RM) $@.temp
 517         TYPE=short BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 518         $(MV) $@.temp $@
 519 $(BUF_GEN)/DirectShortBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 520         $(prep-target)
 521         @$(RM) $@.temp
 522         TYPE=short RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 523         $(MV) $@.temp $@
 524 $(BUF_GEN)/DirectIntBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 525         $(prep-target)
 526         @$(RM) $@.temp
 527         TYPE=int BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 528         $(MV) $@.temp $@
 529 $(BUF_GEN)/DirectIntBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 530         $(prep-target)
 531         @$(RM) $@.temp
 532         TYPE=int RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 533         $(MV) $@.temp $@
 534 $(BUF_GEN)/DirectLongBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 535         $(prep-target)
 536         @$(RM) $@.temp
 537         TYPE=long BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 538         $(MV) $@.temp $@
 539 $(BUF_GEN)/DirectLongBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 540         $(prep-target)
 541         @$(RM) $@.temp
 542         TYPE=long RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 543         $(MV) $@.temp $@
 544 $(BUF_GEN)/DirectFloatBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 545         $(prep-target)
 546         @$(RM) $@.temp
 547         TYPE=float BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 548         $(MV) $@.temp $@
 549 $(BUF_GEN)/DirectFloatBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 550         $(prep-target)
 551         @$(RM) $@.temp
 552         TYPE=float RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 553         $(MV) $@.temp $@
 554 $(BUF_GEN)/DirectDoubleBufferU.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 555         $(prep-target)
 556         @$(RM) $@.temp
 557         TYPE=double BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 558         $(MV) $@.temp $@
 559 $(BUF_GEN)/DirectDoubleBuffer%U.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 560         $(prep-target)
 561         @$(RM) $@.temp
 562         TYPE=double RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 563         $(MV) $@.temp $@
 564 
 565 # Swapped views of direct byte buffers
 566 #
 567 $(BUF_GEN)/DirectCharBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 568         $(prep-target)
 569         @$(RM) $@.temp
 570         TYPE=char BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 571         $(MV) $@.temp $@
 572 $(BUF_GEN)/DirectCharBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 573         $(prep-target)
 574         @$(RM) $@.temp
 575         TYPE=char RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 576         $(MV) $@.temp $@
 577 $(BUF_GEN)/DirectShortBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 578         $(prep-target)
 579         @$(RM) $@.temp
 580         TYPE=short BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 581         $(MV) $@.temp $@
 582 $(BUF_GEN)/DirectShortBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 583         $(prep-target)
 584         @$(RM) $@.temp
 585         TYPE=short RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 586         $(MV) $@.temp $@
 587 $(BUF_GEN)/DirectIntBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 588         $(prep-target)
 589         @$(RM) $@.temp
 590         TYPE=int BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 591         $(MV) $@.temp $@
 592 $(BUF_GEN)/DirectIntBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 593         $(prep-target)
 594         @$(RM) $@.temp
 595         TYPE=int RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 596         $(MV) $@.temp $@
 597 $(BUF_GEN)/DirectLongBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 598         $(prep-target)
 599         @$(RM) $@.temp
 600         TYPE=long BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 601         $(MV) $@.temp $@
 602 $(BUF_GEN)/DirectLongBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 603         $(prep-target)
 604         @$(RM) $@.temp
 605         TYPE=long RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 606         $(MV) $@.temp $@
 607 $(BUF_GEN)/DirectFloatBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 608         $(prep-target)
 609         @$(RM) $@.temp
 610         TYPE=float BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 611         $(MV) $@.temp $@
 612 $(BUF_GEN)/DirectFloatBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 613         $(prep-target)
 614         @$(RM) $@.temp
 615         TYPE=float RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 616         $(MV) $@.temp $@
 617 $(BUF_GEN)/DirectDoubleBufferS.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 618         $(prep-target)
 619         @$(RM) $@.temp
 620         TYPE=double BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 621         $(MV) $@.temp $@
 622 $(BUF_GEN)/DirectDoubleBuffer%S.java: $(DIRECT_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 623         $(prep-target)
 624         @$(RM) $@.temp
 625         TYPE=double RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 626         $(MV) $@.temp $@
 627 
 628 # Big-endian views of byte buffers
 629 #
 630 $(BUF_GEN)/ByteBufferAsCharBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 631         $(prep-target)
 632         @$(RM) $@.temp
 633         TYPE=char BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 634         $(MV) $@.temp $@
 635 $(BUF_GEN)/ByteBufferAsCharBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 636         $(prep-target)
 637         @$(RM) $@.temp
 638         TYPE=char RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 639         $(MV) $@.temp $@
 640 $(BUF_GEN)/ByteBufferAsShortBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 641         $(prep-target)
 642         @$(RM) $@.temp
 643         TYPE=short BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 644         $(MV) $@.temp $@
 645 $(BUF_GEN)/ByteBufferAsShortBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 646         $(prep-target)
 647         @$(RM) $@.temp
 648         TYPE=short RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 649         $(MV) $@.temp $@
 650 $(BUF_GEN)/ByteBufferAsIntBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 651         $(prep-target)
 652         @$(RM) $@.temp
 653         TYPE=int BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 654         $(MV) $@.temp $@
 655 $(BUF_GEN)/ByteBufferAsIntBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 656         $(prep-target)
 657         @$(RM) $@.temp
 658         TYPE=int RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 659         $(MV) $@.temp $@
 660 $(BUF_GEN)/ByteBufferAsLongBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 661         $(prep-target)
 662         @$(RM) $@.temp
 663         TYPE=long BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 664         $(MV) $@.temp $@
 665 $(BUF_GEN)/ByteBufferAsLongBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 666         $(prep-target)
 667         @$(RM) $@.temp
 668         TYPE=long RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 669         $(MV) $@.temp $@
 670 $(BUF_GEN)/ByteBufferAsFloatBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 671         $(prep-target)
 672         @$(RM) $@.temp
 673         TYPE=float BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 674         $(MV) $@.temp $@
 675 $(BUF_GEN)/ByteBufferAsFloatBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 676         $(prep-target)
 677         @$(RM) $@.temp
 678         TYPE=float RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 679         $(MV) $@.temp $@
 680 $(BUF_GEN)/ByteBufferAsDoubleBufferB.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 681         $(prep-target)
 682         @$(RM) $@.temp
 683         TYPE=double BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 684         $(MV) $@.temp $@
 685 $(BUF_GEN)/ByteBufferAsDoubleBuffer%B.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 686         $(prep-target)
 687         @$(RM) $@.temp
 688         TYPE=double RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 689         $(MV) $@.temp $@
 690 
 691 # Little-endian views of byte buffers
 692 #
 693 $(BUF_GEN)/ByteBufferAsCharBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 694         $(prep-target)
 695         @$(RM) $@.temp
 696         TYPE=char BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 697         $(MV) $@.temp $@
 698 $(BUF_GEN)/ByteBufferAsCharBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 699         $(prep-target)
 700         @$(RM) $@.temp
 701         TYPE=char RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 702         $(MV) $@.temp $@
 703 $(BUF_GEN)/ByteBufferAsShortBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 704         $(prep-target)
 705         @$(RM) $@.temp
 706         TYPE=short BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 707         $(MV) $@.temp $@
 708 $(BUF_GEN)/ByteBufferAsShortBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 709         $(prep-target)
 710         @$(RM) $@.temp
 711         TYPE=short RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 712         $(MV) $@.temp $@
 713 $(BUF_GEN)/ByteBufferAsIntBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 714         $(prep-target)
 715         @$(RM) $@.temp
 716         TYPE=int BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 717         $(MV) $@.temp $@
 718 $(BUF_GEN)/ByteBufferAsIntBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 719         $(prep-target)
 720         @$(RM) $@.temp
 721         TYPE=int RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 722         $(MV) $@.temp $@
 723 $(BUF_GEN)/ByteBufferAsLongBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 724         $(prep-target)
 725         @$(RM) $@.temp
 726         TYPE=long BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 727         $(MV) $@.temp $@
 728 $(BUF_GEN)/ByteBufferAsLongBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 729         $(prep-target)
 730         @$(RM) $@.temp
 731         TYPE=long RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 732         $(MV) $@.temp $@
 733 $(BUF_GEN)/ByteBufferAsFloatBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 734         $(prep-target)
 735         @$(RM) $@.temp
 736         TYPE=float BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 737         $(MV) $@.temp $@
 738 $(BUF_GEN)/ByteBufferAsFloatBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 739         $(prep-target)
 740         @$(RM) $@.temp
 741         TYPE=float RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 742         $(MV) $@.temp $@
 743 $(BUF_GEN)/ByteBufferAsDoubleBufferL.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 744         $(prep-target)
 745         @$(RM) $@.temp
 746         TYPE=double BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 747         $(MV) $@.temp $@
 748 $(BUF_GEN)/ByteBufferAsDoubleBuffer%L.java: $(BYTE_X_BUF_TEMPLATE) $(GEN_BUFFER_SH)
 749         $(prep-target)
 750         @$(RM) $@.temp
 751         TYPE=double RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
 752         $(MV) $@.temp $@
 753 
 754 #
 755 # Generated coder classes
 756 #
 757 
 758 GEN_CODER_SH = genCoder.sh
 759 
 760 GEN_CODER_CMD = SPP="$(SPP_CMD)" SED="$(SED)" NAWK="$(NAWK)" SH="$(SH)" $(SH) $(GEN_CODER_SH)
 761 
 762 $(CS_GEN)/CharsetDecoder.java: $(CHARSET_X_CODER_TEMPLATE) $(GEN_CODER_SH)
 763         $(prep-target)
 764         @$(RM) $@.temp
 765         $(GEN_CODER_CMD) decoder $< $@.temp
 766         $(MV) $@.temp $@
 767 
 768 $(CS_GEN)/CharsetEncoder.java: $(CHARSET_X_CODER_TEMPLATE) $(GEN_CODER_SH)
 769         $(prep-target)
 770         @$(RM) $@.temp
 771         $(GEN_CODER_CMD) encoder $< $@.temp
 772         $(MV) $@.temp $@
 773 
 774 #
 775 # Generated exception classes
 776 #
 777 
 778 GEN_EX_SH = genExceptions.sh
 779  
 780 GEN_EX_CMD = NAWK="$(NAWK)" SH="$(SH)" $(SH) $(GEN_EX_SH)
 781 
 782 $(CH_GEN)/%Exception.java: genExceptions.sh $(CH_SRC)/exceptions
 783         $(prep-target)
 784         @$(RM) $@.temp
 785         $(GEN_EX_CMD) $(CH_SRC)/exceptions $(CH_GEN)
 786 
 787 $(CS_GEN)/%Exception.java: genExceptions.sh $(CS_SRC)/exceptions
 788         $(prep-target)
 789         @$(RM) $@.temp
 790         $(GEN_EX_CMD) $(CS_SRC)/exceptions $(CS_GEN)
 791 
 792 $(BUF_GEN)/%Exception.java: genExceptions.sh $(BUF_SRC)/exceptions
 793         $(prep-target)
 794         @$(RM) $@.temp
 795         $(GEN_EX_CMD) $(BUF_SRC)/exceptions $(BUF_GEN)
 796 
 797 #
 798 # Generated charset-provider classes
 799 #
 800 
 801 HASHER_JARFILE = $(BUILDTOOLJARDIR)/hasher.jar
 802 
 803 $(SCS_GEN)/StandardCharsets.java: genCharsetProvider.sh \
 804     $(HASHER_JARFILE) $(SCS_SRC)/standard-charsets
 805         $(prep-target)
 806         @$(RM) $@.temp
 807         NAWK="$(NAWK)" TEMPDIR="$(TEMPDIR)" SH="$(SH)" \
 808           HASHER="$(BOOT_JAVA_CMD) -jar $(HASHER_JARFILE)" \
 809           $(SH) -e genCharsetProvider.sh $(SCS_SRC)/standard-charsets $(SCS_GEN)
 810 
 811 #
 812 # Generated channel implementation classes.
 813 # C source is compiled in TEMPDIR to avoid turds left by Windows compilers.
 814 #
 815 
 816 GENSOR_SRC = $(SHARE_SRC)/native/sun/nio/ch/genSocketOptionRegistry.c
 817 
 818 GENSOR_EXE = $(TEMPDIR)/genSocketOptionRegistry$(EXE_SUFFIX)
 819 
 820 SOR_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSOR_SRC) | \
 821         $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }') 
 822 
 823 $(TEMPDIR)/$(GENSOR_SRC) : $(GENSOR_SRC)
 824         $(install-non-module-file)
 825 
 826 $(GENSOR_EXE) : $(TEMPDIR)/$(GENSOR_SRC)
 827         $(prep-target)
 828         ($(CD) $(TEMPDIR); $(CC) $(CPPFLAGS) $(LDDFLAGS) \
 829            -o genSocketOptionRegistry$(EXE_SUFFIX) $(GENSOR_SRC))
 830 
 831 $(SCH_GEN)/SocketOptionRegistry.java: $(GENSOR_EXE)
 832         $(prep-target)
 833         NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(SOR_COPYRIGHT_YEARS)" > $@
 834         $(GENSOR_EXE) >> $@
 835 
 836 #
 837 # Generated sun.nio.cs SingleByte classes
 838 #
 839 GENCSSRC = $(BUILDDIR)/tools/CharsetMapping
 840 CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar
 841 
 842 $(FILES_gensbcs_out): $(GENCSSRC)/SingleByte-X.java.template $(GENCSSRC)/sbcs
 843         @$(prep-target)
 844         $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSSRC) $(SCS_GEN) sbcs
 845 
 846 # 
 847 # Generated file system implementation classes (Unix only)
 848 #
 849 
 850 GENUC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genUnixConstants.c
 851 
 852 GENUC_EXE = $(TEMPDIR)/genUnixConstants
 853 
 854 GENUC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENUC_SRC) | \
 855         $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
 856 
 857 $(GENUC_EXE) : $(GENUC_SRC)
 858         $(prep-target)
 859         $(CC) $(CPPFLAGS) -o $@ $(GENUC_SRC)
 860 
 861 $(SFS_GEN)/UnixConstants.java: $(GENUC_EXE)
 862         $(prep-target)
 863         NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENUC_COPYRIGHT_YEARS)" > $@
 864         $(GENUC_EXE) >> $@
 865 
 866 GENSC_SRC = $(PLATFORM_SRC)/native/sun/nio/fs/genSolarisConstants.c
 867 
 868 GENSC_EXE = $(TEMPDIR)/genSolarisConstants
 869 
 870 GENSC_COPYRIGHT_YEARS = $(shell $(CAT) $(GENSC_SRC) | \
 871         $(NAWK) '/^.*Copyright.*Oracle/ { printf "%s %s",$$4,$$5 }')
 872 
 873 $(GENSC_EXE) : $(GENSC_SRC)
 874         $(prep-target)
 875         $(CC) $(CPPFLAGS) -o $@ $(GENSC_SRC)
 876 
 877 $(SFS_GEN)/SolarisConstants.java: $(GENSC_EXE)
 878         $(prep-target)
 879         NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh "$(GENSC_COPYRIGHT_YEARS)" > $@
 880         $(GENSC_EXE) >> $@
 881 
 882 .PHONY: sources