|
1 # |
|
2 # This Source Code Form is subject to the terms of the Mozilla Public |
|
3 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
5 |
|
6 ifdef NS_USE_JDK |
|
7 ####################################################################### |
|
8 # [1] Define preliminary JDK "Core Components" toolset options # |
|
9 ####################################################################### |
|
10 |
|
11 # set default JDK java threading model |
|
12 ifeq ($(JDK_THREADING_MODEL),) |
|
13 JDK_THREADING_MODEL = native_threads |
|
14 # no such thing as -native flag |
|
15 JDK_THREADING_MODEL_OPT = |
|
16 endif |
|
17 |
|
18 ####################################################################### |
|
19 # [2] Define platform-independent JDK "Core Components" options # |
|
20 ####################################################################### |
|
21 |
|
22 # set default location of the java classes repository |
|
23 ifeq ($(JAVA_DESTPATH),) |
|
24 ifdef BUILD_OPT |
|
25 JAVA_DESTPATH = $(SOURCE_CLASSES_DIR) |
|
26 else |
|
27 JAVA_DESTPATH = $(SOURCE_CLASSES_DBG_DIR) |
|
28 endif |
|
29 endif |
|
30 |
|
31 # set default location of the package under the java classes repository |
|
32 # note that this overrides the default package value in ruleset.mk |
|
33 ifeq ($(PACKAGE),) |
|
34 PACKAGE = . |
|
35 endif |
|
36 |
|
37 # set default location of the java source code repository |
|
38 ifeq ($(JAVA_SOURCEPATH),) |
|
39 JAVA_SOURCEPATH = . |
|
40 endif |
|
41 |
|
42 # add JNI directory to default include search path |
|
43 ifneq ($(JNI_GEN),) |
|
44 ifdef NSBUILDROOT |
|
45 INCLUDES += -I$(JNI_GEN_DIR) -I$(SOURCE_XP_DIR) |
|
46 else |
|
47 INCLUDES += -I$(JNI_GEN_DIR) |
|
48 endif |
|
49 endif |
|
50 |
|
51 ####################################################################### |
|
52 # [3] Define platform-dependent JDK "Core Components" options # |
|
53 ####################################################################### |
|
54 |
|
55 # set [Microsoft Windows] platforms |
|
56 ifeq ($(OS_ARCH), WINNT) |
|
57 JAVA_CLASSES = $(JAVA_HOME)/jre/lib/rt.jar |
|
58 |
|
59 ifeq ($(JRE_HOME),) |
|
60 JRE_HOME = $(JAVA_HOME) |
|
61 JRE_CLASSES = $(JAVA_CLASSES) |
|
62 else |
|
63 ifeq ($(JRE_CLASSES),) |
|
64 JRE_CLASSES = $(JRE_HOME)/lib/rt.jar |
|
65 endif |
|
66 endif |
|
67 |
|
68 PATH_SEPARATOR = ; |
|
69 |
|
70 # (2) specify "header" information |
|
71 JAVA_ARCH = win32 |
|
72 |
|
73 INCLUDES += -I$(JAVA_HOME)/include |
|
74 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
75 |
|
76 # currently, disable JIT option on this platform |
|
77 JDK_JIT_OPT = -nojit |
|
78 endif |
|
79 |
|
80 # set [Sun Solaris] platforms |
|
81 ifeq ($(OS_ARCH), SunOS) |
|
82 JAVA_CLASSES = $(JAVA_HOME)/jre/lib/rt.jar |
|
83 |
|
84 ifeq ($(JRE_HOME),) |
|
85 JRE_HOME = $(JAVA_HOME) |
|
86 JRE_CLASSES = $(JAVA_CLASSES) |
|
87 else |
|
88 ifeq ($(JRE_CLASSES),) |
|
89 JRE_CLASSES = $(JRE_HOME)/lib/rt.jar |
|
90 endif |
|
91 endif |
|
92 |
|
93 PATH_SEPARATOR = : |
|
94 |
|
95 # (2) specify "header" information |
|
96 JAVA_ARCH = solaris |
|
97 |
|
98 INCLUDES += -I$(JAVA_HOME)/include |
|
99 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
100 |
|
101 # currently, disable JIT option on this platform |
|
102 JDK_JIT_OPT = |
|
103 endif |
|
104 |
|
105 # set [Hewlett Packard HP-UX] platforms |
|
106 ifeq ($(OS_ARCH), HP-UX) |
|
107 JAVA_CLASSES = $(JAVA_HOME)/jre/lib/rt.jar |
|
108 |
|
109 ifeq ($(JRE_HOME),) |
|
110 JRE_HOME = $(JAVA_HOME) |
|
111 JRE_CLASSES = $(JAVA_CLASSES) |
|
112 else |
|
113 ifeq ($(JRE_CLASSES),) |
|
114 JRE_CLASSES = $(JRE_HOME)/lib/rt.jar |
|
115 endif |
|
116 endif |
|
117 |
|
118 PATH_SEPARATOR = : |
|
119 |
|
120 # (2) specify "header" information |
|
121 JAVA_ARCH = hp-ux |
|
122 |
|
123 INCLUDES += -I$(JAVA_HOME)/include |
|
124 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
125 |
|
126 # no JIT option available on this platform |
|
127 JDK_JIT_OPT = |
|
128 endif |
|
129 |
|
130 # set [Redhat Linux] platforms |
|
131 ifeq ($(OS_ARCH), Linux) |
|
132 JAVA_CLASSES = $(JAVA_HOME)/jre/lib/rt.jar |
|
133 |
|
134 ifeq ($(JRE_HOME),) |
|
135 JRE_HOME = $(JAVA_HOME) |
|
136 JRE_CLASSES = $(JAVA_CLASSES) |
|
137 else |
|
138 ifeq ($(JRE_CLASSES),) |
|
139 JRE_CLASSES = $(JRE_HOME)/lib/rt.jar |
|
140 endif |
|
141 endif |
|
142 |
|
143 PATH_SEPARATOR = : |
|
144 |
|
145 # (2) specify "header" information |
|
146 JAVA_ARCH = linux |
|
147 |
|
148 INCLUDES += -I$(JAVA_HOME)/include |
|
149 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
150 |
|
151 # no JIT option available on this platform |
|
152 JDK_JIT_OPT = |
|
153 endif |
|
154 |
|
155 # set [Mac OS X] platforms |
|
156 ifeq ($(OS_ARCH), Darwin) |
|
157 JAVA_CLASSES = $(JAVA_HOME)/../Classes/classes.jar |
|
158 |
|
159 ifeq ($(JRE_HOME),) |
|
160 JRE_HOME = $(JAVA_HOME) |
|
161 JRE_CLASSES = $(JAVA_CLASSES) |
|
162 else |
|
163 ifeq ($(JRE_CLASSES),) |
|
164 JRE_CLASSES = $(JRE_HOME)/../Classes/classes.jar |
|
165 endif |
|
166 endif |
|
167 |
|
168 PATH_SEPARATOR = : |
|
169 |
|
170 # (2) specify "header" information |
|
171 JAVA_ARCH = darwin |
|
172 |
|
173 INCLUDES += -I$(JAVA_HOME)/include |
|
174 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
175 |
|
176 # no JIT option available on this platform |
|
177 JDK_JIT_OPT = |
|
178 endif |
|
179 |
|
180 # set [IBM AIX] platforms |
|
181 ifeq ($(OS_ARCH), AIX) |
|
182 JAVA_CLASSES = $(JAVA_HOME)/jre/lib/rt.jar |
|
183 |
|
184 ifeq ($(JRE_HOME),) |
|
185 JRE_HOME = $(JAVA_HOME) |
|
186 JRE_CLASSES = $(JAVA_CLASSES) |
|
187 else |
|
188 ifeq ($(JRE_CLASSES),) |
|
189 JRE_CLASSES = $(JRE_HOME)/lib/rt.jar |
|
190 endif |
|
191 endif |
|
192 |
|
193 PATH_SEPARATOR = : |
|
194 |
|
195 # (2) specify "header" information |
|
196 JAVA_ARCH = aix |
|
197 |
|
198 INCLUDES += -I$(JAVA_HOME)/include |
|
199 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
200 |
|
201 # no JIT option available on this platform |
|
202 JDK_JIT_OPT = |
|
203 endif |
|
204 |
|
205 # set [Digital UNIX] platforms |
|
206 ifeq ($(OS_ARCH), OSF1) |
|
207 JAVA_CLASSES = $(JAVA_HOME)/jre/lib/rt.jar |
|
208 |
|
209 ifeq ($(JRE_HOME),) |
|
210 JRE_HOME = $(JAVA_HOME) |
|
211 JRE_CLASSES = $(JAVA_CLASSES) |
|
212 else |
|
213 ifeq ($(JRE_CLASSES),) |
|
214 JRE_CLASSES = $(JRE_HOME)/lib/rt.jar |
|
215 endif |
|
216 endif |
|
217 |
|
218 PATH_SEPARATOR = : |
|
219 |
|
220 # (2) specify "header" information |
|
221 JAVA_ARCH = alpha |
|
222 |
|
223 INCLUDES += -I$(JAVA_HOME)/include |
|
224 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
225 |
|
226 # no JIT option available on this platform |
|
227 JDK_JIT_OPT = |
|
228 endif |
|
229 |
|
230 # set [Silicon Graphics IRIX] platforms |
|
231 ifeq ($(OS_ARCH), IRIX) |
|
232 JAVA_CLASSES = $(JAVA_HOME)/lib/dev.jar:$(JAVA_HOME)/lib/rt.jar |
|
233 |
|
234 ifeq ($(JRE_HOME),) |
|
235 JRE_HOME = $(JAVA_HOME) |
|
236 JRE_CLASSES = $(JAVA_CLASSES) |
|
237 else |
|
238 ifeq ($(JRE_CLASSES),) |
|
239 JRE_CLASSES = $(JRE_HOME)/lib/dev.jar:$(JRE_HOME)/lib/rt.jar |
|
240 endif |
|
241 endif |
|
242 |
|
243 PATH_SEPARATOR = : |
|
244 |
|
245 # (2) specify "header" information |
|
246 JAVA_ARCH = irix |
|
247 |
|
248 INCLUDES += -I$(JAVA_HOME)/include |
|
249 INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH) |
|
250 |
|
251 # no JIT option available on this platform |
|
252 JDK_JIT_OPT = |
|
253 endif |
|
254 |
|
255 ####################################################################### |
|
256 # [4] Define remaining JDK "Core Components" default toolset options # |
|
257 ####################################################################### |
|
258 |
|
259 # set JDK optimization model |
|
260 ifeq ($(BUILD_OPT),1) |
|
261 JDK_OPTIMIZER_OPT = -O |
|
262 else |
|
263 JDK_OPTIMIZER_OPT = -g |
|
264 endif |
|
265 |
|
266 # set minimal JDK debugging model |
|
267 ifeq ($(JDK_DEBUG),1) |
|
268 JDK_DEBUG_OPT = -debug |
|
269 else |
|
270 JDK_DEBUG_OPT = |
|
271 endif |
|
272 |
|
273 # set default path to repository for JDK classes |
|
274 ifeq ($(JDK_CLASS_REPOSITORY_OPT),) |
|
275 JDK_CLASS_REPOSITORY_OPT = -d $(JAVA_DESTPATH) |
|
276 endif |
|
277 |
|
278 # define a default JDK classpath |
|
279 ifeq ($(JDK_CLASSPATH),) |
|
280 JDK_CLASSPATH = '$(JAVA_DESTPATH)$(PATH_SEPARATOR)$(JAVA_SOURCEPATH)$(PATH_SEPARATOR)$(JAVA_CLASSES)' |
|
281 endif |
|
282 |
|
283 # by default, override CLASSPATH environment variable using the JDK classpath option with $(JDK_CLASSPATH) |
|
284 ifeq ($(JDK_CLASSPATH_OPT),) |
|
285 JDK_CLASSPATH_OPT = -classpath $(JDK_CLASSPATH) |
|
286 endif |
|
287 |
|
288 ifeq ($(USE_64), 1) |
|
289 JDK_USE_64 = -d64 |
|
290 endif |
|
291 |
|
292 endif |
|
293 |
|
294 |
|
295 ####################################################################### |
|
296 # [5] Define JDK "Core Components" toolset; # |
|
297 # (always allow a user to override these values) # |
|
298 ####################################################################### |
|
299 |
|
300 # |
|
301 # (1) appletviewer |
|
302 # |
|
303 |
|
304 ifeq ($(APPLETVIEWER),) |
|
305 APPLETVIEWER_PROG = $(JAVA_HOME)/bin/appletviewer$(PROG_SUFFIX) |
|
306 APPLETVIEWER_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
307 APPLETVIEWER_FLAGS += $(JDK_DEBUG_OPT) |
|
308 APPLETVIEWER_FLAGS += $(JDK_JIT_OPT) |
|
309 APPLETVIEWER = $(APPLETVIEWER_PROG) $(APPLETVIEWER_FLAGS) |
|
310 endif |
|
311 |
|
312 # |
|
313 # (2) jar |
|
314 # |
|
315 |
|
316 ifeq ($(JAR),) |
|
317 JAR_PROG = $(JAVA_HOME)/bin/jar$(PROG_SUFFIX) |
|
318 JAR_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
319 JAR = $(JAR_PROG) $(JAR_FLAGS) |
|
320 endif |
|
321 |
|
322 # |
|
323 # (3) java |
|
324 # |
|
325 |
|
326 ifeq ($(JAVA),) |
|
327 JAVA_PROG = $(JAVA_HOME)/bin/java$(PROG_SUFFIX) |
|
328 JAVA_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
329 JAVA_FLAGS += $(JDK_DEBUG_OPT) |
|
330 JAVA_FLAGS += $(JDK_CLASSPATH_OPT) |
|
331 JAVA_FLAGS += $(JDK_JIT_OPT) |
|
332 JAVA_FLAGS += $(JDK_USE_64) |
|
333 JAVA = $(JAVA_PROG) $(JAVA_FLAGS) |
|
334 endif |
|
335 |
|
336 # |
|
337 # (4) javac |
|
338 # |
|
339 |
|
340 ifeq ($(JAVAC),) |
|
341 JAVAC_PROG = $(JAVA_HOME)/bin/javac$(PROG_SUFFIX) |
|
342 JAVAC_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
343 JAVAC_FLAGS += $(JDK_OPTIMIZER_OPT) |
|
344 JAVAC_FLAGS += $(JDK_DEBUG_OPT) |
|
345 JAVAC_FLAGS += $(JDK_CLASSPATH_OPT) |
|
346 JAVAC_FLAGS += $(JDK_CLASS_REPOSITORY_OPT) |
|
347 JAVAC_FLAGS += $(JDK_USE_64) |
|
348 JAVAC = $(JAVAC_PROG) $(JAVAC_FLAGS) |
|
349 endif |
|
350 |
|
351 # |
|
352 # (5) javadoc |
|
353 # |
|
354 |
|
355 ifeq ($(JAVADOC),) |
|
356 JAVADOC_PROG = $(JAVA_HOME)/bin/javadoc$(PROG_SUFFIX) |
|
357 JAVADOC_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
358 JAVADOC_FLAGS += $(JDK_CLASSPATH_OPT) |
|
359 JAVADOC = $(JAVADOC_PROG) $(JAVADOC_FLAGS) |
|
360 endif |
|
361 |
|
362 # |
|
363 # (6) javah |
|
364 # |
|
365 |
|
366 ifeq ($(JAVAH),) |
|
367 JAVAH_PROG = $(JAVA_HOME)/bin/javah$(PROG_SUFFIX) |
|
368 JAVAH_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
369 JAVAH_FLAGS += $(JDK_CLASSPATH_OPT) |
|
370 JAVAH = $(JAVAH_PROG) $(JAVAH_FLAGS) |
|
371 endif |
|
372 |
|
373 # |
|
374 # (7) javakey |
|
375 # |
|
376 |
|
377 ifeq ($(JAVAKEY),) |
|
378 JAVAKEY_PROG = $(JAVA_HOME)/bin/javakey$(PROG_SUFFIX) |
|
379 JAVAKEY_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
380 JAVAKEY = $(JAVAKEY_PROG) $(JAVAKEY_FLAGS) |
|
381 endif |
|
382 |
|
383 # |
|
384 # (8) javap |
|
385 # |
|
386 |
|
387 ifeq ($(JAVAP),) |
|
388 JAVAP_PROG = $(JAVA_HOME)/bin/javap$(PROG_SUFFIX) |
|
389 JAVAP_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
390 JAVAP_FLAGS += $(JDK_CLASSPATH_OPT) |
|
391 JAVAP = $(JAVAP_PROG) $(JAVAP_FLAGS) |
|
392 endif |
|
393 |
|
394 # |
|
395 # (9) javat |
|
396 # |
|
397 |
|
398 ifeq ($(JAVAT),) |
|
399 JAVAT_PROG = $(JAVA_HOME)/bin/javat$(PROG_SUFFIX) |
|
400 JAVAT_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
401 JAVAT = $(JAVAT_PROG) $(JAVAT_FLAGS) |
|
402 endif |
|
403 |
|
404 # |
|
405 # (10) javaverify |
|
406 # |
|
407 |
|
408 ifeq ($(JAVAVERIFY),) |
|
409 JAVAVERIFY_PROG = $(JAVA_HOME)/bin/javaverify$(PROG_SUFFIX) |
|
410 JAVAVERIFY_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
411 JAVAVERIFY = $(JAVAVERIFY_PROG) $(JAVAVERIFY_FLAGS) |
|
412 endif |
|
413 |
|
414 # |
|
415 # (11) javaw |
|
416 # |
|
417 |
|
418 ifeq ($(JAVAW),) |
|
419 jJAVAW_PROG = $(JAVA_HOME)/bin/javaw$(PROG_SUFFIX) |
|
420 jJAVAW_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
421 jJAVAW_FLAGS += $(JDK_DEBUG_OPT) |
|
422 jJAVAW_FLAGS += $(JDK_CLASSPATH_OPT) |
|
423 jJAVAW_FLAGS += $(JDK_JIT_OPT) |
|
424 jJAVAW = $(JAVAW_PROG) $(JAVAW_FLAGS) |
|
425 endif |
|
426 |
|
427 # |
|
428 # (12) jdb |
|
429 # |
|
430 |
|
431 ifeq ($(JDB),) |
|
432 JDB_PROG = $(JAVA_HOME)/bin/jdb$(PROG_SUFFIX) |
|
433 JDB_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
434 JDB_FLAGS += $(JDK_DEBUG_OPT) |
|
435 JDB_FLAGS += $(JDK_CLASSPATH_OPT) |
|
436 JDB_FLAGS += $(JDK_JIT_OPT) |
|
437 JDB = $(JDB_PROG) $(JDB_FLAGS) |
|
438 endif |
|
439 |
|
440 # |
|
441 # (13) jre |
|
442 # |
|
443 |
|
444 ifeq ($(JRE),) |
|
445 JRE_PROG = $(JAVA_HOME)/bin/jre$(PROG_SUFFIX) |
|
446 JRE_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
447 JRE_FLAGS += $(JDK_CLASSPATH_OPT) |
|
448 JRE_FLAGS += $(JDK_JIT_OPT) |
|
449 JRE = $(JRE_PROG) $(JRE_FLAGS) |
|
450 endif |
|
451 |
|
452 # |
|
453 # (14) jrew |
|
454 # |
|
455 |
|
456 ifeq ($(JREW),) |
|
457 JREW_PROG = $(JAVA_HOME)/bin/jrew$(PROG_SUFFIX) |
|
458 JREW_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
459 JREW_FLAGS += $(JDK_CLASSPATH_OPT) |
|
460 JREW_FLAGS += $(JDK_JIT_OPT) |
|
461 JREW = $(JREW_PROG) $(JREW_FLAGS) |
|
462 endif |
|
463 |
|
464 # |
|
465 # (15) native2ascii |
|
466 # |
|
467 |
|
468 ifeq ($(NATIVE2ASCII),) |
|
469 NATIVE2ASCII_PROG = $(JAVA_HOME)/bin/native2ascii$(PROG_SUFFIX) |
|
470 NATIVE2ASCII_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
471 NATIVE2ASCII = $(NATIVE2ASCII_PROG) $(NATIVE2ASCII_FLAGS) |
|
472 endif |
|
473 |
|
474 # |
|
475 # (16) rmic |
|
476 # |
|
477 |
|
478 ifeq ($(RMIC),) |
|
479 RMIC_PROG = $(JAVA_HOME)/bin/rmic$(PROG_SUFFIX) |
|
480 RMIC_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
481 RMIC_FLAGS += $(JDK_OPTIMIZER_OPT) |
|
482 RMIC_FLAGS += $(JDK_CLASSPATH_OPT) |
|
483 RMIC = $(RMIC_PROG) $(RMIC_FLAGS) |
|
484 endif |
|
485 |
|
486 # |
|
487 # (17) rmiregistry |
|
488 # |
|
489 |
|
490 ifeq ($(RMIREGISTRY),) |
|
491 RMIREGISTRY_PROG = $(JAVA_HOME)/bin/rmiregistry$(PROG_SUFFIX) |
|
492 RMIREGISTRY_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
493 RMIREGISTRY = $(RMIREGISTRY_PROG) $(RMIREGISTRY_FLAGS) |
|
494 endif |
|
495 |
|
496 # |
|
497 # (18) serialver |
|
498 # |
|
499 |
|
500 ifeq ($(SERIALVER),) |
|
501 SERIALVER_PROG = $(JAVA_HOME)/bin/serialver$(PROG_SUFFIX) |
|
502 SERIALVER_FLAGS = $(JDK_THREADING_MODEL_OPT) |
|
503 SERIALVER = $(SERIALVER_PROG) $(SERIALVER_FLAGS) |
|
504 endif |