1 # 2 # Copyright (c) 2000, 2010, 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