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