6
6
NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources
7
7
NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources
9
TESTS_SRCDIR=$(abs_top_srcdir)/tests
10
TESTS_DIR=$(abs_top_builddir)/tests.build
12
NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit
13
NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit
15
JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner
16
JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner
18
JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar
11
22
BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0
25
36
IT_CLASS_TARGET_VERSION=6
26
37
IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION)
40
# We need the jars in bootclasspath for a couple of reasons
41
# - we use classes (in the sun.applet package) loaded by the bootclassloader
42
# using another classloader to load classes from the same package causes an
43
# IllegalAccessException
44
# - we want full privileges
28
46
JRE='"$(SYSTEM_JDK_DIR)/jre"'
29
47
LAUNCHER_BOOTCLASSPATH="-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar$(RHINO_RUNTIME)"
30
48
PLUGIN_BOOTCLASSPATH='"-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar:$(datadir)/$(PACKAGE_NAME)/plugin.jar$(RHINO_RUNTIME)"'
32
# Fake update version to shut up the plugin detector hosted by Oracle.
33
# If Oracle ever release a JDK update greater than 50, this needs to be increased.
50
# Fake update version to work with the Deployment Toolkit script used by Oracle
51
# http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html
34
52
JDK_UPDATE_VERSION=50
95
RHINO_TESTS=check-pac-functions
101
JUNIT_TESTS=run-netx-unit-tests
76
107
PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION)
78
109
EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \
79
itweb-settings.desktop.in
110
itweb-settings.desktop.in $(top_srcdir)/tests
81
112
# the launcher needs to know $(bindir) and $(datadir) which can be different at
82
113
# make-time from configure-time
84
115
-e 's|[@]LAUNCHER_BOOTCLASSPATH[@]|$(LAUNCHER_BOOTCLASSPATH)|g' \
85
116
-e 's|[@]JAVAWS_BIN_LOCATION[@]|$(bindir)/javaws|g' \
86
117
-e 's|[@]ITWEB_SETTINGS_BIN_LOCATION[@]|$(bindir)/itweb-settings|g' \
87
-e 's|[@]JAVA[@]|$(JAVA)|g'
118
-e 's|[@]JAVA[@]|$(JAVA)|g' \
119
-e 's|[@]JRE[@]|$(JRE)|g'
89
121
# Top-Level Targets
90
122
# =================
92
124
all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/javaws \
93
125
javaws.desktop stamps/docs.stamp launcher.build/itweb-settings itweb-settings.desktop
95
check-local: check-pac-functions
127
check-local: $(RHINO_TESTS) $(JUNIT_TESTS)
97
129
clean-local: clean-netx clean-plugin clean-liveconnect clean-extra clean-bootstrap-directory \
98
130
clean-native-ecj clean-launchers clean-desktop-files clean-docs clean-tests
103
135
.PHONY: clean-IcedTeaPlugin clean-add-netx clean-add-netx-debug clean-add-plugin clean-add-plugin-debug \
104
136
clean-bootstrap-directory clean-native-ecj clean-desktop-files clean-netx-docs clean-docs clean-plugin-docs \
105
clean-tests check-local clean-launchers
137
clean-tests check-local clean-launchers check-pac-functions run-netx-unit-tests clean-netx-tests \
138
clean-junit-runner clean-netx-unit-tests
107
140
install-exec-local:
108
141
${mkinstalldirs} $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ $(DESTDIR)$(libdir)
391
424
# ==========================
426
clean-tests: clean-netx-tests
427
if [ -e $(TESTS_DIR) ]; then \
428
rmdir $(TESTS_DIR) ; \
393
431
check-pac-functions: stamps/bootstrap-directory.stamp
394
432
./jrunscript $(abs_top_srcdir)/tests/netx/pac/pac-funcs-test.js \
395
433
$$(readlink -f $(abs_top_srcdir)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js)
435
junit-runner-source-files.txt:
436
find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@
438
$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt
439
mkdir -p $(JUNIT_RUNNER_DIR) && \
440
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
441
-d $(JUNIT_RUNNER_DIR) \
442
-classpath $(JUNIT_JAR) \
443
@junit-runner-source-files.txt && \
444
$(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) .
446
netx-unit-tests-source-files.txt:
447
find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@
449
stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \
450
netx-unit-tests-source-files.txt
451
mkdir -p $(NETX_UNIT_TEST_DIR) && \
452
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
453
-d $(NETX_UNIT_TEST_DIR) \
454
-classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \
455
@netx-unit-tests-source-files.txt && \
459
run-netx-unit-tests: stamps/netx-unit-tests-compile.stamp \
461
cp {$(NETX_UNIT_TEST_SRCDIR),$(NETX_UNIT_TEST_DIR)}/net/sourceforge/jnlp/basic.jnlp
462
cd $(NETX_UNIT_TEST_DIR) ; \
464
for test in `find -type f` ; do \
465
class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \
466
class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
467
class_names="$$class_names $$class_name" ; \
469
echo $$class_names ; \
470
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
471
$(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names
473
clean-netx-tests: clean-netx-unit-tests clean-junit-runner
474
if [ -e $(TESTS_DIR)/netx ]; then \
475
rmdir $(TESTS_DIR)/netx ; \
479
rm -f junit-runner-source-files.txt
480
rm -rf $(JUNIT_RUNNER_DIR)
481
rm -f $(JUNIT_RUNNER_JAR)
483
clean-netx-unit-tests:
484
rm -f netx-unit-tests-source-files.txt
485
rm -rf $(NETX_UNIT_TEST_DIR)
486
rm -f stamps/netx-unit-tests-compile.stamp