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