21.1.11
by Matthias Klose
Really use OpenJDK 7 for the icedtea-7 plugin. Closes: #662239. |
1 |
# Source directories
|
2 |
||
3 |
NETX_DIR = $(abs_top_builddir)/netx.build |
|
4 |
NETX_SRCDIR = $(abs_top_srcdir)/netx |
|
5 |
NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources |
|
6 |
NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources |
|
7 |
NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources |
|
8 |
||
9 |
REPORT_STYLES_DIRNAME=report-styles |
|
10 |
||
11 |
TESTS_SRCDIR=$(abs_top_srcdir)/tests |
|
12 |
TESTS_DIR=$(abs_top_builddir)/tests.build |
|
13 |
||
14 |
NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit |
|
15 |
NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit |
|
16 |
||
17 |
JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner |
|
18 |
JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner |
|
19 |
||
20 |
JNLP_TESTS_ENGINE_SRCDIR=$(TESTS_SRCDIR)/netx/jnlp_testsengine |
|
21 |
JNLP_TESTS_SRCDIR=$(TESTS_SRCDIR)/jnlp_tests |
|
22 |
JNLP_TESTS_ENGINE_DIR=$(TESTS_DIR)/netx/jnlp_testsengine |
|
23 |
JNLP_TESTS_SERVER_DEPLOYDIR=$(TESTS_DIR)/jnlp_test_server |
|
24 |
JNLP_TESTS_DIR=$(TESTS_DIR)/jnlp_tests |
|
25 |
KEYSTORE_NAME=teststore.ks |
|
26 |
||
27 |
JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar |
|
28 |
UNIT_CLASS_NAMES = $(abs_top_builddir)/unit_class_names |
|
29 |
REPRODUCERS_CLASS_NAMES = $(abs_top_builddir)/reproducers_class_names |
|
30 |
||
31 |
# Build directories
|
|
32 |
||
33 |
BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0 |
|
34 |
||
35 |
if WITH_RHINO
|
|
36 |
RHINO_RUNTIME=:$(RHINO_JAR) |
|
37 |
else
|
|
38 |
RHINO_RUNTIME= |
|
39 |
endif
|
|
40 |
||
41 |
RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME) |
|
42 |
||
43 |
# Flags
|
|
44 |
IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) |
|
45 |
IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) |
|
46 |
IT_LANGUAGE_SOURCE_VERSION=6 |
|
47 |
IT_CLASS_TARGET_VERSION=6 |
|
48 |
IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION) |
|
49 |
||
50 |
#
|
|
51 |
# We need the jars in bootclasspath for a couple of reasons
|
|
52 |
# - we use classes (in the sun.applet package) loaded by the bootclassloader
|
|
53 |
# using another classloader to load classes from the same package causes an
|
|
54 |
# IllegalAccessException
|
|
55 |
# - we want full privileges
|
|
56 |
#
|
|
57 |
LAUNCHER_BOOTCLASSPATH="-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar$(RHINO_RUNTIME)" |
|
58 |
PLUGIN_BOOTCLASSPATH='"-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar:$(datadir)/$(PACKAGE_NAME)/plugin.jar$(RHINO_RUNTIME)"' |
|
59 |
||
60 |
# Fake update version to work with the Deployment Toolkit script used by Oracle
|
|
61 |
# http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html
|
|
62 |
JDK_UPDATE_VERSION=50 |
|
63 |
||
64 |
# Sources list
|
|
65 |
||
66 |
PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java |
|
67 |
||
68 |
NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \ |
|
69 |
net.sourceforge.jnlp.cache net.sourceforge.jnlp.config \
|
|
70 |
net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
|
|
71 |
net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
|
|
72 |
net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \
|
|
73 |
net.sourceforge.jnlp.tools net.sourceforge.jnlp.util |
|
74 |
||
75 |
# Conditional defintions
|
|
76 |
if ENABLE_PLUGIN
|
|
77 |
ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin |
|
78 |
LIVECONNECT_DIR = netscape sun/applet |
|
79 |
PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp |
|
80 |
PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp |
|
81 |
LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java |
|
82 |
ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/IcedTeaPlugin.so stamps/liveconnect-dist.stamp |
|
83 |
PLUGIN_PKGS = sun.applet netscape.security netscape.javascript |
|
84 |
endif
|
|
85 |
||
86 |
if CP_SUPPORTS_REFLINK
|
|
87 |
REFLINK = --reflink=auto |
|
88 |
endif
|
|
89 |
||
90 |
if SRC_DIR_HARDLINKABLE
|
|
91 |
SRC_DIR_LINK = -l |
|
92 |
else
|
|
93 |
SRC_DIR_LINK = $(REFLINK) |
|
94 |
endif
|
|
95 |
||
96 |
if ENABLE_DOCS
|
|
97 |
JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \ |
|
98 |
-bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>'
|
|
99 |
if JAVADOC_SUPPORTS_J_OPTIONS
|
|
100 |
JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m |
|
101 |
endif
|
|
102 |
endif
|
|
103 |
||
104 |
if WITH_RHINO
|
|
105 |
RHINO_TESTS=check-pac-functions |
|
106 |
else
|
|
107 |
RHINO_TESTS= |
|
108 |
endif
|
|
109 |
||
110 |
if WITH_JUNIT
|
|
111 |
JUNIT_TESTS=stamps/run-netx-unit-tests.stamp |
|
112 |
else
|
|
113 |
JUNIT_TESTS= |
|
114 |
endif
|
|
115 |
||
116 |
||
117 |
PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) |
|
118 |
||
119 |
EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \ |
|
120 |
itweb-settings.desktop.in $(top_srcdir)/tests |
|
121 |
||
122 |
# binary names
|
|
123 |
javaws:= $(shell echo javaws | sed '@program_transform_name@') |
|
124 |
itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@') |
|
125 |
||
126 |
# the launcher needs to know $(bindir) and $(datadir) which can be different at
|
|
127 |
# make-time from configure-time
|
|
128 |
edit_launcher_script = sed \ |
|
129 |
-e 's|[@]LAUNCHER_BOOTCLASSPATH[@]|$(LAUNCHER_BOOTCLASSPATH)|g' \ |
|
130 |
-e 's|[@]JAVAWS_BIN_LOCATION[@]|$(bindir)/$(javaws)|g' \ |
|
131 |
-e 's|[@]ITWEB_SETTINGS_BIN_LOCATION[@]|$(bindir)/$(itweb_settings)|g' \ |
|
132 |
-e 's|[@]JAVA[@]|$(JAVA)|g' \ |
|
133 |
-e 's|[@]JRE[@]|$(SYSTEM_JRE_DIR)|g'
|
|
134 |
||
135 |
# Top-Level Targets
|
|
136 |
# =================
|
|
137 |
||
138 |
all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \ |
|
139 |
javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop |
|
140 |
||
141 |
check-local: $(RHINO_TESTS) $(JUNIT_TESTS) |
|
142 |
||
143 |
clean-local: clean-netx clean-plugin clean-liveconnect clean-extra clean-bootstrap-directory \ |
|
144 |
clean-native-ecj clean-launchers clean-desktop-files clean-docs clean-tests |
|
145 |
if [ -e stamps ] ; then \
|
|
146 |
rmdir stamps ; \
|
|
147 |
fi
|
|
148 |
||
149 |
.PHONY: clean-IcedTeaPlugin clean-add-netx clean-add-netx-debug clean-add-plugin clean-add-plugin-debug \ |
|
150 |
clean-bootstrap-directory clean-native-ecj clean-desktop-files clean-netx-docs clean-docs clean-plugin-docs \ |
|
151 |
clean-tests check-local clean-launchers check-pac-functions stamps/run-netx-unit-tests.stamp clean-netx-tests \ |
|
152 |
clean-junit-runner clean-netx-unit-tests |
|
153 |
||
154 |
install-exec-local: |
|
155 |
${mkinstalldirs} $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ $(DESTDIR)$(libdir) |
|
156 |
if ENABLE_PLUGIN
|
|
157 |
${INSTALL_PROGRAM} $(PLUGIN_DIR)/IcedTeaPlugin.so $(DESTDIR)$(libdir) |
|
158 |
${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar |
|
159 |
endif
|
|
160 |
${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar |
|
161 |
${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir) |
|
162 |
${INSTALL_DATA} extra-lib/about.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar |
|
163 |
${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir) |
|
164 |
||
165 |
install-data-local: |
|
166 |
${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1 |
|
167 |
${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(mandir)/man1 |
|
168 |
${INSTALL_DATA} $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME) |
|
169 |
if ENABLE_DOCS
|
|
170 |
${mkinstalldirs} $(DESTDIR)$(htmldir) |
|
171 |
(cd ${abs_top_builddir}/docs/netx; \ |
|
172 |
for files in $$(find . -type f); \ |
|
173 |
do \ |
|
174 |
${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/netx/$${files}; \ |
|
175 |
done) |
|
176 |
if ENABLE_PLUGIN
|
|
177 |
(cd ${abs_top_builddir}/docs/plugin; \ |
|
178 |
for files in $$(find . -type f); \ |
|
179 |
do \ |
|
180 |
${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/plugin/$${files}; \ |
|
181 |
done) |
|
182 |
endif
|
|
183 |
endif
|
|
184 |
||
185 |
uninstall-local: |
|
186 |
rm -f $(DESTDIR)$(libdir)/IcedTeaPlugin.so |
|
187 |
rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar |
|
188 |
rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar |
|
189 |
rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jnlp |
|
190 |
rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar |
|
191 |
rm -f $(DESTDIR)$(mandir)/man1/javaws.1 |
|
192 |
rm -f $(DESTDIR)$(bindir)/$(javaws) |
|
193 |
rm -f $(DESTDIR)$(bindir)/$(itweb_settings) |
|
194 |
rm -rf $(DESTDIR)$(htmldir) |
|
195 |
||
196 |
# Plugin
|
|
197 |
||
198 |
if ENABLE_PLUGIN
|
|
199 |
# IcedTeaPlugin.so.
|
|
200 |
# Separate compile and link invocations to ensure intermediate object
|
|
201 |
# is listed before -l options. See:
|
|
202 |
# http://developer.mozilla.org/en/docs/XPCOM_Glue
|
|
203 |
||
204 |
PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \ |
|
205 |
IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \
|
|
206 |
IcedTeaPluginUtils.cc |
|
207 |
||
208 |
PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTeaScriptablePluginObject.o \ |
|
209 |
IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \
|
|
210 |
IcedTeaPluginUtils.o |
|
211 |
||
212 |
$(PLUGIN_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc |
|
213 |
mkdir -p $(PLUGIN_DIR) && \ |
|
214 |
cd $(PLUGIN_DIR) && \ |
|
215 |
$(CXX) $(CXXFLAGS) \ |
|
216 |
$(DEFS) $(VERSION_DEFS) \ |
|
217 |
-DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ |
|
218 |
-DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \ |
|
219 |
-DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ |
|
220 |
-DPACKAGE_URL="\"$(PACKAGE_URL)\"" \ |
|
221 |
-DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ |
|
222 |
-DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \ |
|
223 |
-DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \ |
|
224 |
$(GLIB_CFLAGS) \ |
|
225 |
$(GTK_CFLAGS) \ |
|
226 |
$(MOZILLA_CFLAGS) \ |
|
227 |
-fPIC -o $@ -c $<
|
|
228 |
||
229 |
$(PLUGIN_DIR)/IcedTeaPlugin.so: $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) |
|
230 |
cd $(PLUGIN_DIR) && \ |
|
231 |
$(CXX) $(CXXFLAGS) \ |
|
232 |
$(PLUGIN_OBJECTS) \ |
|
233 |
$(GLIB_LIBS) \ |
|
234 |
$(GTK_LIBS) \ |
|
235 |
$(MOZILLA_LIBS)\ |
|
236 |
-shared -o $@
|
|
237 |
||
238 |
clean-IcedTeaPlugin: |
|
239 |
rm -f $(PLUGIN_DIR)/*.o |
|
240 |
rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so |
|
241 |
if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \
|
|
242 |
if [ -e $(abs_top_builddir)/plugin/icedteanp ] ; then \
|
|
243 |
rmdir $(abs_top_builddir)/plugin/icedteanp ; \
|
|
244 |
rmdir $(abs_top_builddir)/plugin ; \
|
|
245 |
fi ; \
|
|
246 |
fi
|
|
247 |
endif
|
|
248 |
||
249 |
stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) |
|
250 |
mkdir -p stamps |
|
251 |
touch stamps/plugin.stamp |
|
252 |
||
253 |
clean-plugin: $(ICEDTEAPLUGIN_CLEAN) |
|
254 |
rm -f stamps/plugin.stamp |
|
255 |
||
256 |
liveconnect-source-files.txt: |
|
257 |
if test "x${LIVECONNECT_DIR}" != x; then \
|
|
258 |
find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \
|
|
259 |
fi
|
|
260 |
touch $@
|
|
261 |
||
262 |
stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp |
|
263 |
if test "x${LIVECONNECT_DIR}" != x; then \
|
|
264 |
mkdir -p $(abs_top_builddir)/liveconnect && \
|
|
265 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
|
|
266 |
-d $(abs_top_builddir)/liveconnect \
|
|
267 |
-bootclasspath $(NETX_DIR):$(RUNTIME) \
|
|
268 |
-sourcepath $(LIVECONNECT_SRCS) \
|
|
269 |
@liveconnect-source-files.txt ; \
|
|
270 |
fi
|
|
271 |
mkdir -p stamps |
|
272 |
touch $@
|
|
273 |
||
274 |
stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp |
|
275 |
if test "x${LIVECONNECT_DIR}" != x; then \
|
|
276 |
(cd $(abs_top_builddir)/liveconnect ; \
|
|
277 |
mkdir -p lib ; \
|
|
278 |
$(BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \
|
|
279 |
cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \
|
|
280 |
find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
|
|
281 |
cd src ; \
|
|
282 |
$(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \
|
|
283 |
fi
|
|
284 |
mkdir -p stamps |
|
285 |
touch $@
|
|
286 |
||
287 |
clean-liveconnect: |
|
288 |
rm -rf $(abs_top_builddir)/liveconnect |
|
289 |
rm -f stamps/liveconnect-dist.stamp |
|
290 |
rm -f liveconnect-source-files.txt |
|
291 |
rm -f stamps/liveconnect.stamp |
|
292 |
||
293 |
# NetX
|
|
294 |
# requires availability of OpenJDK source code including
|
|
295 |
# a patch applied to sun.plugin.AppletViewerPanel and generated sources
|
|
296 |
||
297 |
netx-source-files.txt: |
|
298 |
find $(NETX_SRCDIR) -name '*.java' | sort > $@ |
|
299 |
if !WITH_RHINO
|
|
300 |
sed -i '/RhinoBasedPacEvaluator/ d' $@ |
|
301 |
endif
|
|
302 |
||
303 |
stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp |
|
304 |
mkdir -p $(NETX_DIR) |
|
305 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ |
|
306 |
-d $(NETX_DIR) \ |
|
307 |
-sourcepath $(NETX_SRCDIR) \ |
|
308 |
-bootclasspath $(RUNTIME) \ |
|
309 |
@netx-source-files.txt |
|
310 |
(cd $(NETX_RESOURCE_DIR); \ |
|
311 |
for files in $$(find . -type f); \ |
|
312 |
do \ |
|
313 |
${INSTALL_DATA} -D $${files} \ |
|
314 |
$(NETX_DIR)/net/sourceforge/jnlp/resources/$${files}; \ |
|
315 |
done) |
|
316 |
cp -a $(NETX_SRCDIR)/net/sourceforge/jnlp/runtime/pac-funcs.js \ |
|
317 |
$(NETX_DIR)/net/sourceforge/jnlp/runtime |
|
318 |
cp -a build.properties $(NETX_DIR)/net/sourceforge/jnlp/ |
|
319 |
mkdir -p stamps |
|
320 |
touch $@
|
|
321 |
||
322 |
stamps/netx-dist.stamp: stamps/netx.stamp $(abs_top_builddir)/netx.manifest |
|
323 |
(cd $(NETX_DIR) ; \ |
|
324 |
mkdir -p lib ; \ |
|
325 |
$(BOOT_DIR)/bin/jar cfm lib/classes.jar \ |
|
326 |
$(abs_top_builddir)/netx.manifest javax/jnlp net ; \ |
|
327 |
cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \ |
|
328 |
find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ |
|
329 |
cd src ; \ |
|
330 |
$(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net ) |
|
331 |
mkdir -p stamps |
|
332 |
touch $@
|
|
333 |
||
334 |
clean-netx: |
|
335 |
rm -rf $(NETX_DIR) |
|
336 |
rm -f stamps/netx-dist.stamp |
|
337 |
rm -f netx-source-files.txt |
|
338 |
rm -f stamps/netx.stamp |
|
339 |
||
340 |
clean-desktop-files: |
|
341 |
rm -f javaws.desktop |
|
342 |
rm -f itweb-settings.desktop |
|
343 |
||
344 |
# extras -- used to create about.jar for javaws.
|
|
345 |
extra-source-files.txt: |
|
346 |
find $(abs_top_srcdir)/extra -name '*.java' | sort > $@ |
|
347 |
||
348 |
stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp |
|
349 |
mkdir -p extra-lib |
|
350 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ |
|
351 |
-sourcepath $(abs_top_srcdir)/extra -cp netx.build \ |
|
352 |
-bootclasspath $(RUNTIME) @extra-source-files.txt |
|
353 |
(cd $(NETX_EXTRA_DIR); \ |
|
354 |
for files in $$(find . -type f); \ |
|
355 |
do \ |
|
356 |
${INSTALL_DATA} -D $${files} \ |
|
357 |
$(NETX_EXTRA_DIST_DIR)/$${files}; \ |
|
358 |
done) |
|
359 |
mkdir -p stamps |
|
360 |
touch $@
|
|
361 |
||
362 |
clean-extra: |
|
363 |
rm -rf extra-lib |
|
364 |
rm -f stamps/extra-class-files.stamp |
|
365 |
rm -f extra-source-files.txt |
|
366 |
||
367 |
extra-lib/about.jar: stamps/extra-class-files.stamp |
|
368 |
$(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; |
|
369 |
||
370 |
launcher.build/$(javaws): launcher/javaws.in |
|
371 |
mkdir -p launcher.build |
|
372 |
$(edit_launcher_script) < $< > $@ |
|
373 |
||
374 |
launcher.build/$(itweb_settings): launcher/itweb-settings.in |
|
375 |
mkdir -p launcher.build |
|
376 |
$(edit_launcher_script) < $< > $@ |
|
377 |
||
378 |
clean-launchers: |
|
379 |
rm -f launcher.build/$(javaws) |
|
380 |
rm -f launcher.build/$(itweb_settings) |
|
381 |
if [ -e launcher.build ] ; then \
|
|
382 |
rmdir launcher.build ; \
|
|
383 |
fi
|
|
384 |
||
385 |
javaws.desktop: javaws.desktop.in |
|
386 |
sed "s#PATH_TO_JAVAWS#$(bindir)/$(javaws)#" < $(srcdir)/javaws.desktop.in > javaws.desktop |
|
387 |
||
388 |
itweb-settings.desktop: $(srcdir)/itweb-settings.desktop.in |
|
389 |
sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \ |
|
390 |
< $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop |
|
391 |
||
392 |
# documentation
|
|
393 |
||
394 |
stamps/docs.stamp: stamps/netx-docs.stamp stamps/plugin-docs.stamp |
|
395 |
touch stamps/docs.stamp |
|
396 |
||
397 |
clean-docs: clean-netx-docs clean-plugin-docs |
|
398 |
if [ -e ${abs_top_builddir}/docs ] ; then \
|
|
399 |
rmdir ${abs_top_builddir}/docs ; \
|
|
400 |
fi
|
|
401 |
rm -f stamps/docs.stamp |
|
402 |
||
403 |
stamps/netx-docs.stamp: stamps/bootstrap-directory.stamp |
|
404 |
if ENABLE_DOCS
|
|
405 |
$(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \ |
|
406 |
-d ${abs_top_builddir}/docs/netx -sourcepath $(NETX_SRCDIR) \ |
|
407 |
-doctitle 'IcedTea-Web: NetX API Specification' \ |
|
408 |
-windowtitle 'IcedTea-Web: NetX ' \ |
|
409 |
-header '<strong>IcedTea-Web<br/>NetX</strong>' \ |
|
410 |
$(NETX_PKGS) |
|
411 |
endif
|
|
412 |
mkdir -p stamps |
|
413 |
touch stamps/netx-docs.stamp |
|
414 |
||
415 |
clean-netx-docs: |
|
416 |
rm -rf ${abs_top_builddir}/docs/netx |
|
417 |
rm -f stamps/netx-docs.stamp |
|
418 |
||
419 |
stamps/plugin-docs.stamp: stamps/bootstrap-directory.stamp |
|
420 |
if ENABLE_DOCS
|
|
421 |
if ENABLE_PLUGIN
|
|
422 |
$(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \ |
|
423 |
-d ${abs_top_builddir}/docs/plugin -sourcepath $(NETX_SRCDIR):$(LIVECONNECT_SRCS) \ |
|
424 |
-doctitle 'IcedTea-Web: Plugin API Specification' \ |
|
425 |
-windowtitle 'IcedTea-Web: Plugin ' \ |
|
426 |
-header '<strong>IcedTea-Web<br/>Plugin</strong>' \ |
|
427 |
$(PLUGIN_PKGS) |
|
428 |
endif
|
|
429 |
endif
|
|
430 |
mkdir -p stamps |
|
431 |
touch stamps/plugin-docs.stamp |
|
432 |
||
433 |
clean-plugin-docs: |
|
434 |
rm -rf ${abs_top_builddir}/docs/plugin |
|
435 |
rm -f stamps/plugin-docs.stamp |
|
436 |
||
437 |
||
438 |
# check
|
|
439 |
# ==========================
|
|
440 |
||
441 |
clean-tests: clean-netx-tests |
|
442 |
if [ -e $(TESTS_DIR) ]; then \
|
|
443 |
rmdir $(TESTS_DIR) ; \
|
|
444 |
fi
|
|
445 |
||
446 |
check-pac-functions: stamps/bootstrap-directory.stamp |
|
447 |
./jrunscript $(abs_top_srcdir)/tests/netx/pac/pac-funcs-test.js \ |
|
448 |
$$(readlink -f $(abs_top_srcdir)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js) |
|
449 |
||
450 |
junit-runner-source-files.txt: |
|
451 |
find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@ |
|
452 |
||
453 |
$(JUNIT_RUNNER_JAR): junit-runner-source-files.txt |
|
454 |
mkdir -p $(JUNIT_RUNNER_DIR) && \ |
|
455 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ |
|
456 |
-d $(JUNIT_RUNNER_DIR) \ |
|
457 |
-classpath $(JUNIT_JAR) \ |
|
458 |
@junit-runner-source-files.txt && \ |
|
459 |
$(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) . |
|
460 |
||
461 |
stamps/junit-jnlp-dist-dirs: junit-jnlp-dist-simple.txt junit-jnlp-dist-signed.txt |
|
462 |
mkdir -p $(JNLP_TESTS_SERVER_DEPLOYDIR) |
|
463 |
mkdir -p $(JNLP_TESTS_DIR) |
|
464 |
mkdir -p $(JNLP_TESTS_ENGINE_DIR) |
|
465 |
touch $@
|
|
466 |
||
467 |
junit-jnlp-dist-simple.txt: |
|
468 |
cd $(JNLP_TESTS_SRCDIR)/simple/ ; \ |
|
469 |
find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ |
|
470 |
||
471 |
junit-jnlp-dist-signed.txt: |
|
472 |
cd $(JNLP_TESTS_SRCDIR)/signed/ ; \ |
|
473 |
find . -maxdepth 1 -mindepth 1 | sed "s/.\/*//" > $(abs_top_builddir)/$@ |
|
474 |
||
475 |
stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs |
|
476 |
types=(simple signed); \ |
|
477 |
for which in "$${types[@]}" ; do \ |
|
478 |
. $(abs_top_srcdir)/NEW_LINE_IFS ; \ |
|
479 |
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ |
|
480 |
IFS="$$IFS_BACKUP" ; \ |
|
481 |
for dir in "$${simpleReproducers[@]}" ; do \ |
|
482 |
echo "processing: $$dir" ; \ |
|
483 |
mkdir -p "$(JNLP_TESTS_DIR)/$$dir" ; \ |
|
484 |
d=`pwd` ; \ |
|
485 |
cd "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/srcs/" ; \ |
|
486 |
srcFiles=`find . -mindepth 1 -type f -name "*.java" | sed "s/.\/*//"` ; \ |
|
487 |
notSrcFiles=`find . -mindepth 1 -type f \! -name "*.java" | sed "s/.\/*//"` ; \ |
|
488 |
$(BOOT_DIR)/bin/javac -d "$(JNLP_TESTS_DIR)/$$dir/" $$srcFiles ; \ |
|
489 |
if [ -n "$$notSrcFiles" ] ; then \
|
|
490 |
cp -R --parents "$$notSrcFiles" "$(JNLP_TESTS_DIR)/$$dir/" ; \
|
|
491 |
fi ; \
|
|
492 |
cd "$(JNLP_TESTS_DIR)/$$dir/" ; \
|
|
493 |
$(BOOT_DIR)/bin/jar cf "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" * ; \
|
|
494 |
cd "$$d" ; \
|
|
495 |
cp -R "$(JNLP_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(JNLP_TESTS_SERVER_DEPLOYDIR)/ ; \
|
|
496 |
done ; \
|
|
497 |
done ; \
|
|
498 |
mkdir -p stamps && \
|
|
499 |
touch $@
|
|
500 |
||
501 |
stamps/netx-dist-tests-sign-some-reproducers.stamp: stamps/netx-dist-tests-prepare-reproducers.stamp |
|
502 |
alias=icedteaweb; \ |
|
503 |
keystore=$(abs_top_builddir)/$(KEYSTORE_NAME); \ |
|
504 |
pass=123456789; \ |
|
505 |
$(BOOT_DIR)/bin/keytool -genkey -alias $$alias -keystore $$keystore -keypass $$pass -storepass $$pass -dname "cn=$$alias, ou=$$alias, o=$$alias, c=$$alias" ; \ |
|
506 |
. $(abs_top_srcdir)/NEW_LINE_IFS ; \ |
|
507 |
signedReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-signed.txt `); \ |
|
508 |
IFS="$$IFS_BACKUP" ; \ |
|
509 |
for dir in "$${signedReproducers[@]}" ; do \ |
|
510 |
$(BOOT_DIR)/bin/jarsigner -keystore $$keystore -storepass $$pass -keypass $$pass "$(JNLP_TESTS_SERVER_DEPLOYDIR)/$$dir.jar" $$alias ; \ |
|
511 |
done ; \ |
|
512 |
mkdir -p stamps && \ |
|
513 |
touch $@
|
|
514 |
||
515 |
netx-dist-tests-source-files.txt: |
|
516 |
find $(JNLP_TESTS_ENGINE_SRCDIR) -name '*.java' | sort > $@ |
|
517 |
||
518 |
stamps/netx-dist-tests-compile.stamp: stamps/netx.stamp \ |
|
519 |
stamps/junit-jnlp-dist-dirs netx-dist-tests-source-files.txt |
|
520 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ |
|
521 |
-d $(JNLP_TESTS_ENGINE_DIR) \ |
|
522 |
-classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ |
|
523 |
@netx-dist-tests-source-files.txt && \ |
|
524 |
mkdir -p stamps && \ |
|
525 |
touch $@
|
|
526 |
||
527 |
stamps/netx-dist-tests-compile-testcases.stamp: stamps/netx.stamp stamps/junit-jnlp-dist-dirs \ |
|
528 |
netx-dist-tests-source-files.txt stamps/netx-dist-tests-compile.stamp |
|
529 |
types=(simple signed); \ |
|
530 |
for which in "$${types[@]}" ; do \ |
|
531 |
. $(abs_top_srcdir)/NEW_LINE_IFS ; \ |
|
532 |
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ |
|
533 |
IFS="$$IFS_BACKUP" ; \ |
|
534 |
for dir in "$${simpleReproducers[@]}" ; do \ |
|
535 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ |
|
536 |
-d $(JNLP_TESTS_ENGINE_DIR) \ |
|
537 |
-classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar:$(JNLP_TESTS_ENGINE_DIR) \ |
|
538 |
"$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/"* ; \ |
|
539 |
done ; \ |
|
540 |
done ; \ |
|
541 |
mkdir -p stamps && \ |
|
542 |
touch $@
|
|
543 |
||
544 |
$(REPRODUCERS_CLASS_NAMES): |
|
545 |
cd $(JNLP_TESTS_ENGINE_DIR) ; \ |
|
546 |
class_names= ; \ |
|
547 |
for test in `find -type f` ; do \ |
|
548 |
class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \ |
|
549 |
class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \ |
|
550 |
class_names="$$class_names $$class_name" ; \ |
|
551 |
done ; \ |
|
552 |
echo $$class_names > $(REPRODUCERS_CLASS_NAMES) |
|
553 |
||
554 |
stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \ |
|
555 |
javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ |
|
556 |
stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-sign-some-reproducers.stamp \ |
|
557 |
stamps/netx-dist-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp $(JUNIT_RUNNER_JAR) \ |
|
558 |
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) |
|
559 |
cd $(JNLP_TESTS_ENGINE_DIR) ; \ |
|
560 |
class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ |
|
561 |
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ |
|
562 |
$(BOOT_DIR)/bin/java -Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) -Djavaws.build.bin=$(DESTDIR)$(bindir)/javaws \ |
|
563 |
-Xbootclasspath:$(RUNTIME) CommandLine $$class_names \ |
|
564 |
> stdout.log 2> stderr.log ; \ |
|
565 |
cat stdout.log ; \ |
|
566 |
cat stderr.log >&2 |
|
567 |
if WITH_XSLTPROC
|
|
568 |
$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html |
|
569 |
endif
|
|
570 |
touch $@
|
|
571 |
||
572 |
netx-unit-tests-source-files.txt: |
|
573 |
find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@ |
|
574 |
||
575 |
stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \ |
|
576 |
netx-unit-tests-source-files.txt |
|
577 |
mkdir -p $(NETX_UNIT_TEST_DIR) && \ |
|
578 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ |
|
579 |
-d $(NETX_UNIT_TEST_DIR) \ |
|
580 |
-classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \ |
|
581 |
@netx-unit-tests-source-files.txt && \ |
|
582 |
mkdir -p stamps && \ |
|
583 |
touch $@
|
|
584 |
||
585 |
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME): |
|
586 |
mkdir $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) |
|
587 |
cp $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/*.css $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ |
|
588 |
cp $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/*.js $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ |
|
589 |
||
590 |
$(UNIT_CLASS_NAMES): |
|
591 |
cd $(NETX_UNIT_TEST_DIR) ; \ |
|
592 |
class_names= ; \ |
|
593 |
for test in `find -type f` ; do \ |
|
594 |
class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \ |
|
595 |
class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \ |
|
596 |
class_names="$$class_names $$class_name" ; \ |
|
597 |
done ; \ |
|
598 |
echo $$class_names > $(UNIT_CLASS_NAMES); |
|
599 |
||
600 |
stamps/run-netx-unit-tests.stamp: stamps/netx-unit-tests-compile.stamp $(JUNIT_RUNNER_JAR) \ |
|
601 |
$(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(UNIT_CLASS_NAMES) |
|
602 |
filename=" " ; \ |
|
603 |
cd $(NETX_UNIT_TEST_SRCDIR) ; \ |
|
604 |
for file in `find . -type f \! -iname "*.java"`; do\ |
|
605 |
filename=`echo $$file `; \ |
|
606 |
cp --parents $$filename $(NETX_UNIT_TEST_DIR) ; \ |
|
607 |
done ; \ |
|
608 |
cd $(NETX_UNIT_TEST_DIR) ; \ |
|
609 |
class_names=`cat $(UNIT_CLASS_NAMES)` ; \ |
|
610 |
CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \ |
|
611 |
$(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names \ |
|
612 |
> stdout.log 2> stderr.log ; \ |
|
613 |
cat stdout.log ; \ |
|
614 |
cat stderr.log >&2 |
|
615 |
if WITH_XSLTPROC
|
|
616 |
$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html |
|
617 |
endif
|
|
618 |
touch $@
|
|
619 |
||
620 |
#warning, during this target tests.build/netx/unit/tests-output.xml is backup and rewriten (but not coresponding html file)
|
|
621 |
#xml results run from emma sandbox, however, can be wrong, co the new tests-output.xml is then renamed and orginal one restored
|
|
622 |
#you can add -ix "-*Test*" -ix "-*test*" to ignore all test cases from statistics
|
|
623 |
stamps/run-unit-test-code-coverage.stamp: check $(UNIT_CLASS_NAMES); |
|
624 |
if WITH_EMMA
|
|
625 |
mv $(NETX_UNIT_TEST_DIR)/tests-output.xml $(NETX_UNIT_TEST_DIR)/tests-output.xml_noEmma ; \ |
|
626 |
cd $(NETX_UNIT_TEST_DIR) ; \ |
|
627 |
class_names=`cat $(UNIT_CLASS_NAMES)` ; \ |
|
628 |
$(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \ |
|
629 |
-Dreport.html.out.encoding=UTF-8 \ |
|
630 |
-raw \
|
|
631 |
-sp $(NETX_SRCDIR) \ |
|
632 |
-sp $(NETX_UNIT_TEST_SRCDIR) \ |
|
633 |
-sp $(JUNIT_RUNNER_SRCDIR) \ |
|
634 |
-r html \
|
|
635 |
-r xml \
|
|
636 |
-cp $(NETX_DIR)/lib/classes.jar \ |
|
637 |
-cp $(JUNIT_JAR) \ |
|
638 |
-cp $(JUNIT_RUNNER_JAR) \ |
|
639 |
-cp $(BOOT_DIR)/jre/lib/rt.jar \ |
|
640 |
-cp $(BOOT_DIR)/jre/lib/jsse.jar \ |
|
641 |
-cp $(RHINO_RUNTIME) \ |
|
642 |
-cp . \
|
|
643 |
-ix "-org.junit.*" \ |
|
644 |
-ix "-junit.*" \ |
|
645 |
CommandLine $$class_names ; \ |
|
646 |
mv $(NETX_UNIT_TEST_DIR)/tests-output.xml $(NETX_UNIT_TEST_DIR)/tests-output_withEmma.xml ; \ |
|
647 |
mv $(NETX_UNIT_TEST_DIR)/tests-output.xml_noEmma $(NETX_UNIT_TEST_DIR)/tests-output.xml ; |
|
648 |
else
|
|
649 |
echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ; |
|
650 |
exit 5 |
|
651 |
endif
|
|
652 |
touch $@
|
|
653 |
||
654 |
#warning, during this target tests.build/netx/jnlp_testsengine/tests-output.xml is backup and rewriten (but not coresponding html file)
|
|
655 |
#xml results run from emma sandbox, however, can be wrong, co the new tests-output.xml is then renamed and orginal one restored
|
|
656 |
stamps/run-reproducers-test-code-coverage.stamp: stamps/run-netx-dist-tests.stamp $(REPRODUCERS_CLASS_NAMES) |
|
657 |
if WITH_EMMA
|
|
658 |
cd $(TESTS_DIR) ; \ |
|
659 |
mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml_noEmma ; \ |
|
660 |
echo "backuping javaws and netx.jar in $(DESTDIR)" ; \ |
|
661 |
netx_backup=$(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx_backup.jar ; \ |
|
662 |
javaws_backup=$(DESTDIR)$(bindir)/javaws_backup ; \ |
|
663 |
mv $(DESTDIR)$(bindir)/javaws $$javaws_backup ; \ |
|
664 |
mv $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar $$netx_backup ; \ |
|
665 |
nw_bootclasspath="$(LAUNCHER_BOOTCLASSPATH):$(EMMA_JAR):$$netx_backup" ; \ |
|
666 |
instructed_dir=$(TESTS_DIR)/instr ; \ |
|
667 |
echo "instrumenting netx.jar from $$netx_backup through $$instructed_dir" ; \ |
|
668 |
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma instr -d $$instructed_dir -ip $$netx_backup ; \ |
|
669 |
pushd $$instructed_dir ; \ |
|
670 |
$(BOOT_DIR)/bin/jar -cf $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar * ; \ |
|
671 |
popd ; \ |
|
672 |
rm -rf $$instructed_dir ; \ |
|
673 |
echo "patching javaws" ; \ |
|
674 |
cat $$javaws_backup | sed "s,$(LAUNCHER_BOOTCLASSPATH),$$nw_bootclasspath," > $(DESTDIR)$(bindir)/javaws ; \ |
|
675 |
chmod 777 $(DESTDIR)$(bindir)/javaws ; \ |
|
676 |
testcases_srcs=( ) ; \ |
|
677 |
k=0 ; \ |
|
678 |
types=(simple signed); \ |
|
679 |
for which in "$${types[@]}" ; do \ |
|
680 |
. $(abs_top_srcdir)/NEW_LINE_IFS ; \ |
|
681 |
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ |
|
682 |
IFS="$$IFS_BACKUP" ; \ |
|
683 |
for dir in "$${simpleReproducers[@]}" ; do \ |
|
684 |
testcases_srcs[k]="-sp" ; \ |
|
685 |
k=$$((k+1)) ; \ |
|
686 |
testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ |
|
687 |
k=$$((k+1)) ; \ |
|
688 |
done ; \ |
|
689 |
done ; \ |
|
690 |
cd $(JNLP_TESTS_ENGINE_DIR) ; \ |
|
691 |
class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ |
|
692 |
$(BOOT_DIR)/bin/java \ |
|
693 |
-Dtest.server.dir=$(JNLP_TESTS_SERVER_DEPLOYDIR) \ |
|
694 |
-Djavaws.build.bin=$(DESTDIR)$(bindir)/javaws \ |
|
695 |
-Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \ |
|
696 |
-raw \
|
|
697 |
-cp $(NETX_DIR)/lib/classes.jar \ |
|
698 |
-cp $(JUNIT_JAR) \ |
|
699 |
-cp $(JUNIT_RUNNER_JAR) \ |
|
700 |
-cp $(BOOT_DIR)/jre/lib/rt.jar \ |
|
701 |
-cp $(BOOT_DIR)/jre/lib/jsse.jar \ |
|
702 |
-cp $(RHINO_RUNTIME) \ |
|
703 |
-cp . \
|
|
704 |
-ix "-org.junit.*" \ |
|
705 |
-ix "-junit.*" \ |
|
706 |
CommandLine $$class_names ; \ |
|
707 |
mv $(JNLP_TESTS_ENGINE_DIR)/coverage.ec $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec ; \ |
|
708 |
mv $(JNLP_TESTS_ENGINE_DIR)/coverage.es $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \ |
|
709 |
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma merge \ |
|
710 |
-in $(TESTS_DIR)/coverage.em \ |
|
711 |
-in $(JNLP_TESTS_ENGINE_DIR)/coverageX.ec \ |
|
712 |
-in $(JNLP_TESTS_ENGINE_DIR)/coverageX.es ; \ |
|
713 |
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \ |
|
714 |
-Dreport.html.out.encoding=UTF-8 \ |
|
715 |
-in $(JNLP_TESTS_ENGINE_DIR)/coverage.es \ |
|
716 |
-sp $(NETX_SRCDIR) \ |
|
717 |
-sp $(NETX_UNIT_TEST_SRCDIR) \ |
|
718 |
-sp $(JUNIT_RUNNER_SRCDIR) \ |
|
719 |
-sp $(JNLP_TESTS_ENGINE_SRCDIR) \ |
|
720 |
-r html \
|
|
721 |
-r xml \
|
|
722 |
"$${testcases_srcs[@]}" ; \ |
|
723 |
echo "restoring javaws and netx.jar in $(DESTDIR)" ; \ |
|
724 |
rm -f $(DESTDIR)$(bindir)/javaws $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \ |
|
725 |
rm -f $(DESTDIR)$(bindir)/javaws; \ |
|
726 |
mv $$javaws_backup $(DESTDIR)$(bindir)/javaws; \ |
|
727 |
mv $$netx_backup $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar ; \ |
|
728 |
mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \ |
|
729 |
mv $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml_noEmma $(JNLP_TESTS_ENGINE_DIR)/tests-output.xml ; \ |
|
730 |
rm $(JNLP_TESTS_ENGINE_DIR)/coverage.txt ; |
|
731 |
else
|
|
732 |
echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ; |
|
733 |
exit 5 |
|
734 |
endif
|
|
735 |
touch $@
|
|
736 |
||
737 |
run-test-code-coverage: run-unit-test-code-coverage run-reproducers-test-code-coverage |
|
738 |
if WITH_EMMA
|
|
739 |
cd $(TESTS_DIR) ; \ |
|
740 |
k=0 ; \ |
|
741 |
types=(simple signed); \ |
|
742 |
for which in "$${types[@]}" ; do \ |
|
743 |
. $(abs_top_srcdir)/NEW_LINE_IFS ; \ |
|
744 |
simpleReproducers=(`cat $(abs_top_builddir)/junit-jnlp-dist-$$which.txt `); \ |
|
745 |
IFS="$$IFS_BACKUP" ; \ |
|
746 |
for dir in "$${simpleReproducers[@]}" ; do \ |
|
747 |
testcases_srcs[k]="-sp" ; \ |
|
748 |
k=$$((k+1)) ; \ |
|
749 |
testcases_srcs[k]="$(JNLP_TESTS_SRCDIR)/$$which/$$dir/testcases/" ; \ |
|
750 |
k=$$((k+1)) ; \ |
|
751 |
done ; \ |
|
752 |
done ; \ |
|
753 |
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) emma merge \ |
|
754 |
-in $(NETX_UNIT_TEST_DIR)/coverage.es \ |
|
755 |
-in $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \ |
|
756 |
$(BOOT_DIR)/bin/java -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emma report \ |
|
757 |
-Dreport.html.out.encoding=UTF-8 \ |
|
758 |
-in $(TESTS_DIR)/coverage.es \ |
|
759 |
-in $(TESTS_DIR)/coverage.em \ |
|
760 |
-sp $(NETX_SRCDIR) \ |
|
761 |
-sp $(NETX_UNIT_TEST_SRCDIR) \ |
|
762 |
-sp $(JUNIT_RUNNER_SRCDIR) \ |
|
763 |
-sp $(JNLP_TESTS_ENGINE_SRCDIR) \ |
|
764 |
"$${testcases_srcs[@]}" \ |
|
765 |
-r html \
|
|
766 |
-r xml ;
|
|
767 |
else
|
|
768 |
echo "Sorry, coverage report cant be run without emma installed. Try install emma or specify with-emma value" ; |
|
769 |
exit 5 |
|
770 |
endif
|
|
771 |
||
772 |
clean-netx-tests: clean-netx-unit-tests clean-junit-runner clean-netx-dist-tests clean-test-code-coverage |
|
773 |
if [ -e $(TESTS_DIR)/netx ]; then \
|
|
774 |
rmdir $(TESTS_DIR)/netx ; \
|
|
775 |
fi
|
|
776 |
||
777 |
clean-junit-runner: |
|
778 |
rm -f junit-runner-source-files.txt |
|
779 |
rm -rf $(JUNIT_RUNNER_DIR) |
|
780 |
rm -f $(JUNIT_RUNNER_JAR) |
|
781 |
||
782 |
clean-netx-unit-tests: clean_tests_reports |
|
783 |
rm -f netx-unit-tests-source-files.txt |
|
784 |
rm -rf $(NETX_UNIT_TEST_DIR) |
|
785 |
rm -f $(UNIT_CLASS_NAMES) |
|
786 |
rm -f stamps/run-netx-unit-tests.stamp |
|
787 |
rm -f stamps/netx-unit-tests-compile.stamp |
|
788 |
||
789 |
clean_tests_reports: |
|
790 |
rm -rf $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)/ |
|
791 |
rm -f $(TESTS_DIR)/index*.html |
|
792 |
||
793 |
clean-netx-dist-tests: clean_tests_reports |
|
794 |
rm -f netx-dist-tests-source-files.txt |
|
795 |
rm -rf $(JNLP_TESTS_DIR) |
|
796 |
rm -rf $(JNLP_TESTS_SERVER_DEPLOYDIR) |
|
797 |
rm -rf $(JNLP_TESTS_ENGINE_DIR) |
|
798 |
rm -f stamps/junit-jnlp-dist-dirs |
|
799 |
rm -f stamps/netx-dist-tests-compile.stamp |
|
800 |
rm -f stamps/netx-dist-tests-prepare-reproducers.stamp |
|
801 |
rm -f stamps/netx-dist-tests-compile-testcases.stamp |
|
802 |
rm -f stamps/netx-dist-tests-sign-some-reproducers.stamp |
|
803 |
rm -f junit-jnlp-dist-simple.txt |
|
804 |
rm -f junit-jnlp-dist-signed.txt |
|
805 |
rm -f $(REPRODUCERS_CLASS_NAMES) |
|
806 |
rm -f $(abs_top_builddir)/$(KEYSTORE_NAME) |
|
807 |
rm -f stamps/run-netx-dist-tests.stamp |
|
808 |
||
809 |
clean-unit-test-code-coverage: |
|
810 |
if [ -e stamps/run-unit-test-code-coverage.stamp ]; then \
|
|
811 |
rm -rf $(NETX_UNIT_TEST_DIR)/coverage ; \
|
|
812 |
rm -f $(NETX_UNIT_TEST_DIR)/coverage.xml ; \
|
|
813 |
rm -f $(NETX_UNIT_TEST_DIR)/coverageX.es ; \
|
|
814 |
rm -f $(NETX_UNIT_TEST_DIR)/coverageX.ec ; \
|
|
815 |
rm -f $(NETX_UNIT_TEST_DIR)/coverage.es ; \
|
|
816 |
rm -f $(NETX_UNIT_TEST_DIR)/tests-output_withEmma.xml ; \
|
|
817 |
rm -f stamps/run-unit-test-code-coverage.stamp ; \
|
|
818 |
fi
|
|
819 |
||
820 |
clean-reproducers-test-code-coverage: |
|
821 |
if [ -e stamps/run-reproducers-test-code-coverage.stamp ]; then \
|
|
822 |
rm -rf $(JNLP_TESTS_ENGINE_DIR)/coverage ; \
|
|
823 |
rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.xml ; \
|
|
824 |
rm -f $(JNLP_TESTS_ENGINE_DIR)/coverage.es ; \
|
|
825 |
rm -f $(JNLP_TESTS_ENGINE_DIR)/tests-output_withEmma.xml ; \
|
|
826 |
rm -f stamps/run-reproducers-test-code-coverage.stamp ; \
|
|
827 |
fi
|
|
828 |
||
829 |
clean-test-code-coverage: clean-unit-test-code-coverage clean-reproducers-test-code-coverage |
|
830 |
if [ -e $(TESTS_DIR)/coverage.xml ]; then \
|
|
831 |
rm -rf $(TESTS_DIR)/coverage ; \
|
|
832 |
rm -f $(TESTS_DIR)/coverage.xml ; \
|
|
833 |
rm -f $(TESTS_DIR)/coverage.es ; \
|
|
834 |
rm -f $(TESTS_DIR)/coverage.em ; \
|
|
835 |
fi
|
|
836 |
||
837 |
||
838 |
# plugin tests
|
|
839 |
||
840 |
if ENABLE_PLUGIN
|
|
841 |
stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp |
|
842 |
mkdir -p plugin/tests/LiveConnect |
|
843 |
$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ |
|
844 |
-d plugin/tests/LiveConnect \
|
|
845 |
-classpath liveconnect/lib/classes.jar \
|
|
846 |
$(PLUGIN_TEST_SRCS) ; |
|
847 |
$(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ |
|
848 |
plugin/tests/LiveConnect/*.class ;
|
|
849 |
cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ |
|
850 |
plugin/tests/LiveConnect ;
|
|
851 |
echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; |
|
852 |
mkdir -p stamps |
|
853 |
touch stamps/plugin-tests.stamp |
|
854 |
endif
|
|
855 |
||
856 |
# Bootstrap Directory Targets
|
|
857 |
# ===========================
|
|
858 |
||
859 |
stamps/native-ecj.stamp: |
|
860 |
mkdir -p stamps ; \ |
|
861 |
if test "x$(GCJ)" != "xno"; then \
|
|
862 |
$(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
|
|
863 |
--main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \
|
|
864 |
fi ; \
|
|
865 |
touch stamps/native-ecj.stamp
|
|
866 |
||
867 |
clean-native-ecj: |
|
868 |
rm -f native-ecj |
|
869 |
rm -rf stamps/native-ecj.stamp |
|
870 |
||
871 |
# bootstrap
|
|
872 |
stamps/bootstrap-directory.stamp: stamps/native-ecj.stamp |
|
873 |
mkdir -p $(BOOT_DIR)/bin stamps/ |
|
874 |
ln -sf $(JAVA) $(BOOT_DIR)/bin/java |
|
875 |
ln -sf $(JAR) $(BOOT_DIR)/bin/jar |
|
876 |
ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac |
|
877 |
ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc |
|
878 |
if [ -e "$(KEYTOOL)" ] ; then \
|
|
879 |
ln -sf $(KEYTOOL) $(BOOT_DIR)/bin/keytool ;\
|
|
880 |
else \
|
|
881 |
echo "#! /bin/sh" > $(BOOT_DIR)/bin/keytool ;\
|
|
882 |
echo "echo \"keytool not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/keytool ;\
|
|
883 |
chmod 777 $(BOOT_DIR)/bin/keytool ;\
|
|
884 |
fi
|
|
885 |
if [ -e "$(JARSIGNER)" ] ; then \
|
|
886 |
ln -sf $(JARSIGNER) $(BOOT_DIR)/bin/jarsigner ;\
|
|
887 |
else \
|
|
888 |
echo "#! /bin/sh" > $(BOOT_DIR)/bin/jarsigner ;\
|
|
889 |
echo "echo \"jarsigner not exist on your system, signed part of reproducers test will fail\"" >> $(BOOT_DIR)/bin/jarsigner ;\
|
|
890 |
chmod 777 $(BOOT_DIR)/bin/jarsigner ;\
|
|
891 |
fi
|
|
892 |
mkdir -p $(BOOT_DIR)/jre/lib && \ |
|
893 |
ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \ |
|
894 |
if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \
|
|
895 |
ln -s $(SYSTEM_JRE_DIR)/lib/jsse.jar $(BOOT_DIR)/jre/lib ; \
|
|
896 |
else \
|
|
897 |
ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \
|
|
898 |
fi
|
|
899 |
ln -sf $(SYSTEM_JRE_DIR)/lib/$(JRE_ARCH_DIR) \ |
|
900 |
$(BOOT_DIR)/jre/lib/ && \ |
|
901 |
if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
|
|
902 |
then \
|
|
903 |
ln -sf ./$(JRE_ARCH_DIR) \
|
|
904 |
$(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
|
|
905 |
fi;
|
|
906 |
mkdir -p $(BOOT_DIR)/include && \ |
|
907 |
for i in $(SYSTEM_JDK_DIR)/include/*; do \ |
|
908 |
test -r $$i | continue; \ |
|
909 |
i=`basename $$i`; \ |
|
910 |
rm -f $(BOOT_DIR)/include/$$i; \ |
|
911 |
ln -s $(SYSTEM_JDK_DIR)/include/$$i $(BOOT_DIR)/include/$$i; \ |
|
912 |
done
|
|
913 |
mkdir -p stamps |
|
914 |
touch stamps/bootstrap-directory.stamp |
|
915 |
||
916 |
clean-bootstrap-directory: |
|
917 |
rm -rf $(BOOT_DIR) |
|
918 |
if [ -e ${abs_top_builddir}/bootstrap ] ; then \
|
|
919 |
rmdir ${abs_top_builddir}/bootstrap ; \
|
|
920 |
fi
|
|
921 |
rm -f stamps/bootstrap-directory.stamp |
|
922 |
||
923 |
# Target Aliases
|
|
924 |
# ===============
|
|
925 |
||
926 |
add-netx: stamps/add-netx.stamp |
|
927 |
||
928 |
add-netx-debug: stamps/add-netx-debug.stamp |
|
929 |
||
930 |
netx: stamps/netx.stamp |
|
931 |
||
932 |
netx-dist: stamps/netx-dist.stamp |
|
933 |
||
934 |
plugin: stamps/plugin.stamp |
|
935 |
||
936 |
plugin-tests: stamps/plugin-tests.stamp |
|
937 |
||
938 |
run-netx-unit-tests: stamps/run-netx-unit-tests.stamp |
|
939 |
||
940 |
run-netx-dist-tests: stamps/run-netx-dist-tests.stamp |
|
941 |
||
942 |
run-unit-test-code-coverage: stamps/run-unit-test-code-coverage.stamp |
|
943 |
||
944 |
run-reproducers-test-code-coverage: stamps/run-reproducers-test-code-coverage.stamp |