| 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 | TESTS_SRCDIR=$(abs_top_srcdir)/tests
|
|---|
| 10 | TESTS_DIR=$(abs_top_builddir)/tests.build
|
|---|
| 11 |
|
|---|
| 12 | NETX_UNIT_TEST_SRCDIR=$(TESTS_SRCDIR)/netx/unit
|
|---|
| 13 | NETX_UNIT_TEST_DIR=$(TESTS_DIR)/netx/unit
|
|---|
| 14 |
|
|---|
| 15 | JUNIT_RUNNER_DIR=$(TESTS_DIR)/junit-runner
|
|---|
| 16 | JUNIT_RUNNER_SRCDIR=$(TESTS_SRCDIR)/junit-runner
|
|---|
| 17 |
|
|---|
| 18 | JUNIT_RUNNER_JAR=$(abs_top_builddir)/junit-runner.jar
|
|---|
| 19 |
|
|---|
| 20 | # Build directories
|
|---|
| 21 |
|
|---|
| 22 | BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0
|
|---|
| 23 |
|
|---|
| 24 | if WITH_RHINO
|
|---|
| 25 | RHINO_RUNTIME=:$(RHINO_JAR)
|
|---|
| 26 | else
|
|---|
| 27 | RHINO_RUNTIME=
|
|---|
| 28 | endif
|
|---|
| 29 |
|
|---|
| 30 | RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar$(RHINO_RUNTIME)
|
|---|
| 31 |
|
|---|
| 32 | # Flags
|
|---|
| 33 | IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
|
|---|
| 34 | IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE)
|
|---|
| 35 | IT_LANGUAGE_SOURCE_VERSION=6
|
|---|
| 36 | IT_CLASS_TARGET_VERSION=6
|
|---|
| 37 | IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION)
|
|---|
| 38 |
|
|---|
| 39 | #
|
|---|
| 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
|
|---|
| 45 | #
|
|---|
| 46 | LAUNCHER_BOOTCLASSPATH="-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar$(RHINO_RUNTIME)"
|
|---|
| 47 | PLUGIN_BOOTCLASSPATH='"-Xbootclasspath/a:$(datadir)/$(PACKAGE_NAME)/netx.jar:$(datadir)/$(PACKAGE_NAME)/plugin.jar$(RHINO_RUNTIME)"'
|
|---|
| 48 |
|
|---|
| 49 | # Fake update version to work with the Deployment Toolkit script used by Oracle
|
|---|
| 50 | # http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html
|
|---|
| 51 | JDK_UPDATE_VERSION=50
|
|---|
| 52 |
|
|---|
| 53 | # Sources list
|
|---|
| 54 |
|
|---|
| 55 | PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java
|
|---|
| 56 |
|
|---|
| 57 | NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
|
|---|
| 58 | net.sourceforge.jnlp.cache net.sourceforge.jnlp.config \
|
|---|
| 59 | net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
|
|---|
| 60 | net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
|
|---|
| 61 | net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \
|
|---|
| 62 | net.sourceforge.jnlp.tools net.sourceforge.jnlp.util
|
|---|
| 63 |
|
|---|
| 64 | # Conditional defintions
|
|---|
| 65 | if ENABLE_PLUGIN
|
|---|
| 66 | ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin
|
|---|
| 67 | LIVECONNECT_DIR = netscape sun/applet
|
|---|
| 68 | PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp
|
|---|
| 69 | PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp
|
|---|
| 70 | LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java
|
|---|
| 71 | ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/IcedTeaPlugin.so stamps/liveconnect-dist.stamp
|
|---|
| 72 | PLUGIN_PKGS = sun.applet netscape.security netscape.javascript
|
|---|
| 73 | endif
|
|---|
| 74 |
|
|---|
| 75 | if CP_SUPPORTS_REFLINK
|
|---|
| 76 | REFLINK = --reflink=auto
|
|---|
| 77 | endif
|
|---|
| 78 |
|
|---|
| 79 | if SRC_DIR_HARDLINKABLE
|
|---|
| 80 | SRC_DIR_LINK = -l
|
|---|
| 81 | else
|
|---|
| 82 | SRC_DIR_LINK = $(REFLINK)
|
|---|
| 83 | endif
|
|---|
| 84 |
|
|---|
| 85 | if ENABLE_DOCS
|
|---|
| 86 | JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \
|
|---|
| 87 | -bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>'
|
|---|
| 88 | if JAVADOC_SUPPORTS_J_OPTIONS
|
|---|
| 89 | JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m
|
|---|
| 90 | endif
|
|---|
| 91 | endif
|
|---|
| 92 |
|
|---|
| 93 | if WITH_RHINO
|
|---|
| 94 | RHINO_TESTS=check-pac-functions
|
|---|
| 95 | else
|
|---|
| 96 | RHINO_TESTS=
|
|---|
| 97 | endif
|
|---|
| 98 |
|
|---|
| 99 | if WITH_JUNIT
|
|---|
| 100 | JUNIT_TESTS=run-netx-unit-tests
|
|---|
| 101 | else
|
|---|
| 102 | JUNIT_TESTS=
|
|---|
| 103 | endif
|
|---|
| 104 |
|
|---|
| 105 |
|
|---|
| 106 | PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION)
|
|---|
| 107 |
|
|---|
| 108 | EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \
|
|---|
| 109 | itweb-settings.desktop.in $(top_srcdir)/tests
|
|---|
| 110 |
|
|---|
| 111 | # binary names
|
|---|
| 112 | javaws:= $(shell echo javaws | sed '@program_transform_name@')
|
|---|
| 113 | itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@')
|
|---|
| 114 |
|
|---|
| 115 | # the launcher needs to know $(bindir) and $(datadir) which can be different at
|
|---|
| 116 | # make-time from configure-time
|
|---|
| 117 | edit_launcher_script = sed \
|
|---|
| 118 | -e 's|[@]LAUNCHER_BOOTCLASSPATH[@]|$(LAUNCHER_BOOTCLASSPATH)|g' \
|
|---|
| 119 | -e 's|[@]JAVAWS_BIN_LOCATION[@]|$(bindir)/$(javaws)|g' \
|
|---|
| 120 | -e 's|[@]ITWEB_SETTINGS_BIN_LOCATION[@]|$(bindir)/$(itweb_settings)|g' \
|
|---|
| 121 | -e 's|[@]JAVA[@]|$(JAVA)|g' \
|
|---|
| 122 | -e 's|[@]JRE[@]|$(SYSTEM_JRE_DIR)|g'
|
|---|
| 123 |
|
|---|
| 124 | # Top-Level Targets
|
|---|
| 125 | # =================
|
|---|
| 126 |
|
|---|
| 127 | all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
|
|---|
| 128 | javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop
|
|---|
| 129 |
|
|---|
| 130 | check-local: $(RHINO_TESTS) $(JUNIT_TESTS)
|
|---|
| 131 |
|
|---|
| 132 | clean-local: clean-netx clean-plugin clean-liveconnect clean-extra clean-bootstrap-directory \
|
|---|
| 133 | clean-native-ecj clean-launchers clean-desktop-files clean-docs clean-tests
|
|---|
| 134 | if [ -e stamps ] ; then \
|
|---|
| 135 | rmdir stamps ; \
|
|---|
| 136 | fi
|
|---|
| 137 |
|
|---|
| 138 | .PHONY: clean-IcedTeaPlugin clean-add-netx clean-add-netx-debug clean-add-plugin clean-add-plugin-debug \
|
|---|
| 139 | clean-bootstrap-directory clean-native-ecj clean-desktop-files clean-netx-docs clean-docs clean-plugin-docs \
|
|---|
| 140 | clean-tests check-local clean-launchers check-pac-functions run-netx-unit-tests clean-netx-tests \
|
|---|
| 141 | clean-junit-runner clean-netx-unit-tests
|
|---|
| 142 |
|
|---|
| 143 | install-exec-local:
|
|---|
| 144 | ${mkinstalldirs} $(DESTDIR)$(bindir) $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/ $(DESTDIR)$(libdir)
|
|---|
| 145 | if ENABLE_PLUGIN
|
|---|
| 146 | ${INSTALL_PROGRAM} $(PLUGIN_DIR)/IcedTeaPlugin.so $(DESTDIR)$(libdir)
|
|---|
| 147 | ${INSTALL_DATA} $(abs_top_builddir)/liveconnect/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
|
|---|
| 148 | endif
|
|---|
| 149 | ${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
|
|---|
| 150 | ${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir)
|
|---|
| 151 | ${INSTALL_DATA} extra-lib/about.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
|
|---|
| 152 | ${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir)
|
|---|
| 153 |
|
|---|
| 154 | install-data-local:
|
|---|
| 155 | ${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1
|
|---|
| 156 | ${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(mandir)/man1
|
|---|
| 157 | ${INSTALL_DATA} $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)
|
|---|
| 158 | if ENABLE_DOCS
|
|---|
| 159 | ${mkinstalldirs} $(DESTDIR)$(htmldir)
|
|---|
| 160 | (cd ${abs_top_builddir}/docs/netx; \
|
|---|
| 161 | for files in $$(find . -type f); \
|
|---|
| 162 | do \
|
|---|
| 163 | ${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/netx/$${files}; \
|
|---|
| 164 | done)
|
|---|
| 165 | if ENABLE_PLUGIN
|
|---|
| 166 | (cd ${abs_top_builddir}/docs/plugin; \
|
|---|
| 167 | for files in $$(find . -type f); \
|
|---|
| 168 | do \
|
|---|
| 169 | ${INSTALL_DATA} -D $${files} $(DESTDIR)$(htmldir)/plugin/$${files}; \
|
|---|
| 170 | done)
|
|---|
| 171 | endif
|
|---|
| 172 | endif
|
|---|
| 173 |
|
|---|
| 174 | uninstall-local:
|
|---|
| 175 | rm -f $(DESTDIR)$(libdir)/IcedTeaPlugin.so
|
|---|
| 176 | rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
|
|---|
| 177 | rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
|
|---|
| 178 | rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jnlp
|
|---|
| 179 | rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
|
|---|
| 180 | rm -f $(DESTDIR)$(mandir)/man1/javaws.1
|
|---|
| 181 | rm -f $(DESTDIR)$(bindir)/$(javaws)
|
|---|
| 182 | rm -f $(DESTDIR)$(bindir)/$(itweb_settings)
|
|---|
| 183 | rm -rf $(DESTDIR)$(htmldir)
|
|---|
| 184 |
|
|---|
| 185 | # Plugin
|
|---|
| 186 |
|
|---|
| 187 | if ENABLE_PLUGIN
|
|---|
| 188 | # IcedTeaPlugin.so.
|
|---|
| 189 | # Separate compile and link invocations to ensure intermediate object
|
|---|
| 190 | # is listed before -l options. See:
|
|---|
| 191 | # http://developer.mozilla.org/en/docs/XPCOM_Glue
|
|---|
| 192 |
|
|---|
| 193 | PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \
|
|---|
| 194 | IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \
|
|---|
| 195 | IcedTeaPluginUtils.cc
|
|---|
| 196 |
|
|---|
| 197 | PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTeaScriptablePluginObject.o \
|
|---|
| 198 | IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \
|
|---|
| 199 | IcedTeaPluginUtils.o
|
|---|
| 200 |
|
|---|
| 201 | $(PLUGIN_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc
|
|---|
| 202 | mkdir -p $(PLUGIN_DIR) && \
|
|---|
| 203 | cd $(PLUGIN_DIR) && \
|
|---|
| 204 | $(CXX) $(CXXFLAGS) \
|
|---|
| 205 | -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \
|
|---|
| 206 | -DPLUGIN_NAME="\"IcedTea-Web Plugin\"" \
|
|---|
| 207 | -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \
|
|---|
| 208 | -DPACKAGE_URL="\"$(PACKAGE_URL)\"" \
|
|---|
| 209 | -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \
|
|---|
| 210 | -DICEDTEA_WEB_JRE="\"$(SYSTEM_JRE_DIR)\"" \
|
|---|
| 211 | -DPLUGIN_BOOTCLASSPATH=$(PLUGIN_BOOTCLASSPATH) \
|
|---|
| 212 | $(GLIB_CFLAGS) \
|
|---|
| 213 | $(GTK_CFLAGS) \
|
|---|
| 214 | $(MOZILLA_CFLAGS) \
|
|---|
| 215 | -fPIC -o $@ -c $<
|
|---|
| 216 |
|
|---|
| 217 | $(PLUGIN_DIR)/IcedTeaPlugin.so: $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS))
|
|---|
| 218 | cd $(PLUGIN_DIR) && \
|
|---|
| 219 | $(CXX) $(CXXFLAGS) \
|
|---|
| 220 | $(PLUGIN_OBJECTS) \
|
|---|
| 221 | $(GLIB_LIBS) \
|
|---|
| 222 | $(GTK_LIBS) \
|
|---|
| 223 | $(MOZILLA_LIBS)\
|
|---|
| 224 | -shared -o $@
|
|---|
| 225 |
|
|---|
| 226 | clean-IcedTeaPlugin:
|
|---|
| 227 | rm -f $(PLUGIN_DIR)/*.o
|
|---|
| 228 | rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so
|
|---|
| 229 | if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \
|
|---|
| 230 | if [ -e $(abs_top_builddir)/plugin/icedteanp ] ; then \
|
|---|
| 231 | rmdir $(abs_top_builddir)/plugin/icedteanp ; \
|
|---|
| 232 | rmdir $(abs_top_builddir)/plugin ; \
|
|---|
| 233 | fi ; \
|
|---|
| 234 | fi
|
|---|
| 235 | endif
|
|---|
| 236 |
|
|---|
| 237 | stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET)
|
|---|
| 238 | mkdir -p stamps
|
|---|
| 239 | touch stamps/plugin.stamp
|
|---|
| 240 |
|
|---|
| 241 | clean-plugin: $(ICEDTEAPLUGIN_CLEAN)
|
|---|
| 242 | rm -f stamps/plugin.stamp
|
|---|
| 243 |
|
|---|
| 244 | liveconnect-source-files.txt:
|
|---|
| 245 | if test "x${LIVECONNECT_DIR}" != x; then \
|
|---|
| 246 | find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \
|
|---|
| 247 | fi
|
|---|
| 248 | touch $@
|
|---|
| 249 |
|
|---|
| 250 | stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp
|
|---|
| 251 | if test "x${LIVECONNECT_DIR}" != x; then \
|
|---|
| 252 | mkdir -p $(abs_top_builddir)/liveconnect && \
|
|---|
| 253 | $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
|
|---|
| 254 | -d $(abs_top_builddir)/liveconnect \
|
|---|
| 255 | -bootclasspath $(NETX_DIR):$(RUNTIME) \
|
|---|
| 256 | -sourcepath $(LIVECONNECT_SRCS) \
|
|---|
| 257 | @liveconnect-source-files.txt ; \
|
|---|
| 258 | fi
|
|---|
| 259 | mkdir -p stamps
|
|---|
| 260 | touch $@
|
|---|
| 261 |
|
|---|
| 262 | stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp
|
|---|
| 263 | if test "x${LIVECONNECT_DIR}" != x; then \
|
|---|
| 264 | (cd $(abs_top_builddir)/liveconnect ; \
|
|---|
| 265 | mkdir -p lib ; \
|
|---|
| 266 | $(BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \
|
|---|
| 267 | cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \
|
|---|
| 268 | find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
|
|---|
| 269 | cd src ; \
|
|---|
| 270 | $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \
|
|---|
| 271 | fi
|
|---|
| 272 | mkdir -p stamps
|
|---|
| 273 | touch $@
|
|---|
| 274 |
|
|---|
| 275 | clean-liveconnect:
|
|---|
| 276 | rm -rf $(abs_top_builddir)/liveconnect
|
|---|
| 277 | rm -f stamps/liveconnect-dist.stamp
|
|---|
| 278 | rm -f liveconnect-source-files.txt
|
|---|
| 279 | rm -f stamps/liveconnect.stamp
|
|---|
| 280 |
|
|---|
| 281 | # NetX
|
|---|
| 282 | # requires availability of OpenJDK source code including
|
|---|
| 283 | # a patch applied to sun.plugin.AppletViewerPanel and generated sources
|
|---|
| 284 |
|
|---|
| 285 | netx-source-files.txt:
|
|---|
| 286 | find $(NETX_SRCDIR) -name '*.java' | sort > $@
|
|---|
| 287 | if !WITH_RHINO
|
|---|
| 288 | sed -i '/RhinoBasedPacEvaluator/ d' $@
|
|---|
| 289 | endif
|
|---|
| 290 |
|
|---|
| 291 | stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp
|
|---|
| 292 | mkdir -p $(NETX_DIR)
|
|---|
| 293 | $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
|
|---|
| 294 | -d $(NETX_DIR) \
|
|---|
| 295 | -sourcepath $(NETX_SRCDIR) \
|
|---|
| 296 | -bootclasspath $(RUNTIME) \
|
|---|
| 297 | @netx-source-files.txt
|
|---|
| 298 | (cd $(NETX_RESOURCE_DIR); \
|
|---|
| 299 | for files in $$(find . -type f); \
|
|---|
| 300 | do \
|
|---|
| 301 | ${INSTALL_DATA} -D $${files} \
|
|---|
| 302 | $(NETX_DIR)/net/sourceforge/jnlp/resources/$${files}; \
|
|---|
| 303 | done)
|
|---|
| 304 | cp -a $(NETX_SRCDIR)/net/sourceforge/jnlp/runtime/pac-funcs.js \
|
|---|
| 305 | $(NETX_DIR)/net/sourceforge/jnlp/runtime
|
|---|
| 306 | cp -a build.properties $(NETX_DIR)/net/sourceforge/jnlp/
|
|---|
| 307 | mkdir -p stamps
|
|---|
| 308 | touch $@
|
|---|
| 309 |
|
|---|
| 310 | stamps/netx-dist.stamp: stamps/netx.stamp $(abs_top_builddir)/netx.manifest
|
|---|
| 311 | (cd $(NETX_DIR) ; \
|
|---|
| 312 | mkdir -p lib ; \
|
|---|
| 313 | $(BOOT_DIR)/bin/jar cfm lib/classes.jar \
|
|---|
| 314 | $(abs_top_builddir)/netx.manifest javax/jnlp net ; \
|
|---|
| 315 | cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \
|
|---|
| 316 | find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
|
|---|
| 317 | cd src ; \
|
|---|
| 318 | $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net )
|
|---|
| 319 | mkdir -p stamps
|
|---|
| 320 | touch $@
|
|---|
| 321 |
|
|---|
| 322 | clean-netx:
|
|---|
| 323 | rm -rf $(NETX_DIR)
|
|---|
| 324 | rm -f stamps/netx-dist.stamp
|
|---|
| 325 | rm -f netx-source-files.txt
|
|---|
| 326 | rm -f stamps/netx.stamp
|
|---|
| 327 |
|
|---|
| 328 | clean-desktop-files:
|
|---|
| 329 | rm -f javaws.desktop
|
|---|
| 330 | rm -f itweb-settings.desktop
|
|---|
| 331 |
|
|---|
| 332 | # extras -- used to create about.jar for javaws.
|
|---|
| 333 | extra-source-files.txt:
|
|---|
| 334 | find $(abs_top_srcdir)/extra -name '*.java' | sort > $@
|
|---|
| 335 |
|
|---|
| 336 | stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp
|
|---|
| 337 | mkdir -p extra-lib
|
|---|
| 338 | $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \
|
|---|
| 339 | -sourcepath $(abs_top_srcdir)/extra -cp netx.build \
|
|---|
| 340 | -bootclasspath $(RUNTIME) @extra-source-files.txt
|
|---|
| 341 | (cd $(NETX_EXTRA_DIR); \
|
|---|
| 342 | for files in $$(find . -type f); \
|
|---|
| 343 | do \
|
|---|
| 344 | ${INSTALL_DATA} -D $${files} \
|
|---|
| 345 | $(NETX_EXTRA_DIST_DIR)/$${files}; \
|
|---|
| 346 | done)
|
|---|
| 347 | mkdir -p stamps
|
|---|
| 348 | touch $@
|
|---|
| 349 |
|
|---|
| 350 | clean-extra:
|
|---|
| 351 | rm -rf extra-lib
|
|---|
| 352 | rm -f stamps/extra-class-files.stamp
|
|---|
| 353 | rm -f extra-source-files.txt
|
|---|
| 354 |
|
|---|
| 355 | extra-lib/about.jar: stamps/extra-class-files.stamp
|
|---|
| 356 | $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ;
|
|---|
| 357 |
|
|---|
| 358 | launcher.build/$(javaws): launcher/javaws.in
|
|---|
| 359 | mkdir -p launcher.build
|
|---|
| 360 | $(edit_launcher_script) < $< > $@
|
|---|
| 361 |
|
|---|
| 362 | launcher.build/$(itweb_settings): launcher/itweb-settings.in
|
|---|
| 363 | mkdir -p launcher.build
|
|---|
| 364 | $(edit_launcher_script) < $< > $@
|
|---|
| 365 |
|
|---|
| 366 | clean-launchers:
|
|---|
| 367 | rm -f launcher.build/$(javaws)
|
|---|
| 368 | rm -f launcher.build/$(itweb_settings)
|
|---|
| 369 | if [ -e launcher.build ] ; then \
|
|---|
| 370 | rmdir launcher.build ; \
|
|---|
| 371 | fi
|
|---|
| 372 |
|
|---|
| 373 | javaws.desktop: javaws.desktop.in
|
|---|
| 374 | sed "s#PATH_TO_JAVAWS#$(bindir)/$(javaws)#" < $(srcdir)/javaws.desktop.in > javaws.desktop
|
|---|
| 375 |
|
|---|
| 376 | itweb-settings.desktop: $(srcdir)/itweb-settings.desktop.in
|
|---|
| 377 | sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \
|
|---|
| 378 | < $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop
|
|---|
| 379 |
|
|---|
| 380 | # documentation
|
|---|
| 381 |
|
|---|
| 382 | stamps/docs.stamp: stamps/netx-docs.stamp stamps/plugin-docs.stamp
|
|---|
| 383 | touch stamps/docs.stamp
|
|---|
| 384 |
|
|---|
| 385 | clean-docs: clean-netx-docs clean-plugin-docs
|
|---|
| 386 | if [ -e ${abs_top_builddir}/docs ] ; then \
|
|---|
| 387 | rmdir ${abs_top_builddir}/docs ; \
|
|---|
| 388 | fi
|
|---|
| 389 | rm -f stamps/docs.stamp
|
|---|
| 390 |
|
|---|
| 391 | stamps/netx-docs.stamp: stamps/bootstrap-directory.stamp
|
|---|
| 392 | if ENABLE_DOCS
|
|---|
| 393 | $(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
|
|---|
| 394 | -d ${abs_top_builddir}/docs/netx -sourcepath $(NETX_SRCDIR) \
|
|---|
| 395 | -doctitle 'IcedTea-Web: NetX API Specification' \
|
|---|
| 396 | -windowtitle 'IcedTea-Web: NetX ' \
|
|---|
| 397 | -header '<strong>IcedTea-Web<br/>NetX</strong>' \
|
|---|
| 398 | $(NETX_PKGS)
|
|---|
| 399 | endif
|
|---|
| 400 | mkdir -p stamps
|
|---|
| 401 | touch stamps/netx-docs.stamp
|
|---|
| 402 |
|
|---|
| 403 | clean-netx-docs:
|
|---|
| 404 | rm -rf ${abs_top_builddir}/docs/netx
|
|---|
| 405 | rm -f stamps/netx-docs.stamp
|
|---|
| 406 |
|
|---|
| 407 | stamps/plugin-docs.stamp: stamps/bootstrap-directory.stamp
|
|---|
| 408 | if ENABLE_DOCS
|
|---|
| 409 | if ENABLE_PLUGIN
|
|---|
| 410 | $(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
|
|---|
| 411 | -d ${abs_top_builddir}/docs/plugin -sourcepath $(NETX_SRCDIR):$(LIVECONNECT_SRCS) \
|
|---|
| 412 | -doctitle 'IcedTea-Web: Plugin API Specification' \
|
|---|
| 413 | -windowtitle 'IcedTea-Web: Plugin ' \
|
|---|
| 414 | -header '<strong>IcedTea-Web<br/>Plugin</strong>' \
|
|---|
| 415 | $(PLUGIN_PKGS)
|
|---|
| 416 | endif
|
|---|
| 417 | endif
|
|---|
| 418 | mkdir -p stamps
|
|---|
| 419 | touch stamps/plugin-docs.stamp
|
|---|
| 420 |
|
|---|
| 421 | clean-plugin-docs:
|
|---|
| 422 | rm -rf ${abs_top_builddir}/docs/plugin
|
|---|
| 423 | rm -f stamps/plugin-docs.stamp
|
|---|
| 424 |
|
|---|
| 425 |
|
|---|
| 426 | # check
|
|---|
| 427 | # ==========================
|
|---|
| 428 |
|
|---|
| 429 | clean-tests: clean-netx-tests
|
|---|
| 430 | if [ -e $(TESTS_DIR) ]; then \
|
|---|
| 431 | rmdir $(TESTS_DIR) ; \
|
|---|
| 432 | fi
|
|---|
| 433 |
|
|---|
| 434 | check-pac-functions: stamps/bootstrap-directory.stamp
|
|---|
| 435 | ./jrunscript $(abs_top_srcdir)/tests/netx/pac/pac-funcs-test.js \
|
|---|
| 436 | $$(readlink -f $(abs_top_srcdir)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js)
|
|---|
| 437 |
|
|---|
| 438 | junit-runner-source-files.txt:
|
|---|
| 439 | find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@
|
|---|
| 440 |
|
|---|
| 441 | $(JUNIT_RUNNER_JAR): junit-runner-source-files.txt
|
|---|
| 442 | mkdir -p $(JUNIT_RUNNER_DIR) && \
|
|---|
| 443 | $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
|
|---|
| 444 | -d $(JUNIT_RUNNER_DIR) \
|
|---|
| 445 | -classpath $(JUNIT_JAR) \
|
|---|
| 446 | @junit-runner-source-files.txt && \
|
|---|
| 447 | $(BOOT_DIR)/bin/jar cf $@ -C $(JUNIT_RUNNER_DIR) .
|
|---|
| 448 |
|
|---|
| 449 | netx-unit-tests-source-files.txt:
|
|---|
| 450 | find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@
|
|---|
| 451 |
|
|---|
| 452 | stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \
|
|---|
| 453 | netx-unit-tests-source-files.txt
|
|---|
| 454 | mkdir -p $(NETX_UNIT_TEST_DIR) && \
|
|---|
| 455 | $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
|
|---|
| 456 | -d $(NETX_UNIT_TEST_DIR) \
|
|---|
| 457 | -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \
|
|---|
| 458 | @netx-unit-tests-source-files.txt && \
|
|---|
| 459 | mkdir -p stamps && \
|
|---|
| 460 | touch $@
|
|---|
| 461 |
|
|---|
| 462 | run-netx-unit-tests: stamps/netx-unit-tests-compile.stamp \
|
|---|
| 463 | $(JUNIT_RUNNER_JAR)
|
|---|
| 464 | cp {$(NETX_UNIT_TEST_SRCDIR),$(NETX_UNIT_TEST_DIR)}/net/sourceforge/jnlp/basic.jnlp
|
|---|
| 465 | cd $(NETX_UNIT_TEST_DIR) ; \
|
|---|
| 466 | class_names= ; \
|
|---|
| 467 | for test in `find -type f` ; do \
|
|---|
| 468 | class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \
|
|---|
| 469 | class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
|
|---|
| 470 | class_names="$$class_names $$class_name" ; \
|
|---|
| 471 | done ; \
|
|---|
| 472 | echo $$class_names ; \
|
|---|
| 473 | CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
|
|---|
| 474 | $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names
|
|---|
| 475 |
|
|---|
| 476 | clean-netx-tests: clean-netx-unit-tests clean-junit-runner
|
|---|
| 477 | if [ -e $(TESTS_DIR)/netx ]; then \
|
|---|
| 478 | rmdir $(TESTS_DIR)/netx ; \
|
|---|
| 479 | fi
|
|---|
| 480 |
|
|---|
| 481 | clean-junit-runner:
|
|---|
| 482 | rm -f junit-runner-source-files.txt
|
|---|
| 483 | rm -rf $(JUNIT_RUNNER_DIR)
|
|---|
| 484 | rm -f $(JUNIT_RUNNER_JAR)
|
|---|
| 485 |
|
|---|
| 486 | clean-netx-unit-tests:
|
|---|
| 487 | rm -f netx-unit-tests-source-files.txt
|
|---|
| 488 | rm -rf $(NETX_UNIT_TEST_DIR)
|
|---|
| 489 | rm -f stamps/netx-unit-tests-compile.stamp
|
|---|
| 490 |
|
|---|
| 491 | # plugin tests
|
|---|
| 492 |
|
|---|
| 493 | if ENABLE_PLUGIN
|
|---|
| 494 | stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp
|
|---|
| 495 | mkdir -p plugin/tests/LiveConnect
|
|---|
| 496 | $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
|
|---|
| 497 | -d plugin/tests/LiveConnect \
|
|---|
| 498 | -classpath liveconnect/lib/classes.jar \
|
|---|
| 499 | $(PLUGIN_TEST_SRCS) ;
|
|---|
| 500 | $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \
|
|---|
| 501 | plugin/tests/LiveConnect/*.class ;
|
|---|
| 502 | cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \
|
|---|
| 503 | plugin/tests/LiveConnect ;
|
|---|
| 504 | echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ;
|
|---|
| 505 | mkdir -p stamps
|
|---|
| 506 | touch stamps/plugin-tests.stamp
|
|---|
| 507 | endif
|
|---|
| 508 |
|
|---|
| 509 | # Bootstrap Directory Targets
|
|---|
| 510 | # ===========================
|
|---|
| 511 |
|
|---|
| 512 | stamps/native-ecj.stamp:
|
|---|
| 513 | mkdir -p stamps ; \
|
|---|
| 514 | if test "x$(GCJ)" != "xno"; then \
|
|---|
| 515 | $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
|
|---|
| 516 | --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \
|
|---|
| 517 | fi ; \
|
|---|
| 518 | touch stamps/native-ecj.stamp
|
|---|
| 519 |
|
|---|
| 520 | clean-native-ecj:
|
|---|
| 521 | rm -f native-ecj
|
|---|
| 522 | rm -rf stamps/native-ecj.stamp
|
|---|
| 523 |
|
|---|
| 524 | # bootstrap
|
|---|
| 525 | stamps/bootstrap-directory.stamp: stamps/native-ecj.stamp
|
|---|
| 526 | mkdir -p $(BOOT_DIR)/bin stamps/
|
|---|
| 527 | ln -sf $(JAVA) $(BOOT_DIR)/bin/java
|
|---|
| 528 | ln -sf $(JAR) $(BOOT_DIR)/bin/jar
|
|---|
| 529 | ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac
|
|---|
| 530 | ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc
|
|---|
| 531 | mkdir -p $(BOOT_DIR)/jre/lib && \
|
|---|
| 532 | ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \
|
|---|
| 533 | if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \
|
|---|
| 534 | ln -s $(SYSTEM_JRE_DIR)/lib/jsse.jar $(BOOT_DIR)/jre/lib ; \
|
|---|
| 535 | else \
|
|---|
| 536 | ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \
|
|---|
| 537 | fi
|
|---|
| 538 | ln -sf $(SYSTEM_JRE_DIR)/lib/$(JRE_ARCH_DIR) \
|
|---|
| 539 | $(BOOT_DIR)/jre/lib/ && \
|
|---|
| 540 | if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
|
|---|
| 541 | then \
|
|---|
| 542 | ln -sf ./$(JRE_ARCH_DIR) \
|
|---|
| 543 | $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
|
|---|
| 544 | fi;
|
|---|
| 545 | mkdir -p $(BOOT_DIR)/include && \
|
|---|
| 546 | for i in $(SYSTEM_JDK_DIR)/include/*; do \
|
|---|
| 547 | test -r $$i | continue; \
|
|---|
| 548 | i=`basename $$i`; \
|
|---|
| 549 | rm -f $(BOOT_DIR)/include/$$i; \
|
|---|
| 550 | ln -s $(SYSTEM_JDK_DIR)/include/$$i $(BOOT_DIR)/include/$$i; \
|
|---|
| 551 | done
|
|---|
| 552 | mkdir -p stamps
|
|---|
| 553 | touch stamps/bootstrap-directory.stamp
|
|---|
| 554 |
|
|---|
| 555 | clean-bootstrap-directory:
|
|---|
| 556 | rm -rf $(BOOT_DIR)
|
|---|
| 557 | if [ -e ${abs_top_builddir}/bootstrap ] ; then \
|
|---|
| 558 | rmdir ${abs_top_builddir}/bootstrap ; \
|
|---|
| 559 | fi
|
|---|
| 560 | rm -f stamps/bootstrap-directory.stamp
|
|---|
| 561 |
|
|---|
| 562 | # Target Aliases
|
|---|
| 563 | # ===============
|
|---|
| 564 |
|
|---|
| 565 | add-netx: stamps/add-netx.stamp
|
|---|
| 566 |
|
|---|
| 567 | add-netx-debug: stamps/add-netx-debug.stamp
|
|---|
| 568 |
|
|---|
| 569 | netx: stamps/netx.stamp
|
|---|
| 570 |
|
|---|
| 571 | netx-dist: stamps/netx-dist.stamp
|
|---|
| 572 |
|
|---|
| 573 | plugin: stamps/plugin.stamp
|
|---|
| 574 |
|
|---|
| 575 | plugin-tests: stamps/plugin-tests.stamp
|
|---|