blob: 98a838831a27b6c0f6097ed403d1c740c248afd8 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001#
2# Copyright 2000-2007 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
30BUILDDIR = ../..
31PACKAGE = java.nio
32LIBRARY = nio
33PRODUCT = java
34OTHER_JAVACFLAGS += -Xmaxwarns 1000 -Xlint:serial -Werror
35include $(BUILDDIR)/common/Defs.gmk
36
37NIO_SRC = $(SHARE_SRC)/classes/java/nio
38NIO_GEN = $(GENSRCDIR)/java/nio
39
40SNIO_SRC = $(SHARE_SRC)/classes/sun/nio
41SNIO_GEN = $(GENSRCDIR)/sun/nio
42
43#
44# Files to compile
45#
46
47include FILES_java.gmk
48include FILES_c.gmk
49include Exportedfiles.gmk
50
51ifeq ($(PLATFORM), solaris)
52FILES_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
61FILES_c += \
62 DevPollArrayWrapper.c \
63 InheritedChannel.c \
64 PollArrayWrapper.c \
65 NativeThread.c
66
67FILES_export += \
68 sun/nio/ch/DevPollArrayWrapper.java \
69 sun/nio/ch/InheritedChannel.java \
70 sun/nio/ch/NativeThread.java
71endif # PLATFORM = solaris
72
73ifeq ($(PLATFORM), windows)
74FILES_java += \
75 sun/nio/ch/WindowsSelectorImpl.java \
76 sun/nio/ch/WindowsSelectorProvider.java
77
78FILES_c += \
79 WindowsSelectorImpl.c
80
81FILES_export += \
82 sun/nio/ch/WindowsSelectorImpl.java
83endif # PLATFORM = windows
84
85ifeq ($(PLATFORM), linux)
86FILES_java += \
87 sun/nio/ch/AbstractPollSelectorImpl.java \
88 sun/nio/ch/EPollArrayWrapper.java \
89 sun/nio/ch/EPollSelectorProvider.java \
90 sun/nio/ch/EPollSelectorImpl.java \
91 sun/nio/ch/InheritedChannel.java \
92 sun/nio/ch/PollSelectorProvider.java \
93 sun/nio/ch/PollSelectorImpl.java
94
95FILES_c += \
96 EPollArrayWrapper.c \
97 PollArrayWrapper.c \
98 InheritedChannel.c \
99 NativeThread.c
100
101FILES_export += \
102 sun/nio/ch/EPollArrayWrapper.java \
103 sun/nio/ch/InheritedChannel.java \
104 sun/nio/ch/NativeThread.java
105endif # PLATFORM = linux
106
107# Find platform-specific C source files
108#
109vpath %.c $(PLATFORM_SRC)/native/sun/nio/ch
110vpath %.c $(SHARE_SRC)/native/sun/nio/ch
111
112#
113# Various variables
114#
115
116JAVALIB = # Don't self-link
117
118#
119# Access to io_util.c and net_util.c
120#
121
122OTHER_INCLUDES += \
123 -I$(SHARE_SRC)/native/sun/nio/ch \
124 -I$(SHARE_SRC)/native/java/io \
125 -I$(SHARE_SRC)/native/java/net \
126 -I$(PLATFORM_SRC)/native/java/net \
127 -I$(CLASSHDRDIR)/../../../java.lang/java/CClassHeaders
128
129ifeq ($(PLATFORM),windows)
130 OTHER_LDLIBS += $(JVMLIB) ws2_32.lib \
131 -libpath:$(LIBDIR) java.lib \
132 $(OBJDIR)/../../../../sun/java.net/net/$(OBJDIRNAME)/net.lib \
133 $(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/io_util.obj \
134 $(OBJDIR)/../../../java.lang/java/$(OBJDIRNAME)/FileDescriptor_md.obj
135endif
136ifeq ($(PLATFORM), linux)
137COMPILER_WARNINGS_FATAL=true
138OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
139endif
140ifeq ($(PLATFORM), solaris)
141OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
142 -L$(LIBDIR)/$(LIBARCH) -ljava -lnet
143endif # PLATFORM
144
145#
146# Rules
147#
148
149build: sources
150
151clean clobber::
152 $(RM) -r $(NIO_GEN) $(SNIO_GEN)
153 $(RM) -r $(CLASSDESTDIR)/java/nio
154 $(RM) -r $(CLASSDESTDIR)/sun/nio
155
156ifeq ($(PLATFORM), solaris)
157FILES_m = mapfile-solaris
158endif
159ifeq ($(PLATFORM), linux)
160FILES_m = mapfile-linux
161endif
162include $(BUILDDIR)/common/Mapfile-vers.gmk
163include $(BUILDDIR)/common/Library.gmk
164
165#
166# Generate source files
167#
168
169SPP = spp.sh
170SPP_CMD = $(SH) $(SPP)
171
172FILES_genout = $(FILES_gen:%.java=$(GENSRCDIR)/%.java)
173
174BUF_SRC=$(NIO_SRC)
175CH_SRC=$(NIO_SRC)/channels
176CS_SRC=$(NIO_SRC)/charset
177SCH_SRC=$(SNIO_SRC)/ch
178SCS_SRC=$(SNIO_SRC)/cs
179
180BUF_GEN=$(NIO_GEN)
181CH_GEN=$(NIO_GEN)/channels
182CS_GEN=$(NIO_GEN)/charset
183SCH_GEN=$(SNIO_GEN)/ch
184SCS_GEN=$(SNIO_GEN)/cs
185
186sources: $(SPP) $(FILES_genout)
187
188#
189# Generated buffer classes
190#
191
192GEN_BUFFER_SH = genBuffer.sh
193
194GEN_BUFFER_CMD = SPP="$(SPP_CMD)" NAWK=$(NAWK) SED=$(SED) \
195 $(SH) $(GEN_BUFFER_SH)
196
197# Public abstract buffer classes
198#
199$(BUF_GEN)/ByteBuffer.java: $(BUF_SRC)/X-Buffer.java \
200 $(BUF_SRC)/X-Buffer-bin.java \
201 $(GEN_BUFFER_SH)
202 $(prep-target)
203 @$(RM) $@.temp
204 TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
205 $(MV) $@.temp $@
206$(BUF_GEN)/CharBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
207 $(prep-target)
208 @$(RM) $@.temp
209 TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
210 $(MV) $@.temp $@
211$(BUF_GEN)/ShortBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
212 $(prep-target)
213 @$(RM) $@.temp
214 TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
215 $(MV) $@.temp $@
216$(BUF_GEN)/IntBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
217 $(prep-target)
218 @$(RM) $@.temp
219 TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
220 $(MV) $@.temp $@
221$(BUF_GEN)/LongBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
222 $(prep-target)
223 @$(RM) $@.temp
224 TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
225 $(MV) $@.temp $@
226$(BUF_GEN)/FloatBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
227 $(prep-target)
228 @$(RM) $@.temp
229 TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
230 $(MV) $@.temp $@
231$(BUF_GEN)/DoubleBuffer.java: $(BUF_SRC)/X-Buffer.java $(GEN_BUFFER_SH)
232 $(prep-target)
233 @$(RM) $@.temp
234 TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
235 $(MV) $@.temp $@
236
237# Buffers whose contents are heap-allocated
238#
239$(BUF_GEN)/HeapByteBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
240 $(prep-target)
241 @$(RM) $@.temp
242 TYPE=byte SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
243 $(MV) $@.temp $@
244$(BUF_GEN)/HeapByteBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
245 $(prep-target)
246 @$(RM) $@.temp
247 TYPE=byte RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
248 $(MV) $@.temp $@
249$(BUF_GEN)/HeapCharBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
250 $(prep-target)
251 @$(RM) $@.temp
252 TYPE=char SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
253 $(MV) $@.temp $@
254$(BUF_GEN)/HeapCharBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
255 $(prep-target)
256 @$(RM) $@.temp
257 TYPE=char RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
258 $(MV) $@.temp $@
259$(BUF_GEN)/HeapShortBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
260 $(prep-target)
261 @$(RM) $@.temp
262 TYPE=short SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
263 $(MV) $@.temp $@
264$(BUF_GEN)/HeapShortBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
265 $(prep-target)
266 @$(RM) $@.temp
267 TYPE=short RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
268 $(MV) $@.temp $@
269$(BUF_GEN)/HeapIntBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
270 $(prep-target)
271 @$(RM) $@.temp
272 TYPE=int SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
273 $(MV) $@.temp $@
274$(BUF_GEN)/HeapIntBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
275 $(prep-target)
276 @$(RM) $@.temp
277 TYPE=int RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
278 $(MV) $@.temp $@
279$(BUF_GEN)/HeapLongBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
280 $(prep-target)
281 @$(RM) $@.temp
282 TYPE=long SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
283 $(MV) $@.temp $@
284$(BUF_GEN)/HeapLongBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
285 $(prep-target)
286 @$(RM) $@.temp
287 TYPE=long RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
288 $(MV) $@.temp $@
289$(BUF_GEN)/HeapFloatBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
290 $(prep-target)
291 @$(RM) $@.temp
292 TYPE=float SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
293 $(MV) $@.temp $@
294$(BUF_GEN)/HeapFloatBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
295 $(prep-target)
296 @$(RM) $@.temp
297 TYPE=float RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
298 $(MV) $@.temp $@
299$(BUF_GEN)/HeapDoubleBuffer.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
300 $(prep-target)
301 @$(RM) $@.temp
302 TYPE=double SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
303 $(MV) $@.temp $@
304$(BUF_GEN)/HeapDoubleBuffer%.java: $(BUF_SRC)/Heap-X-Buffer.java $(GEN_BUFFER_SH)
305 $(prep-target)
306 @$(RM) $@.temp
307 TYPE=double RW=$* SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
308 $(MV) $@.temp $@
309
310# Direct byte buffer
311#
312$(BUF_GEN)/DirectByteBuffer.java: $(BUF_SRC)/Direct-X-Buffer.java \
313 $(BUF_SRC)/Direct-X-Buffer.java \
314 $(GEN_BUFFER_SH)
315 $(prep-target)
316 @$(RM) $@.temp
317 TYPE=byte BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
318 $(MV) $@.temp $@
319$(BUF_GEN)/DirectByteBuffer%.java: $(BUF_SRC)/Direct-X-Buffer.java \
320 $(BUF_SRC)/Direct-X-Buffer.java \
321 $(GEN_BUFFER_SH)
322 $(prep-target)
323 @$(RM) $@.temp
324 TYPE=byte RW=$* BIN=1 SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
325 $(MV) $@.temp $@
326
327# Unswapped views of direct byte buffers
328#
329$(BUF_GEN)/DirectCharBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
330 $(prep-target)
331 @$(RM) $@.temp
332 TYPE=char BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
333 $(MV) $@.temp $@
334$(BUF_GEN)/DirectCharBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
335 $(prep-target)
336 @$(RM) $@.temp
337 TYPE=char RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
338 $(MV) $@.temp $@
339$(BUF_GEN)/DirectShortBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
340 $(prep-target)
341 @$(RM) $@.temp
342 TYPE=short BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
343 $(MV) $@.temp $@
344$(BUF_GEN)/DirectShortBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
345 $(prep-target)
346 @$(RM) $@.temp
347 TYPE=short RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
348 $(MV) $@.temp $@
349$(BUF_GEN)/DirectIntBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
350 $(prep-target)
351 @$(RM) $@.temp
352 TYPE=int BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
353 $(MV) $@.temp $@
354$(BUF_GEN)/DirectIntBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
355 $(prep-target)
356 @$(RM) $@.temp
357 TYPE=int RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
358 $(MV) $@.temp $@
359$(BUF_GEN)/DirectLongBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
360 $(prep-target)
361 @$(RM) $@.temp
362 TYPE=long BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
363 $(MV) $@.temp $@
364$(BUF_GEN)/DirectLongBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
365 $(prep-target)
366 @$(RM) $@.temp
367 TYPE=long RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
368 $(MV) $@.temp $@
369$(BUF_GEN)/DirectFloatBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
370 $(prep-target)
371 @$(RM) $@.temp
372 TYPE=float BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
373 $(MV) $@.temp $@
374$(BUF_GEN)/DirectFloatBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
375 $(prep-target)
376 @$(RM) $@.temp
377 TYPE=float RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
378 $(MV) $@.temp $@
379$(BUF_GEN)/DirectDoubleBufferU.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
380 $(prep-target)
381 @$(RM) $@.temp
382 TYPE=double BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
383 $(MV) $@.temp $@
384$(BUF_GEN)/DirectDoubleBuffer%U.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
385 $(prep-target)
386 @$(RM) $@.temp
387 TYPE=double RW=$* BO=U SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
388 $(MV) $@.temp $@
389
390# Swapped views of direct byte buffers
391#
392$(BUF_GEN)/DirectCharBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
393 $(prep-target)
394 @$(RM) $@.temp
395 TYPE=char BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
396 $(MV) $@.temp $@
397$(BUF_GEN)/DirectCharBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
398 $(prep-target)
399 @$(RM) $@.temp
400 TYPE=char RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
401 $(MV) $@.temp $@
402$(BUF_GEN)/DirectShortBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
403 $(prep-target)
404 @$(RM) $@.temp
405 TYPE=short BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
406 $(MV) $@.temp $@
407$(BUF_GEN)/DirectShortBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
408 $(prep-target)
409 @$(RM) $@.temp
410 TYPE=short RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
411 $(MV) $@.temp $@
412$(BUF_GEN)/DirectIntBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
413 $(prep-target)
414 @$(RM) $@.temp
415 TYPE=int BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
416 $(MV) $@.temp $@
417$(BUF_GEN)/DirectIntBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
418 $(prep-target)
419 @$(RM) $@.temp
420 TYPE=int RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
421 $(MV) $@.temp $@
422$(BUF_GEN)/DirectLongBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
423 $(prep-target)
424 @$(RM) $@.temp
425 TYPE=long BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
426 $(MV) $@.temp $@
427$(BUF_GEN)/DirectLongBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
428 $(prep-target)
429 @$(RM) $@.temp
430 TYPE=long RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
431 $(MV) $@.temp $@
432$(BUF_GEN)/DirectFloatBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
433 $(prep-target)
434 @$(RM) $@.temp
435 TYPE=float BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
436 $(MV) $@.temp $@
437$(BUF_GEN)/DirectFloatBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
438 $(prep-target)
439 @$(RM) $@.temp
440 TYPE=float RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
441 $(MV) $@.temp $@
442$(BUF_GEN)/DirectDoubleBufferS.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
443 $(prep-target)
444 @$(RM) $@.temp
445 TYPE=double BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
446 $(MV) $@.temp $@
447$(BUF_GEN)/DirectDoubleBuffer%S.java: $(BUF_SRC)/Direct-X-Buffer.java $(GEN_BUFFER_SH)
448 $(prep-target)
449 @$(RM) $@.temp
450 TYPE=double RW=$* BO=S SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
451 $(MV) $@.temp $@
452
453# Big-endian views of byte buffers
454#
455$(BUF_GEN)/ByteBufferAsCharBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
456 $(prep-target)
457 @$(RM) $@.temp
458 TYPE=char BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
459 $(MV) $@.temp $@
460$(BUF_GEN)/ByteBufferAsCharBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
461 $(prep-target)
462 @$(RM) $@.temp
463 TYPE=char RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
464 $(MV) $@.temp $@
465$(BUF_GEN)/ByteBufferAsShortBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
466 $(prep-target)
467 @$(RM) $@.temp
468 TYPE=short BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
469 $(MV) $@.temp $@
470$(BUF_GEN)/ByteBufferAsShortBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
471 $(prep-target)
472 @$(RM) $@.temp
473 TYPE=short RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
474 $(MV) $@.temp $@
475$(BUF_GEN)/ByteBufferAsIntBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
476 $(prep-target)
477 @$(RM) $@.temp
478 TYPE=int BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
479 $(MV) $@.temp $@
480$(BUF_GEN)/ByteBufferAsIntBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
481 $(prep-target)
482 @$(RM) $@.temp
483 TYPE=int RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
484 $(MV) $@.temp $@
485$(BUF_GEN)/ByteBufferAsLongBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
486 $(prep-target)
487 @$(RM) $@.temp
488 TYPE=long BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
489 $(MV) $@.temp $@
490$(BUF_GEN)/ByteBufferAsLongBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
491 $(prep-target)
492 @$(RM) $@.temp
493 TYPE=long RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
494 $(MV) $@.temp $@
495$(BUF_GEN)/ByteBufferAsFloatBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
496 $(prep-target)
497 @$(RM) $@.temp
498 TYPE=float BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
499 $(MV) $@.temp $@
500$(BUF_GEN)/ByteBufferAsFloatBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
501 $(prep-target)
502 @$(RM) $@.temp
503 TYPE=float RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
504 $(MV) $@.temp $@
505$(BUF_GEN)/ByteBufferAsDoubleBufferB.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
506 $(prep-target)
507 @$(RM) $@.temp
508 TYPE=double BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
509 $(MV) $@.temp $@
510$(BUF_GEN)/ByteBufferAsDoubleBuffer%B.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
511 $(prep-target)
512 @$(RM) $@.temp
513 TYPE=double RW=$* BO=B SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
514 $(MV) $@.temp $@
515
516# Little-endian views of byte buffers
517#
518$(BUF_GEN)/ByteBufferAsCharBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
519 $(prep-target)
520 @$(RM) $@.temp
521 TYPE=char BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
522 $(MV) $@.temp $@
523$(BUF_GEN)/ByteBufferAsCharBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
524 $(prep-target)
525 @$(RM) $@.temp
526 TYPE=char RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
527 $(MV) $@.temp $@
528$(BUF_GEN)/ByteBufferAsShortBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
529 $(prep-target)
530 @$(RM) $@.temp
531 TYPE=short BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
532 $(MV) $@.temp $@
533$(BUF_GEN)/ByteBufferAsShortBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
534 $(prep-target)
535 @$(RM) $@.temp
536 TYPE=short RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
537 $(MV) $@.temp $@
538$(BUF_GEN)/ByteBufferAsIntBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
539 $(prep-target)
540 @$(RM) $@.temp
541 TYPE=int BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
542 $(MV) $@.temp $@
543$(BUF_GEN)/ByteBufferAsIntBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
544 $(prep-target)
545 @$(RM) $@.temp
546 TYPE=int RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
547 $(MV) $@.temp $@
548$(BUF_GEN)/ByteBufferAsLongBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
549 $(prep-target)
550 @$(RM) $@.temp
551 TYPE=long BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
552 $(MV) $@.temp $@
553$(BUF_GEN)/ByteBufferAsLongBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
554 $(prep-target)
555 @$(RM) $@.temp
556 TYPE=long RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
557 $(MV) $@.temp $@
558$(BUF_GEN)/ByteBufferAsFloatBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
559 $(prep-target)
560 @$(RM) $@.temp
561 TYPE=float BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
562 $(MV) $@.temp $@
563$(BUF_GEN)/ByteBufferAsFloatBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
564 $(prep-target)
565 @$(RM) $@.temp
566 TYPE=float RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
567 $(MV) $@.temp $@
568$(BUF_GEN)/ByteBufferAsDoubleBufferL.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
569 $(prep-target)
570 @$(RM) $@.temp
571 TYPE=double BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
572 $(MV) $@.temp $@
573$(BUF_GEN)/ByteBufferAsDoubleBuffer%L.java: $(BUF_SRC)/ByteBufferAs-X-Buffer.java $(GEN_BUFFER_SH)
574 $(prep-target)
575 @$(RM) $@.temp
576 TYPE=double RW=$* BO=L SRC=$< DST=$@.temp $(GEN_BUFFER_CMD)
577 $(MV) $@.temp $@
578
579#
580# Generated coder classes
581#
582
583GEN_CODER_SH = genCoder.sh
584
585GEN_CODER_CMD = SPP="$(SPP_CMD)" SED=$(SED) NAWK=$(NAWK) $(SH) $(GEN_CODER_SH)
586
587$(CS_GEN)/CharsetDecoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH)
588 $(prep-target)
589 @$(RM) $@.temp
590 $(GEN_CODER_CMD) decoder $< $@.temp
591 $(MV) $@.temp $@
592
593$(CS_GEN)/CharsetEncoder.java: $(CS_SRC)/Charset-X-Coder.java $(GEN_CODER_SH)
594 $(prep-target)
595 @$(RM) $@.temp
596 $(GEN_CODER_CMD) encoder $< $@.temp
597 $(MV) $@.temp $@
598
599#
600# Generated exception classes
601#
602
603GEN_EX_SH = genExceptions.sh
604
605GEN_EX_CMD = NAWK=$(NAWK) $(SHELL) $(GEN_EX_SH)
606
607$(CH_GEN)/%Exception.java: genExceptions.sh $(CH_SRC)/exceptions
608 $(prep-target)
609 @$(RM) $@.temp
610 $(GEN_EX_CMD) $(CH_SRC)/exceptions $(CH_GEN)
611
612$(CS_GEN)/%Exception.java: genExceptions.sh $(CS_SRC)/exceptions
613 $(prep-target)
614 @$(RM) $@.temp
615 $(GEN_EX_CMD) $(CS_SRC)/exceptions $(CS_GEN)
616
617$(BUF_GEN)/%Exception.java: genExceptions.sh $(BUF_SRC)/exceptions
618 $(prep-target)
619 @$(RM) $@.temp
620 $(GEN_EX_CMD) $(BUF_SRC)/exceptions $(BUF_GEN)
621
622$(SCH_GEN)/%Exception.java: genExceptions.sh $(SCH_SRC)/exceptions
623 $(prep-target)
624 @$(RM) $@.temp
625 $(GEN_EX_CMD) $(SCH_SRC)/exceptions $(SCH_GEN)
626
627
628#
629# Generated charset-provider classes
630#
631
632HASHER_JARFILE = $(BUILDTOOLJARDIR)/hasher.jar
633
634$(SCS_GEN)/StandardCharsets.java: genCharsetProvider.sh \
635 $(HASHER_JARFILE) $(SCS_SRC)/standard-charsets
636 $(prep-target)
637 @$(RM) $@.temp
638 NAWK=$(NAWK) TEMPDIR=$(TEMPDIR) \
639 HASHER="$(BOOT_JAVA_CMD) -jar $(HASHER_JARFILE)" \
640 $(SHELL) -e genCharsetProvider.sh $(SCS_SRC)/standard-charsets $(SCS_GEN)
641
642.PHONY: sources