File: Makefile

package info (click to toggle)
classpath-tools 0.0.20020812-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 1,052 kB
  • ctags: 2,103
  • sloc: java: 13,214; makefile: 362; sh: 73; cpp: 21
file content (466 lines) | stat: -rw-r--r-- 14,401 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
#-----------------------------------------------------------------------------
# 
# This is the Makefile for gnu.classpath.tools.gjdoc, a drop-in
# replacement for the Javadoc command line tool.
# 
# This Makefile contains rules to build, install, and test the package.
# Soon to be replace by a Makefile.in
#
#-----------------------------------------------------------------------------


#---- User Configuration -----------------------------------------------------
#
#  As long as this Makefile is not generated by a ./configure script,
#  please adjust the following variables manually to your match your system.

#  >>>>>>>> User configuration start 

#
#  Point this to the directory containing the JDK sources. This
#  directory should contain java/lang/Object.java
#
#USER_JAVA_SOURCE_PATH := e:/jdk1.3-full-src/src/share/classes
#USER_JAVA_SOURCE_PATH  := /usr/local/httpd/htdocs/library/javadocs/jdk1.3-full-src/src/share/classes/
## USER_JAVA_SOURCE_PATH  := "/usr/src/sablepath-0.1.3"
#JAVA_TOOLS_JAR        := d:/java/jdk1.3/lib/tools.jar
#JAVA_TOOLS_JAR         := /usr/local/java/lib/tools.jar
## JAVA_TOOLS_JAR         := src/sun.jar
#:/usr/lib/jdk1.3.1/lib/tools.jar
#RUNTIME_JAR            := /usr/local/share/kaffe/Klasses.jar

#JAVA13_CLASSES         := /usr/local/java/jre/lib/rt.jar
## JAVA13_CLASSES          := /usr/lib/jdk1.3.1/jre/lib/rt.jar
#
#  Adjust these command names to match your runtime environment.
#

JAR = fastjar
#JAVA = kaffe
JAVAC = jikes
## JAVAC = javac
#JAVAC_OPTIONS = +E
JAVA = /usr/lib/sablevm/bin/java

## JAVA := /usr/src/orp/mains/orp/Linux/opt/orp

## RUNTIME_JAR := /usr/local/netdrive/temp/cp3:`pwd`/../tmp/classes
RUNTIME_JAR=/usr/lib/sablevm/classes-1.0.5
#
#  Character used to separate path components
#
PATH_SEP := :

#  <<<<<<< User configuration end 


USE_CLASSPATH := ${JAVA_TOOLS_JAR}${PATH_SEP}${RUNTIME_JAR}${PATH_SEP}${JAVA13_CLASSES}${PATH_SEP}.


#---- Default Target ---------------------------------------------------------

#
#  Default target, used if no target is specified on command line.
#
default: lib/gjdoc.jar

#---- Compilation ------------------------------------------------------------

#
#  Java class targets for compilation
#
JAVA_CLASS_TARGETS := $(patsubst src/%.java, tmp/classes/%.class, \
			$(wildcard src/*/*/*/*.java) $(wildcard src/*/*/*.java) )

.PHONY: create_temp_dirs

#
#  Create temporary directories
#
tmp/classes:
	mkdir -p tmp/classes

#
#  Compiling .java -> .class
#
tmp/classes/%.class: src/%.java
	echo Compiling $*.java...
	cd src; \
		$(JAVAC) $(JAVAC_OPTIONS) -classpath ${USE_CLASSPATH} -d ../tmp/classes $*.java

#
#  Create a Java Archive (Jar) from the Java classes
#
lib/gjdoc.jar: tmp/classes $(JAVA_CLASS_TARGETS)
	echo "Creating lib/gjdoc.jar..."
	cd tmp/classes; \
		${JAR} cfm ../../lib/gjdoc.jar ../../src/Manifest.mf *

bin/gjdoc: lib/gjdoc.jar
	gcj --main=xnu.tools.jdoc.Main --output=bin/gjdoc lib/gjdoc.jar


#---- Installation -----------------------------------------------------------

#  (not implemented yet.)



#---- Tests/Evaluation -------------------------------------------------------

#
#  Path to Core lib source code
#
JAVA_SOURCE_PATH := ${USER_JAVA_SOURCE_PATH}

#
#  Some single class
#
FILELIST_SINGLECLASS := java.util.Random

#
#  Core packages 1.3
#
FILELIST_COREPACKAGES := \
  java.lang java.io java.net java.util java.security java.security.cert     \
  java.security.spec java.security.acl java.security.interfaces             \
  java.lang.reflect java.util.jar java.util.zip java.math

#
#  All packages 1.3
#
FILELIST_ALLPACKAGES := \
  java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd    \
  java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi    \
  java.awt.image java.awt.image.renderable java.awt.print java.beans        \
  java.beans.beancontext java.io java.lang java.lang.ref java.lang.reflect  \
  java.math java.net java.rmi java.rmi.activation java.rmi.dgc              \
  java.rmi.registry java.rmi.server java.security java.security.acl         \
  java.security.cert java.security.interfaces java.security.spec java.sql   \
  java.text java.util java.util.jar java.util.zip javax.accessibility       \
  javax.naming javax.naming.directory javax.naming.event javax.naming.ldap  \
  javax.naming.spi javax.rmi javax.rmi.CORBA javax.swing javax.swing.border \
  javax.swing.colorchooser javax.swing.event javax.swing.filechooser        \
  javax.swing.plaf javax.swing.plaf.basic javax.swing.plaf.metal            \
  javax.swing.plaf.multi javax.swing.table javax.swing.text                 \
  javax.swing.text.html javax.swing.text.html.parser javax.swing.text.rtf   \
  javax.swing.tree javax.swing.undo javax.transaction

#
#  Full packages 1.3
#
FILELIST_FULLPACKAGES := \
  ${FILELIST_ALLPACKAGES} 					\
  org.omg.CORBA org.omg.CORBA_2_3 org.omg.CORBA_2_3.portable	\
  org.omg.CORBA.DynAnyPackage org.omg.CORBA.ORBPackage		\
  org.omg.CORBA.portable org.omg.CORBA.TypeCodePackage		\
  org.omg.CosNaming org.omg.CosNaming.NamingContextPackage	\
  org.omg.SendingContext org.omg.stub.java.rmi


#
#  Package java.io
#
FILELIST_IOPACKAGES := \
  java.io

#
#  Package java.util
#
FILELIST_UTILPACKAGES := \
  java.util

GEN_FILES   := $(CORE_PACKAGES)
TIMER_FILES  := $(ALL_PACKAGES)

SUN_STD_DOCLET    := com.sun.tools.doclets.standard.Standard
XNU_TIMER_DOCLET  := xnu.tools.jdoc.TimerDoclet
XNU_DEBUG_DOCLET  := xnu.tools.jdoc.DebugDoclet
XNU_TEXIDOCLET    := gnu.texidoclet.Driver

SUN_JDOC_MAIN     := xnu.tools.jdoc.JavadocWrapper
XNU_JDOC_MAIN     := xnu.tools.jdoc.Main

POSTPROC_TIMER    := cat timer.out

#
# Generic target for testing Gjdoc performance on all packages
#
time-xnu-all-DRIVER := ${XNU_JDOC_MAIN}
time-xnu-all-DOCLET := ${XNU_TIMER_DOCLET}
time-xnu-all-FILES  := ${FILELIST_ALLPACKAGES}
time-xnu-all-POST   := ${POSTPROC_TIMER}
time-xnu-all-PARAMS := -Xmx256M
time-xnu-all-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Javadoc performance on all packages
#
time-sun-all-DRIVER := ${SUN_JDOC_MAIN}
time-sun-all-DOCLET := ${XNU_TIMER_DOCLET}
time-sun-all-FILES  := ${FILELIST_ALLPACKAGES}
time-sun-all-POST   := ${POSTPROC_TIMER}
time-sun-all-PARAMS := -Xmx256M
time-sun-all-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on full packages
#
time-xnu-full-DRIVER := ${XNU_JDOC_MAIN}
time-xnu-full-DOCLET := ${XNU_TIMER_DOCLET}
time-xnu-full-FILES  := ${FILELIST_FULLPACKAGES}
time-xnu-full-POST   := ${POSTPROC_TIMER}
time-xnu-full-PARAMS := -Xmx256M
time-xnu-full-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Javadoc performance on full packages
#
time-sun-full-DRIVER := ${SUN_JDOC_MAIN}
time-sun-full-DOCLET := ${XNU_TIMER_DOCLET}
time-sun-full-FILES  := ${FILELIST_FULLPACKAGES}
time-sun-full-POST   := ${POSTPROC_TIMER}
time-sun-full-PARAMS := -Xmx256M
time-sun-full-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on core packages
#
time-xnu-core-DRIVER := ${XNU_JDOC_MAIN}
time-xnu-core-DOCLET := ${XNU_TIMER_DOCLET}
time-xnu-core-FILES  := ${FILELIST_COREPACKAGES}
time-xnu-core-POST   := ${POSTPROC_TIMER}
time-xnu-core-DOCLETOPTION = -d tmp/generated/$*
time-xnu-core-PARAMS := -mx256M

#
# Generic target for testing Javadoc performance on core packages
#
time-sun-core-DRIVER := ${SUN_JDOC_MAIN}
time-sun-core-DOCLET := ${XNU_TIMER_DOCLET}
time-sun-core-FILES  := ${FILELIST_COREPACKAGES}
time-sun-core-POST   := ${POSTPROC_TIMER}
time-sun-core-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on java.io
#
time-xnu-io-DRIVER := ${XNU_JDOC_MAIN}
time-xnu-io-DOCLET := ${XNU_TIMER_DOCLET}
time-xnu-io-FILES  := ${FILELIST_IOPACKAGES}
time-xnu-io-POST   := ${POSTPROC_TIMER}
time-xnu-io-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on java.io
#
time-xnt-io-DRIVER := ${XNU_JDOC_MAIN}
time-xnt-io-DOCLET := ${XNU_TEXIDOCLET}
time-xnt-io-FILES  := ${FILELIST_IOPACKAGES}
time-xnt-io-POST   := ${POSTPROC_TIMER}
time-xnt-io-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Javadoc performance on java.io
#
time-sun-io-DRIVER := ${SUN_JDOC_MAIN}
time-sun-io-DOCLET := ${XNU_TIMER_DOCLET}
time-sun-io-FILES  := ${FILELIST_IOPACKAGES}
time-sun-io-POST   := ${POSTPROC_TIMER}
time-sun-io-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on java.io
#
prof-xnu-io-DRIVER := ${XNU_JDOC_MAIN}
prof-xnu-io-DOCLET := ${XNU_TIMER_DOCLET}
prof-xnu-io-FILES  := ${FILELIST_IOPACKAGES}
prof-xnu-io-POST   := ${POSTPROC_TIMER}
prof-xnu-io-DOCLETOPTION = -d tmp/generated/$*
prof-xnu-io-PARAMS := -Xrunhprof:cpu=samples

#
# Generic target for testing Gjdoc performance on java.io
#
time-xnu-util-DRIVER := ${XNU_JDOC_MAIN}
time-xnu-util-DOCLET := ${XNU_TIMER_DOCLET}
time-xnu-util-FILES  := ${FILELIST_UTILPACKAGES}
time-xnu-util-POST   := ${POSTPROC_TIMER}
time-xnu-util-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Javadoc performance on java.io
#
time-sun-util-DRIVER := ${SUN_JDOC_MAIN}
time-sun-util-DOCLET := ${XNU_TIMER_DOCLET}
time-sun-util-FILES  := ${FILELIST_UTILPACKAGES}
time-sun-util-POST   := ${POSTPROC_TIMER}
time-sun-util-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on java.io
#
prof-xnu-util-DRIVER := ${XNU_JDOC_MAIN}
prof-xnu-util-DOCLET := ${XNU_TIMER_DOCLET}
prof-xnu-util-FILES  := ${FILELIST_UTILPACKAGES}
prof-xnu-util-POST   := ${POSTPROC_TIMER}
prof-xnu-util-DOCLETOPTION = -d tmp/generated/$*
prof-xnu-util-PARAMS := -Xrunhprof:cpu=samples

#
# Generic target for testing Gjdoc performance on a single class
#
time-xnu-single-DRIVER := ${XNU_JDOC_MAIN}
time-xnu-single-DOCLET := ${XNU_TIMER_DOCLET}
time-xnu-single-FILES  := ${FILELIST_SINGLECLASS}
time-xnu-single-POST   := ${POSTPROC_TIMER}
time-xnu-single-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Gjdoc performance on a single class
#
time-xnt-single-DRIVER := ${XNU_JDOC_MAIN}
time-xnt-single-DOCLET := ${XNU_TEXIDOCLET}
time-xnt-single-FILES  := ${FILELIST_SINGLECLASS}
time-xnt-single-POST   := ${POSTPROC_TIMER}
time-xnt-single-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for testing Javadoc performance on a single class
#
time-sun-single-DRIVER := ${SUN_JDOC_MAIN}
time-sun-single-DOCLET := ${XNU_TIMER_DOCLET}
time-sun-single-FILES  := ${FILELIST_SINGLECLASS}
time-sun-single-POST   := ${POSTPROC_TIMER}
time-sun-single-DOCLETOPTION = -d tmp/generated/$*

#
# Generic target for producing Javadoc debug output on a single class
#
debug-sun-single-DRIVER := ${SUN_JDOC_MAIN}
debug-sun-single-DOCLET := ${XNU_DEBUG_DOCLET}
debug-sun-single-FILES  := ${FILELIST_SINGLECLASS}

#
# Generic target for producing Gjdoc debug output on a single class
#
debug-xnu-single-DRIVER := ${XNU_JDOC_MAIN}
debug-xnu-single-DOCLET := ${XNU_DEBUG_DOCLET}
debug-xnu-single-FILES  := ${FILELIST_SINGLECLASS}

gen:
	rm -Rf generated/*
	java ${XNU_JDOC_MAIN} -doclet ${SUN_STD_DOCLET} -sourcepath ${JAVA_SOURCE_PATH} -d generated $(GEN_FILES)

timer-postprocess:
	cat timer.out
	echo "TIMER postprocess"

eval-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	${JAVA} ${$*-PARAMS} -classpath "lib/gjdoc.jar${PATH_SEP}${USE_CLASSPATH}" ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES}
	${$*-POST}
	echo "'$*' success."

KISSME_INTERPRETER = /usr/local/kissme-0.13/kissme
KISSME_BOOTCLASSES = /usr/local/kissme-0.13/classpath

kissme-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	${KISSME_INTERPRETER} ${$*-PARAMS} -bootclasspath ${KISSME_BOOTCLASSES} -classpath "tmp/classes:/usr/local/kissme-0.13/tools" ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES}
	${$*-POST}
	echo "'$*' success."

ORP_INTERPRETER = /usr/src/orp/mains/orp/Linux/dbg/orp
ORP_BOOTCLASSES = /usr/local/netdrive/temp/cp3:/usr/src/classpath-0.02-modified/lib/vm/reference

orp-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	${ORP_INTERPRETER} ${$*-PARAMS} -classpath tmp/classes:${ORP_BOOTCLASSES} ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES}
	${$*-POST}
	echo "'$*' success."

GIJ_INTERPRETER = /usr/local/bin/gij
GIJ_BOOTCLASSES = 

gij-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	CLASSPATH=tmp/classes:${JAVA_TOOLS_JAR}; ${GIJ_INTERPRETER} ${$*-PARAMS} ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES} 2>gjdoc.err
	${$*-POST}
	echo "'$*' success."

gcj-%: bin/gjdoc
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	bin/gjdoc ${$*-PARAMS} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES} 2>err
	${$*-POST}
	echo "'$*' success."

KAFFE_INTERPRETER = /usr/local/bin/kaffe
KAFFE_BOOTCLASSES = /usr/local/share/kaffe/Klasses.jar

kaffe-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	${KAFFE_INTERPRETER} ${$*-PARAMS} -classpath ${KAFFE_BOOTCLASSES}:tmp/classes:${JAVA_TOOLS_JAR}:${JAVA13_CLASSES} ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES} >out
	${$*-POST}
	echo "'$*' success."

JDK118_HOME = /usr/local/jdk118_v3
JDK118_INTERPRETER = ${JDK118_HOME}/bin/java
JDK118_BOOTCLASSES = ${JDK118_HOME}/lib/classes.zip

jdk118-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	JAVA_HOME=${JDK118_HOME}; ${JDK118_INTERPRETER} ${$*-PARAMS} -classpath ${JDK118_BOOTCLASSES}:tmp/classes:${JAVA_TOOLS_JAR}:${JAVA13_CLASSES} ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		-use \
		$($*-DOCLETOPTION) \
		${$*-FILES}
	${$*-POST}
	echo "'$*' success."

JDK13_HOME = /usr/local/java
JDK13_INTERPRETER = ${JDK13_HOME}/bin/java
JDK13_BOOTCLASSES = ${JDK13_HOME}/jre/lib/rt.jar

jdk13-%: lib/gjdoc.jar
	mkdir -p tmp/generated/$*
	rm -Rf tmp/generated/$*/*
	JAVA_HOME=${JDK13_HOME}; ${JDK13_INTERPRETER} ${$*-PARAMS} -classpath ${JDK13_BOOTCLASSES}:tmp/classes:${JAVA_TOOLS_JAR}:${JAVA13_CLASSES} ${$*-DRIVER} \
		-doclet ${$*-DOCLET} \
		-sourcepath ${JAVA_SOURCE_PATH} \
		$($*-DOCLETOPTION) \
		${$*-FILES}
	${$*-POST}
	echo "'$*' success."