diff options
author | andrew <devnull@localhost> | 2010-10-19 17:55:59 +0100 |
---|---|---|
committer | andrew <devnull@localhost> | 2010-10-19 17:55:59 +0100 |
commit | 7603e948d7a0a7eb2e72358cb4a40ae6779f95da (patch) | |
tree | c6441f7d14eafe8119d890cddd09b05b8f88c52a /Makefile.am |
Initial import from IcedTea6.
2010-10-19 Andrew John Hughes <[email protected]>
* .hgignore,
* Makefile.am,
* acinclude.m4,
* autogen.sh,
* configure.ac,
* extra/net/sourceforge/jnlp/about/HTMLPanel.java,
* extra/net/sourceforge/jnlp/about/Main.java,
* extra/net/sourceforge/jnlp/about/resources/about.html,
* extra/net/sourceforge/jnlp/about/resources/applications.html,
* extra/net/sourceforge/jnlp/about/resources/notes.html,
* javac.in,
* javaws.desktop: Imported from IcedTea6.
* launcher/java.c,
* launcher/java.h,
* launcher/java_md.c,
* launcher/java_md.h,
* launcher/jli_util.h,
* launcher/jni.h,
* launcher/jvm.h,
* launcher/jvm_md.h,
* launcher/manifest_info.h,
* launcher/splashscreen.h,
* launcher/splashscreen_stubs.c,
* launcher/version_comp.h,
* launcher/wildcard.h: Imported from OpenJDK.
* netx/javaws.1,
* netx/javax/jnlp/BasicService.java,
* netx/javax/jnlp/ClipboardService.java,
* netx/javax/jnlp/DownloadService.java,
* netx/javax/jnlp/DownloadServiceListener.java,
* netx/javax/jnlp/ExtendedService.java,
* netx/javax/jnlp/ExtensionInstallerService.java,
* netx/javax/jnlp/FileContents.java,
* netx/javax/jnlp/FileOpenService.java,
* netx/javax/jnlp/FileSaveService.java,
* netx/javax/jnlp/JNLPRandomAccessFile.java,
* netx/javax/jnlp/PersistenceService.java,
* netx/javax/jnlp/PrintService.java,
* netx/javax/jnlp/ServiceManager.java,
* netx/javax/jnlp/ServiceManagerStub.java,
* netx/javax/jnlp/SingleInstanceListener.java,
* netx/javax/jnlp/SingleInstanceService.java,
* netx/javax/jnlp/UnavailableServiceException.java,
* netx/net/sourceforge/jnlp/AppletDesc.java,
* netx/net/sourceforge/jnlp/ApplicationDesc.java,
* netx/net/sourceforge/jnlp/AssociationDesc.java,
* netx/net/sourceforge/jnlp/ComponentDesc.java,
* netx/net/sourceforge/jnlp/DefaultLaunchHandler.java,
* netx/net/sourceforge/jnlp/ExtensionDesc.java,
* netx/net/sourceforge/jnlp/IconDesc.java,
* netx/net/sourceforge/jnlp/InformationDesc.java,
* netx/net/sourceforge/jnlp/InstallerDesc.java,
* netx/net/sourceforge/jnlp/JARDesc.java,
* netx/net/sourceforge/jnlp/JNLPFile.java,
* netx/net/sourceforge/jnlp/JNLPSplashScreen.java,
* netx/net/sourceforge/jnlp/JREDesc.java,
* netx/net/sourceforge/jnlp/LaunchException.java,
* netx/net/sourceforge/jnlp/LaunchHandler.java,
* netx/net/sourceforge/jnlp/Launcher.java,
* netx/net/sourceforge/jnlp/MenuDesc.java,
* netx/net/sourceforge/jnlp/NetxPanel.java,
* netx/net/sourceforge/jnlp/Node.java,
* netx/net/sourceforge/jnlp/PackageDesc.java,
* netx/net/sourceforge/jnlp/ParseException.java,
* netx/net/sourceforge/jnlp/Parser.java,
* netx/net/sourceforge/jnlp/PluginBridge.java,
* netx/net/sourceforge/jnlp/PropertyDesc.java,
* netx/net/sourceforge/jnlp/RelatedContentDesc.java,
* netx/net/sourceforge/jnlp/ResourcesDesc.java,
* netx/net/sourceforge/jnlp/SecurityDesc.java,
* netx/net/sourceforge/jnlp/ShortcutDesc.java,
* netx/net/sourceforge/jnlp/StreamEater.java,
* netx/net/sourceforge/jnlp/UpdateDesc.java,
* netx/net/sourceforge/jnlp/Version.java,
* netx/net/sourceforge/jnlp/cache/CacheEntry.java,
* netx/net/sourceforge/jnlp/cache/CacheUtil.java,
* netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java,
* netx/net/sourceforge/jnlp/cache/DownloadIndicator.java,
* netx/net/sourceforge/jnlp/cache/Resource.java,
* netx/net/sourceforge/jnlp/cache/ResourceTracker.java,
* netx/net/sourceforge/jnlp/cache/UpdatePolicy.java,
* netx/net/sourceforge/jnlp/cache/package.html,
* netx/net/sourceforge/jnlp/event/ApplicationEvent.java,
* netx/net/sourceforge/jnlp/event/ApplicationListener.java,
* netx/net/sourceforge/jnlp/event/DownloadEvent.java,
* netx/net/sourceforge/jnlp/event/DownloadListener.java,
* netx/net/sourceforge/jnlp/event/package.html,
* netx/net/sourceforge/jnlp/package.html,
* netx/net/sourceforge/jnlp/resources/Manifest.mf,
* netx/net/sourceforge/jnlp/resources/Messages.properties,
* netx/net/sourceforge/jnlp/resources/about.jnlp,
* netx/net/sourceforge/jnlp/resources/default.jnlp,
* netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java,
* netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java,
* netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java,
* netx/net/sourceforge/jnlp/runtime/AppletInstance.java,
* netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java,
* netx/net/sourceforge/jnlp/runtime/Boot.java,
* netx/net/sourceforge/jnlp/runtime/Boot13.java,
* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java,
* netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java,
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java,
* netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java,
* netx/net/sourceforge/jnlp/runtime/package.html,
* netx/net/sourceforge/jnlp/security/AccessWarningPane.java,
* netx/net/sourceforge/jnlp/security/AppletWarningPane.java,
* netx/net/sourceforge/jnlp/security/CertVerifier.java,
* netx/net/sourceforge/jnlp/security/CertWarningPane.java,
* netx/net/sourceforge/jnlp/security/CertsInfoPane.java,
* netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java,
* netx/net/sourceforge/jnlp/security/MoreInfoPane.java,
* netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java,
* netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java,
* netx/net/sourceforge/jnlp/security/SecurityUtil.java,
* netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java,
* netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java,
* netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java,
* netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java,
* netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java,
* netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java,
* netx/net/sourceforge/jnlp/services/InstanceExistsException.java,
* netx/net/sourceforge/jnlp/services/ServiceUtil.java,
* netx/net/sourceforge/jnlp/services/SingleInstanceLock.java,
* netx/net/sourceforge/jnlp/services/XBasicService.java,
* netx/net/sourceforge/jnlp/services/XClipboardService.java,
* netx/net/sourceforge/jnlp/services/XDownloadService.java,
* netx/net/sourceforge/jnlp/services/XExtendedService.java,
* netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java,
* netx/net/sourceforge/jnlp/services/XFileContents.java,
* netx/net/sourceforge/jnlp/services/XFileOpenService.java,
* netx/net/sourceforge/jnlp/services/XFileSaveService.java,
* netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java,
* netx/net/sourceforge/jnlp/services/XPersistenceService.java,
* netx/net/sourceforge/jnlp/services/XPrintService.java,
* netx/net/sourceforge/jnlp/services/XServiceManagerStub.java,
* netx/net/sourceforge/jnlp/services/XSingleInstanceService.java,
* netx/net/sourceforge/jnlp/services/package.html,
* netx/net/sourceforge/jnlp/tools/CharacterEncoder.java,
* netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java,
* netx/net/sourceforge/jnlp/tools/JarRunner.java,
* netx/net/sourceforge/jnlp/tools/JarSigner.java,
* netx/net/sourceforge/jnlp/tools/JarSignerResources.java,
* netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java,
* netx/net/sourceforge/jnlp/tools/KeyTool.java,
* netx/net/sourceforge/jnlp/util/FileUtils.java,
* netx/net/sourceforge/jnlp/util/PropertiesFile.java,
* netx/net/sourceforge/jnlp/util/Reflect.java,
* netx/net/sourceforge/jnlp/util/WeakList.java,
* netx/net/sourceforge/jnlp/util/XDesktopEntry.java,
* netx/net/sourceforge/nanoxml/XMLElement.java,
* netx/net/sourceforge/nanoxml/XMLParseException.java,
* plugin/icedteanp/IcedTeaJavaRequestProcessor.cc,
* plugin/icedteanp/IcedTeaJavaRequestProcessor.h,
* plugin/icedteanp/IcedTeaNPPlugin.cc,
* plugin/icedteanp/IcedTeaNPPlugin.h,
* plugin/icedteanp/IcedTeaPluginRequestProcessor.cc,
* plugin/icedteanp/IcedTeaPluginRequestProcessor.h,
* plugin/icedteanp/IcedTeaPluginUtils.cc,
* plugin/icedteanp/IcedTeaPluginUtils.h,
* plugin/icedteanp/IcedTeaRunnable.cc,
* plugin/icedteanp/IcedTeaRunnable.h,
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc,
* plugin/icedteanp/IcedTeaScriptablePluginObject.h,
* plugin/icedteanp/java/netscape/javascript/JSException.java,
* plugin/icedteanp/java/netscape/javascript/JSObject.java,
* plugin/icedteanp/java/netscape/javascript/JSObjectCreatePermission.java,
* plugin/icedteanp/java/netscape/javascript/JSProxy.java,
* plugin/icedteanp/java/netscape/javascript/JSRunnable.java,
* plugin/icedteanp/java/netscape/javascript/JSUtil.java,
* plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java,
* plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java,
* plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java,
* plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java,
* plugin/icedteanp/java/sun/applet/JavaConsole.java,
* plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java,
* plugin/icedteanp/java/sun/applet/PasswordAuthenticationDialog.java,
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java,
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java,
* plugin/icedteanp/java/sun/applet/PluginCallRequest.java,
* plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java,
* plugin/icedteanp/java/sun/applet/PluginClassLoader.java,
* plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java,
* plugin/icedteanp/java/sun/applet/PluginCookieManager.java,
* plugin/icedteanp/java/sun/applet/PluginDebug.java,
* plugin/icedteanp/java/sun/applet/PluginException.java,
* plugin/icedteanp/java/sun/applet/PluginMain.java,
* plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java,
* plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java,
* plugin/icedteanp/java/sun/applet/PluginObjectStore.java,
* plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java,
* plugin/icedteanp/java/sun/applet/PluginProxySelector.java,
* plugin/icedteanp/java/sun/applet/PluginStreamHandler.java,
* plugin/icedteanp/java/sun/applet/RequestQueue.java,
* plugin/icedteanp/java/sun/applet/TestEnv.java,
* plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java,
* plugin/tests/LiveConnect/DummyObject.java,
* plugin/tests/LiveConnect/OverloadTestHelper1.java,
* plugin/tests/LiveConnect/OverloadTestHelper2.java,
* plugin/tests/LiveConnect/OverloadTestHelper3.java,
* plugin/tests/LiveConnect/PluginTest.java,
* plugin/tests/LiveConnect/build,
* plugin/tests/LiveConnect/common.js,
* plugin/tests/LiveConnect/index.html,
* plugin/tests/LiveConnect/jjs_eval_test.js,
* plugin/tests/LiveConnect/jjs_func_parameters_tests.js,
* plugin/tests/LiveConnect/jjs_func_rettype_tests.js,
* plugin/tests/LiveConnect/jjs_get_tests.js,
* plugin/tests/LiveConnect/jjs_set_tests.js,
* plugin/tests/LiveConnect/jsj_func_overload_tests.js,
* plugin/tests/LiveConnect/jsj_func_parameters_tests.js,
* plugin/tests/LiveConnect/jsj_func_rettype_tests.js,
* plugin/tests/LiveConnect/jsj_get_tests.js,
* plugin/tests/LiveConnect/jsj_set_tests.js,
* plugin/tests/LiveConnect/jsj_type_casting_tests.js,
* plugin/tests/LiveConnect/jsj_type_conversion_tests.js:
Initial import from IcedTea6.
* AUTHORS,
* COPYING
* INSTALL,
* NEWS,
* README: New documentation.
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 387 |
1 files changed, 387 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..536f2a2 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,387 @@ +# Source directories + +NETX_SRCDIR = $(abs_top_srcdir)/netx +NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources +NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/jnlp/about/resources + +# Build directories + +BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0 + +# PR43578 - java.security.CodeSource.getCodeSigners() missing +# PR43582 - Missing javax.swing.JTable.setFillsViewportHeight +# PR43585 - java.security.KeyStore.TrustedCertificateEntry class missing +NETX_BOOTSTRAP_CLASSES = \ + $(SHARE)/java/security/CodeSource.java \ + $(SHARE)/javax/swing/JTable.java \ + $(SHARE)/java/security/KeyStore.java + +# PR46074 - Missing java.net cookie code required by IcedTea plugin +PLUGIN_BOOTSTRAP_CLASSES = \ + $(SHARE)/java/net/CookieManager.java \ + $(SHARE)/java/net/HttpCookie.java \ + $(SHARE)/java/net/CookieHandler.java + +# IT563 - NetX uses sun.security code +# IT564 - NetX depends on sun.misc.BASE64Encoder +# IT570 - NetX depends on sun.applet.AppletViewPanel +# IT571 - NetX depends on com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager.java +NETX_SUN_CLASSES = \ + $(SHARE)/sun/security/provider/X509Factory.java \ + $(SHARE)/sun/security/util/SecurityConstants.java \ + $(SHARE)/sun/security/util/HostnameChecker.java \ + $(SHARE)/sun/security/util/DerValue.java \ + $(SHARE)/sun/security/x509/X500Name.java \ + $(SHARE)/sun/misc/BASE64Encoder.java \ + $(SHARE)/sun/applet/AppletViewerPanel.java \ + $(SHARE)/sun/security/validator/ValidatorException.java \ + $(SHARE)/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java + +# IT573 - Plugin depends on sun.awt,X11.XEmbeddedFrame.java +# IT574 - Plugin depends on sun.misc.Ref +# IT575 - Plugin depends on com.sun/jndi.toolkit.url.UrlUtil +# IT576 - Plugin depends on sun.applet.AppletImageRef +PLUGIN_SUN_CLASSES = \ + $(SOLARIS)/sun/awt/X11/XEmbeddedFrame.java \ + $(SHARE)/sun/misc/Ref.java \ + $(SHARE)/com/sun/jndi/toolkit/url/UrlUtil.java \ + $(SHARE)/sun/applet/AppletImageRef.java + +RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar:$(BOOT_DIR)/jre/lib/jsse.jar + +# Flags +IT_CFLAGS=$(CFLAGS) $(ARCHFLAG) +IT_JAVAC_SETTINGS=-g -encoding utf-8 $(JAVACFLAGS) $(MEMORY_LIMIT) $(PREFER_SOURCE) +IT_LANGUAGE_SOURCE_VERSION=6 +IT_CLASS_TARGET_VERSION=6 +IT_JAVACFLAGS=$(IT_JAVAC_SETTINGS) -source $(IT_LANGUAGE_SOURCE_VERSION) -target $(IT_CLASS_TARGET_VERSION) + +# Sources list + +PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java + +# Conditional defintions +if ENABLE_PLUGIN +ICEDTEAPLUGIN_CLEAN = clean-IcedTeaPlugin +LIVECONNECT_DIR = netscape sun/applet +PLUGIN_DIR=$(abs_top_builddir)/plugin/icedteanp +PLUGIN_SRCDIR=$(abs_top_srcdir)/plugin/icedteanp +LIVECONNECT_SRCS = $(PLUGIN_SRCDIR)/java +ICEDTEAPLUGIN_TARGET = $(PLUGIN_DIR)/IcedTeaPlugin.so stamps/liveconnect-dist.stamp \ + $(PLUGIN_DIR)/launcher/pluginappletviewer +endif + +if CP_SUPPORTS_REFLINK + REFLINK = --reflink=auto +endif + +if SRC_DIR_HARDLINKABLE + SRC_DIR_LINK = -l +else + SRC_DIR_LINK = $(REFLINK) +endif + +if HAS_ICEDTEA_REVISION +ICEDTEA_REV = +${ICEDTEA_REVISION} +endif +if HAS_PKGVERSION +ICEDTEA_PKG = $(EMPTY) (${PKGVERSION}) +endif + +# Launcher + +LAUNCHER_SRCDIR = $(abs_top_srcdir)/launcher +LAUNCHER_OBJECTS = java.o java_md.o splashscreen_stubs.o +LAUNCHER_FLAGS = -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -pipe -fno-omit-frame-pointer \ + -g -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -DLAUNCHER_NAME='"java"' -I$(LAUNCHER_SRCDIR) \ + -DJDK_MAJOR_VERSION='"1"' -DJDK_MINOR_VERSION='"6"' -DLIBARCHNAME='"$(JRE_ARCH_DIR)"' +LAUNCHER_LINK = -o $@ -Xlinker -O1 -Xlinker -z -Xlinker defs -L$(BOOT_DIR)/lib/$(INSTALL_ARCH_DIR) \ + -Wl,-soname=lib.so -L $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR)/jli -Wl,-z -Wl,origin \ + -Wl,--allow-shlib-undefined -Wl,-rpath -Wl,$$ORIGIN/../lib/$(INSTALL_ARCH_DIR)/jli -Wl,-rpath \ + -Wl,$$ORIGIN/../jre/lib/$(INSTALL_ARCH_DIR)/jli -lpthread $(X11_CFLAGS) $(X11_LIBS) -ljli -ldl -lc -lz +PLUGIN_VERSION = IcedTea $(PACKAGE_VERSION)$(ICEDTEA_REV)$(ICEDTEA_PKG) + +EXTRA_DIST = $(NETX_SRCDIR) $(abs_top_srcdir)/plugin javaws.png javaws.desktop extra launcher + +# Top-Level Targets +# ================= + +all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher/javaws + +clean-local: clean-netx clean-plugin clean-liveconnect clean-extra clean-bootstrap-directory clean-native-ecj + +.PHONY: clean-IcedTeaPlugin clean-add-netx clean-add-netx-debug clean-add-plugin clean-add-plugin-debug \ + clean-bootstrap-directory clean-native-ecj + +install-exec-local: + mkdir -p $(DESTDIR)$(bindir) + mkdir -p $(DESTDIR)$(prefix)/jre/lib/$(INSTALL_ARCH_DIR) +if ENABLE_PLUGIN + cp -pPRf $(PLUGIN_DIR)/IcedTeaPlugin.so $(DESTDIR)$(prefix)/jre/lib/$(INSTALL_ARCH_DIR)/ + cp -pPRf $(PLUGIN_DIR)/launcher/pluginappletviewer $(DESTDIR)$(bindir) + cp -pPRf $(abs_top_builddir)/liveconnect/lib/classes.jar $(DESTDIR)$(prefix)/jre/lib/plugin.jar +endif + cp -pPRf $(abs_top_builddir)/netx.build/lib/classes.jar $(DESTDIR)$(prefix)/jre/lib/netx.jar + cp -pPRf launcher/javaws $(DESTDIR)$(bindir) + cp extra-lib/about.jar $(DESTDIR)$(prefix)/jre/lib + +install-data-local: + mkdir -p $(DESTDIR)$(prefix)/man/man1 + cp $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(prefix)/man/man1 + cp $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(prefix)/jre/lib + +uninstall-local: + rm -f $(DESTDIR)$(prefix)/jre/lib/$(INSTALL_ARCH_DIR)/IcedTeaPlugin.so + rm -f $(DESTDIR)$(prefix)/jre/lib/plugin.jar + rm -f $(DESTDIR)$(prefix)/jre/lib/netx.jar + rm -f $(DESTDIR)$(prefix)/jre/lib/about.jnlp + rm -f $(DESTDIR)$(prefix)/jre/lib/about.jar + rm -f $(DESTDIR)$(prefix)/man/man1/javaws.1 + rm -f $(DESTDIR)$(bindir)/pluginappletviewer + rm -f $(DESTDIR)$(bindir)/javaws + +# Plugin + +if ENABLE_PLUGIN +# IcedTeaPlugin.so. +# Separate compile and link invocations to ensure intermediate object +# is listed before -l options. See: +# http://developer.mozilla.org/en/docs/XPCOM_Glue + +PLUGIN_SRC=IcedTeaNPPlugin.cc IcedTeaScriptablePluginObject.cc \ + IcedTeaJavaRequestProcessor.cc IcedTeaPluginRequestProcessor.cc \ + IcedTeaPluginUtils.cc + +PLUGIN_OBJECTS=IcedTeaNPPlugin.o IcedTeaScriptablePluginObject.o \ + IcedTeaJavaRequestProcessor.o IcedTeaPluginRequestProcessor.o \ + IcedTeaPluginUtils.o + +$(PLUGIN_DIR)/%.o: $(PLUGIN_SRCDIR)/%.cc + mkdir -p $(PLUGIN_DIR) && \ + cd $(PLUGIN_DIR) && \ + $(CXX) $(CXXFLAGS) \ + -DJDK_UPDATE_VERSION="\"$(JDK_UPDATE_VERSION)\"" \ + -DPLUGIN_VERSION="\"$(PLUGIN_VERSION)\"" \ + -DMOZILLA_VERSION_COLLAPSED="$(MOZILLA_VERSION_COLLAPSED)" \ + $(GLIB_CFLAGS) \ + $(GTK_CFLAGS) \ + $(MOZILLA_CFLAGS) \ + -fPIC -o $@ -c $< + +$(PLUGIN_DIR)/IcedTeaPlugin.so: $(addprefix $(PLUGIN_DIR)/,$(PLUGIN_OBJECTS)) + cd $(PLUGIN_DIR) && \ + $(CXX) $(CXXFLAGS) \ + $(PLUGIN_OBJECTS) \ + $(GLIB_LIBS) \ + $(GTK_LIBS) \ + $(MOZILLA_LIBS)\ + -shared -o $@ + +$(PLUGIN_DIR)/launcher/%.o: $(LAUNCHER_SRCDIR)/%.c + mkdir -p $(PLUGIN_DIR)/launcher && \ + $(CC) $(LAUNCHER_FLAGS) -DJAVA_ARGS='{ "sun.applet.PluginMain" }' -DPROGNAME='"pluginappletviewer"' -c -o $@ $< + +$(PLUGIN_DIR)/launcher/pluginappletviewer: $(addprefix $(PLUGIN_DIR)/launcher/,$(LAUNCHER_OBJECTS)) + $(CC) $(LAUNCHER_LINK) $(addprefix $(PLUGIN_DIR)/launcher/,$(LAUNCHER_OBJECTS)) + +clean-IcedTeaPlugin: + rm -f $(PLUGIN_DIR)/*.o + rm -f $(PLUGIN_DIR)/IcedTeaPlugin.so + if [ $(abs_top_srcdir) != $(abs_top_builddir) ]; then \ + if [ -e $(abs_top_builddir)/plugin/icedteanp ] ; then \ + rmdir $(abs_top_builddir)/plugin/icedteanp ; \ + rmdir $(abs_top_builddir)/plugin ; \ + fi ; \ + fi +endif + +stamps/plugin.stamp: $(ICEDTEAPLUGIN_TARGET) + mkdir -p stamps + touch stamps/plugin.stamp + +clean-plugin: $(ICEDTEAPLUGIN_CLEAN) + rm -f stamps/plugin.stamp + +liveconnect-source-files.txt: + if test "x${LIVECONNECT_DIR}" != x; then \ + find $(LIVECONNECT_SRCS) -name '*.java' | sort > $@ ; \ + fi + touch $@ + +stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp + if test "x${LIVECONNECT_DIR}" != x; then \ + mkdir -p $(abs_top_builddir)/liveconnect && \ + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(abs_top_builddir)/liveconnect \ + -classpath $(abs_top_builddir)/netx.build:$(RUNTIME) \ + -sourcepath $(LIVECONNECT_SRCS) \ + @liveconnect-source-files.txt ; \ + fi + mkdir -p stamps + touch $@ + +stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp + if test "x${LIVECONNECT_DIR}" != x; then \ + (cd $(abs_top_builddir)/liveconnect ; \ + mkdir -p lib ; \ + $(BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \ + cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \ + find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ + cd src ; \ + $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \ + fi + mkdir -p stamps + touch $@ + +clean-liveconnect: + rm -rf $(abs_top_builddir)/liveconnect + rm -f stamps/liveconnect-dist.stamp + rm -f liveconnect-source-files.txt + rm -f stamps/liveconnect.stamp + +# NetX +# requires availability of OpenJDK source code including +# a patch applied to sun.plugin.AppletViewerPanel and generated sources + +netx-source-files.txt: + find $(NETX_SRCDIR) -name '*.java' | sort > $@ + +stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp + mkdir -p $(abs_top_builddir)/netx.build + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d $(abs_top_builddir)/netx.build \ + -sourcepath $(NETX_SRCDIR) \ + -bootclasspath $(RUNTIME) \ + @netx-source-files.txt + cp -r $(NETX_RESOURCE_DIR) $(abs_top_builddir)/netx.build/net/sourceforge/jnlp + mkdir -p stamps + touch $@ + +stamps/netx-dist.stamp: stamps/netx.stamp + (cd $(abs_top_builddir)/netx.build ; \ + mkdir -p lib ; \ + $(BOOT_DIR)/bin/jar cf lib/classes.jar javax/jnlp net ; \ + cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \ + find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ + cd src ; \ + $(BOOT_DIR)/bin/jar uf $(abs_top_builddir)/netx.build/lib/classes.jar \ + `find . -type f -not -name '*.java'` ; \ + $(ZIP) -qr $(abs_top_builddir)/netx.build/lib/src.zip javax net ) + mkdir -p stamps + touch $@ + +clean-netx: + rm -rf $(abs_top_builddir)/netx.build + rm -f stamps/netx-dist.stamp + rm -f netx-source-files.txt + rm -f stamps/netx.stamp + +# extras -- used to create about.jar for javaws. +extra-source-files.txt: + find $(abs_top_srcdir)/extra -name '*.java' | sort > $@ + +stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp + mkdir -p extra-lib + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \ + -sourcepath extra -cp netx.build \ + -bootclasspath $(RUNTIME) @extra-source-files.txt + cp -r $(NETX_EXTRA_DIR) extra-lib/net/sourceforge/jnlp/about + mkdir -p stamps + touch $@ + +clean-extra: + rm -rf extra-lib + rm -f stamps/extra-class-files.stamp + rm -f extra-source-files.txt + +extra-lib/about.jar: stamps/extra-class-files.stamp + $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; + +launcher/%.o: $(LAUNCHER_SRCDIR)/%.c + mkdir -p launcher && \ + $(CC) $(LAUNCHER_FLAGS) -DJAVA_ARGS='{ "-J-ms8m", "net.sourceforge.jnlp.runtime.Boot", }' -DPROGNAME='"javaws"' \ + -c -o $@ $< + +launcher/javaws: $(addprefix launcher/,$(LAUNCHER_OBJECTS)) + $(CC) $(LAUNCHER_LINK) $(addprefix launcher/,$(LAUNCHER_OBJECTS)) + +# plugin tests + +if ENABLE_PLUGIN +stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp + mkdir -p plugin/tests/LiveConnect + $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \ + -d plugin/tests/LiveConnect \ + -classpath liveconnect/lib/classes.jar \ + $(PLUGIN_TEST_SRCS) ; + $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \ + plugin/tests/LiveConnect/*.class ; + cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \ + plugin/tests/LiveConnect ; + echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ; + mkdir -p stamps + touch stamps/plugin-tests.stamp +endif + +# Bootstrap Directory Targets +# =========================== + +stamps/native-ecj.stamp: + mkdir -p stamps ; \ + if test "x$(GCJ)" != "xno"; then \ + $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \ + --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \ + fi ; \ + touch stamps/native-ecj.stamp + +clean-native-ecj: + rm -f native-ecj + rm -rf stamps/native-ecj.stamp + +# bootstrap +stamps/bootstrap-directory.stamp: stamps/native-ecj.stamp + mkdir -p $(BOOT_DIR)/bin stamps/ + ln -sf $(JAR) $(BOOT_DIR)/bin/jar + ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac + mkdir -p $(BOOT_DIR)/jre/lib && \ + ln -s $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(BOOT_DIR)/jre/lib && \ + if [ -e $(SYSTEM_JDK_DIR)/jre/lib/jsse.jar ] ; then \ + ln -s $(SYSTEM_JDK_DIR)/jre/lib/jsse.jar $(BOOT_DIR)/jre/lib ; \ + else \ + ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \ + fi + ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \ + $(BOOT_DIR)/jre/lib/ && \ + if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ + then \ + ln -sf ./$(JRE_ARCH_DIR) \ + $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \ + fi; + mkdir -p $(BOOT_DIR)/include && \ + for i in $(SYSTEM_JDK_DIR)/include/*; do \ + test -r $$i | continue; \ + i=`basename $$i`; \ + rm -f $(BOOT_DIR)/include/$$i; \ + ln -s $(SYSTEM_JDK_DIR)/include/$$i $(BOOT_DIR)/include/$$i; \ + done + mkdir -p stamps + touch stamps/bootstrap-directory.stamp + +clean-bootstrap-directory: + rm -rf $(BOOT_DIR) + rm -f stamps/bootstrap-directory.stamp + +# Target Aliases +# =============== + +add-netx: stamps/add-netx.stamp + +add-netx-debug: stamps/add-netx-debug.stamp + +netx: stamps/netx.stamp + +netx-dist: stamps/netx-dist.stamp + +plugin: stamps/plugin.stamp + +plugin-tests: stamps/plugin-tests.stamp |