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