| 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 |           sed -i '/_OS2/ d' $@
 | 
|---|
| 248 |         fi
 | 
|---|
| 249 |         touch $@
 | 
|---|
| 250 | 
 | 
|---|
| 251 | stamps/liveconnect.stamp: liveconnect-source-files.txt stamps/netx.stamp
 | 
|---|
| 252 |         if test "x${LIVECONNECT_DIR}" != x; then \
 | 
|---|
| 253 |           mkdir -p $(abs_top_builddir)/liveconnect && \
 | 
|---|
| 254 |           $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 | 
|---|
| 255 |               -d $(abs_top_builddir)/liveconnect \
 | 
|---|
| 256 |               -bootclasspath $(NETX_DIR):$(RUNTIME) \
 | 
|---|
| 257 |               -sourcepath $(LIVECONNECT_SRCS) \
 | 
|---|
| 258 |               @liveconnect-source-files.txt ; \
 | 
|---|
| 259 |         fi
 | 
|---|
| 260 |         mkdir -p stamps
 | 
|---|
| 261 |         touch $@
 | 
|---|
| 262 | 
 | 
|---|
| 263 | stamps/liveconnect-dist.stamp: stamps/liveconnect.stamp
 | 
|---|
| 264 |         if test "x${LIVECONNECT_DIR}" != x; then \
 | 
|---|
| 265 |           (cd $(abs_top_builddir)/liveconnect ; \
 | 
|---|
| 266 |            mkdir -p lib ; \
 | 
|---|
| 267 |            $(BOOT_DIR)/bin/jar cf lib/classes.jar $(LIVECONNECT_DIR) ; \
 | 
|---|
| 268 |            cp -pPR $(SRC_DIR_LINK) $(LIVECONNECT_SRCS) src; \
 | 
|---|
| 269 |            find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
 | 
|---|
| 270 |            cd src ; \
 | 
|---|
| 271 |            $(ZIP) -qr $(abs_top_builddir)/liveconnect/lib/src.zip $(LIVECONNECT_DIR) ) ; \
 | 
|---|
| 272 |         fi
 | 
|---|
| 273 |         mkdir -p stamps
 | 
|---|
| 274 |         touch $@
 | 
|---|
| 275 | 
 | 
|---|
| 276 | clean-liveconnect:
 | 
|---|
| 277 |         rm -rf $(abs_top_builddir)/liveconnect
 | 
|---|
| 278 |         rm -f stamps/liveconnect-dist.stamp
 | 
|---|
| 279 |         rm -f liveconnect-source-files.txt
 | 
|---|
| 280 |         rm -f stamps/liveconnect.stamp
 | 
|---|
| 281 | 
 | 
|---|
| 282 | # NetX
 | 
|---|
| 283 | # requires availability of OpenJDK source code including
 | 
|---|
| 284 | # a patch applied to sun.plugin.AppletViewerPanel and generated sources
 | 
|---|
| 285 | 
 | 
|---|
| 286 | netx-source-files.txt:
 | 
|---|
| 287 |         find $(NETX_SRCDIR) -name '*.java' | sort > $@
 | 
|---|
| 288 | if !WITH_RHINO
 | 
|---|
| 289 |         sed -i '/RhinoBasedPacEvaluator/ d' $@
 | 
|---|
| 290 | endif
 | 
|---|
| 291 | 
 | 
|---|
| 292 | stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp
 | 
|---|
| 293 |         mkdir -p $(NETX_DIR)
 | 
|---|
| 294 |         $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 | 
|---|
| 295 |             -d $(NETX_DIR) \
 | 
|---|
| 296 |             -sourcepath $(NETX_SRCDIR) \
 | 
|---|
| 297 |             -bootclasspath $(RUNTIME) \
 | 
|---|
| 298 |             @netx-source-files.txt
 | 
|---|
| 299 |         (cd $(NETX_RESOURCE_DIR); \
 | 
|---|
| 300 |          for files in $$(find . -type f); \
 | 
|---|
| 301 |          do \
 | 
|---|
| 302 |            ${INSTALL_DATA} -D $${files} \
 | 
|---|
| 303 |            $(NETX_DIR)/net/sourceforge/jnlp/resources/$${files}; \
 | 
|---|
| 304 |          done)
 | 
|---|
| 305 |         cp -a $(NETX_SRCDIR)/net/sourceforge/jnlp/runtime/pac-funcs.js \
 | 
|---|
| 306 |           $(NETX_DIR)/net/sourceforge/jnlp/runtime
 | 
|---|
| 307 |         cp -a build.properties $(NETX_DIR)/net/sourceforge/jnlp/
 | 
|---|
| 308 |         mkdir -p stamps
 | 
|---|
| 309 |         touch $@
 | 
|---|
| 310 | 
 | 
|---|
| 311 | stamps/netx-dist.stamp: stamps/netx.stamp $(abs_top_builddir)/netx.manifest
 | 
|---|
| 312 |         (cd $(NETX_DIR) ; \
 | 
|---|
| 313 |          mkdir -p lib ; \
 | 
|---|
| 314 |          $(BOOT_DIR)/bin/jar cfm lib/classes.jar \
 | 
|---|
| 315 |           $(abs_top_builddir)/netx.manifest javax/jnlp net ; \
 | 
|---|
| 316 |          cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \
 | 
|---|
| 317 |          find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \
 | 
|---|
| 318 |          cd src ; \
 | 
|---|
| 319 |          $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net )
 | 
|---|
| 320 |         mkdir -p stamps
 | 
|---|
| 321 |         touch $@
 | 
|---|
| 322 | 
 | 
|---|
| 323 | clean-netx:
 | 
|---|
| 324 |         rm -rf $(NETX_DIR)
 | 
|---|
| 325 |         rm -f stamps/netx-dist.stamp
 | 
|---|
| 326 |         rm -f netx-source-files.txt
 | 
|---|
| 327 |         rm -f stamps/netx.stamp
 | 
|---|
| 328 | 
 | 
|---|
| 329 | clean-desktop-files:
 | 
|---|
| 330 |         rm -f javaws.desktop
 | 
|---|
| 331 |         rm -f itweb-settings.desktop
 | 
|---|
| 332 | 
 | 
|---|
| 333 | # extras -- used to create about.jar for javaws.
 | 
|---|
| 334 | extra-source-files.txt:
 | 
|---|
| 335 |         find $(abs_top_srcdir)/extra -name '*.java' | sort > $@
 | 
|---|
| 336 | 
 | 
|---|
| 337 | stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp
 | 
|---|
| 338 |         mkdir -p extra-lib
 | 
|---|
| 339 |         $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \
 | 
|---|
| 340 |           -sourcepath $(abs_top_srcdir)/extra -cp netx.build \
 | 
|---|
| 341 |           -bootclasspath $(RUNTIME) @extra-source-files.txt
 | 
|---|
| 342 |         (cd $(NETX_EXTRA_DIR); \
 | 
|---|
| 343 |          for files in $$(find . -type f); \
 | 
|---|
| 344 |          do \
 | 
|---|
| 345 |            ${INSTALL_DATA} -D $${files} \
 | 
|---|
| 346 |            $(NETX_EXTRA_DIST_DIR)/$${files}; \
 | 
|---|
| 347 |          done)
 | 
|---|
| 348 |         mkdir -p stamps
 | 
|---|
| 349 |         touch $@
 | 
|---|
| 350 | 
 | 
|---|
| 351 | clean-extra:
 | 
|---|
| 352 |         rm -rf extra-lib
 | 
|---|
| 353 |         rm -f stamps/extra-class-files.stamp
 | 
|---|
| 354 |         rm -f extra-source-files.txt
 | 
|---|
| 355 | 
 | 
|---|
| 356 | extra-lib/about.jar: stamps/extra-class-files.stamp
 | 
|---|
| 357 |         $(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ;
 | 
|---|
| 358 | 
 | 
|---|
| 359 | launcher.build/$(javaws): launcher/javaws.in
 | 
|---|
| 360 |         mkdir -p launcher.build
 | 
|---|
| 361 |         $(edit_launcher_script) < $< > $@
 | 
|---|
| 362 | 
 | 
|---|
| 363 | launcher.build/$(itweb_settings): launcher/itweb-settings.in
 | 
|---|
| 364 |         mkdir -p launcher.build
 | 
|---|
| 365 |         $(edit_launcher_script) < $< > $@
 | 
|---|
| 366 | 
 | 
|---|
| 367 | clean-launchers:
 | 
|---|
| 368 |         rm -f launcher.build/$(javaws)
 | 
|---|
| 369 |         rm -f launcher.build/$(itweb_settings)
 | 
|---|
| 370 |         if [ -e launcher.build ] ; then \
 | 
|---|
| 371 |           rmdir launcher.build ; \
 | 
|---|
| 372 |         fi
 | 
|---|
| 373 | 
 | 
|---|
| 374 | javaws.desktop: javaws.desktop.in
 | 
|---|
| 375 |         sed "s#PATH_TO_JAVAWS#$(bindir)/$(javaws)#" < $(srcdir)/javaws.desktop.in > javaws.desktop
 | 
|---|
| 376 | 
 | 
|---|
| 377 | itweb-settings.desktop: $(srcdir)/itweb-settings.desktop.in
 | 
|---|
| 378 |         sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \
 | 
|---|
| 379 |           < $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop
 | 
|---|
| 380 | 
 | 
|---|
| 381 | # documentation
 | 
|---|
| 382 | 
 | 
|---|
| 383 | stamps/docs.stamp: stamps/netx-docs.stamp stamps/plugin-docs.stamp
 | 
|---|
| 384 |         touch stamps/docs.stamp
 | 
|---|
| 385 | 
 | 
|---|
| 386 | clean-docs: clean-netx-docs clean-plugin-docs
 | 
|---|
| 387 |         if [ -e ${abs_top_builddir}/docs ] ; then \
 | 
|---|
| 388 |           rmdir ${abs_top_builddir}/docs ; \
 | 
|---|
| 389 |         fi
 | 
|---|
| 390 |         rm -f stamps/docs.stamp
 | 
|---|
| 391 | 
 | 
|---|
| 392 | stamps/netx-docs.stamp: stamps/bootstrap-directory.stamp
 | 
|---|
| 393 | if ENABLE_DOCS
 | 
|---|
| 394 |         $(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
 | 
|---|
| 395 |          -d ${abs_top_builddir}/docs/netx -sourcepath $(NETX_SRCDIR) \
 | 
|---|
| 396 |          -doctitle 'IcedTea-Web: NetX API Specification' \
 | 
|---|
| 397 |          -windowtitle 'IcedTea-Web: NetX ' \
 | 
|---|
| 398 |          -header '<strong>IcedTea-Web<br/>NetX</strong>' \
 | 
|---|
| 399 |          $(NETX_PKGS)
 | 
|---|
| 400 | endif
 | 
|---|
| 401 |         mkdir -p stamps
 | 
|---|
| 402 |         touch stamps/netx-docs.stamp
 | 
|---|
| 403 | 
 | 
|---|
| 404 | clean-netx-docs:
 | 
|---|
| 405 |         rm -rf ${abs_top_builddir}/docs/netx
 | 
|---|
| 406 |         rm -f stamps/netx-docs.stamp
 | 
|---|
| 407 | 
 | 
|---|
| 408 | stamps/plugin-docs.stamp: stamps/bootstrap-directory.stamp
 | 
|---|
| 409 | if ENABLE_DOCS
 | 
|---|
| 410 | if ENABLE_PLUGIN
 | 
|---|
| 411 |         $(BOOT_DIR)/bin/javadoc $(JAVADOC_MEM_OPTS) $(JAVADOC_OPTS) \
 | 
|---|
| 412 |          -d ${abs_top_builddir}/docs/plugin -sourcepath $(NETX_SRCDIR):$(LIVECONNECT_SRCS) \
 | 
|---|
| 413 |          -doctitle 'IcedTea-Web: Plugin API Specification' \
 | 
|---|
| 414 |          -windowtitle 'IcedTea-Web: Plugin ' \
 | 
|---|
| 415 |          -header '<strong>IcedTea-Web<br/>Plugin</strong>' \
 | 
|---|
| 416 |          $(PLUGIN_PKGS)
 | 
|---|
| 417 | endif
 | 
|---|
| 418 | endif
 | 
|---|
| 419 |         mkdir -p stamps
 | 
|---|
| 420 |         touch stamps/plugin-docs.stamp
 | 
|---|
| 421 | 
 | 
|---|
| 422 | clean-plugin-docs:
 | 
|---|
| 423 |         rm -rf ${abs_top_builddir}/docs/plugin
 | 
|---|
| 424 |         rm -f stamps/plugin-docs.stamp
 | 
|---|
| 425 | 
 | 
|---|
| 426 | 
 | 
|---|
| 427 | # check
 | 
|---|
| 428 | # ==========================
 | 
|---|
| 429 | 
 | 
|---|
| 430 | clean-tests: clean-netx-tests
 | 
|---|
| 431 |         if [ -e $(TESTS_DIR) ]; then \
 | 
|---|
| 432 |                 rmdir $(TESTS_DIR) ; \
 | 
|---|
| 433 |         fi
 | 
|---|
| 434 | 
 | 
|---|
| 435 | check-pac-functions: stamps/bootstrap-directory.stamp
 | 
|---|
| 436 |         ./jrunscript $(abs_top_srcdir)/tests/netx/pac/pac-funcs-test.js \
 | 
|---|
| 437 |           $$(readlink -f $(abs_top_srcdir)/netx/net/sourceforge/jnlp/runtime/pac-funcs.js)
 | 
|---|
| 438 | 
 | 
|---|
| 439 | junit-runner-source-files.txt:
 | 
|---|
| 440 |         find $(JUNIT_RUNNER_SRCDIR) -name '*.java' | sort > $@
 | 
|---|
| 441 | 
 | 
|---|
| 442 | $(JUNIT_RUNNER_JAR): junit-runner-source-files.txt
 | 
|---|
| 443 |         mkdir -p $(JUNIT_RUNNER_DIR) && \
 | 
|---|
| 444 |         $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 | 
|---|
| 445 |           -d $(JUNIT_RUNNER_DIR) \
 | 
|---|
| 446 |           -classpath $(JUNIT_JAR) \
 | 
|---|
| 447 |           @junit-runner-source-files.txt && \
 | 
|---|
| 448 |         $(BOOT_DIR)/bin/jar cf $@  -C $(JUNIT_RUNNER_DIR) .
 | 
|---|
| 449 | 
 | 
|---|
| 450 | netx-unit-tests-source-files.txt:
 | 
|---|
| 451 |         find $(NETX_UNIT_TEST_SRCDIR) -name '*.java' | sort > $@
 | 
|---|
| 452 | 
 | 
|---|
| 453 | stamps/netx-unit-tests-compile.stamp: stamps/netx.stamp \
 | 
|---|
| 454 |  netx-unit-tests-source-files.txt
 | 
|---|
| 455 |         mkdir -p $(NETX_UNIT_TEST_DIR) && \
 | 
|---|
| 456 |         $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 | 
|---|
| 457 |          -d $(NETX_UNIT_TEST_DIR) \
 | 
|---|
| 458 |          -classpath $(JUNIT_JAR):$(NETX_DIR)/lib/classes.jar \
 | 
|---|
| 459 |          @netx-unit-tests-source-files.txt && \
 | 
|---|
| 460 |         mkdir -p stamps && \
 | 
|---|
| 461 |         touch $@
 | 
|---|
| 462 | 
 | 
|---|
| 463 | run-netx-unit-tests: stamps/netx-unit-tests-compile.stamp \
 | 
|---|
| 464 |  $(JUNIT_RUNNER_JAR)
 | 
|---|
| 465 |         cp {$(NETX_UNIT_TEST_SRCDIR),$(NETX_UNIT_TEST_DIR)}/net/sourceforge/jnlp/basic.jnlp
 | 
|---|
| 466 |         cd $(NETX_UNIT_TEST_DIR) ; \
 | 
|---|
| 467 |         class_names= ; \
 | 
|---|
| 468 |         for test in `find -type f` ; do \
 | 
|---|
| 469 |           class_name=`echo $$test | sed -e 's|\.class$$||' -e 's|^\./||'` ; \
 | 
|---|
| 470 |           class_name=`echo $$class_name | sed -e 's|/|.|g' ` ; \
 | 
|---|
| 471 |           class_names="$$class_names $$class_name" ; \
 | 
|---|
| 472 |         done ; \
 | 
|---|
| 473 |         echo $$class_names ; \
 | 
|---|
| 474 |         CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):. \
 | 
|---|
| 475 |           $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names
 | 
|---|
| 476 | 
 | 
|---|
| 477 | clean-netx-tests: clean-netx-unit-tests clean-junit-runner
 | 
|---|
| 478 |         if [ -e $(TESTS_DIR)/netx ]; then \
 | 
|---|
| 479 |           rmdir $(TESTS_DIR)/netx ; \
 | 
|---|
| 480 |         fi
 | 
|---|
| 481 | 
 | 
|---|
| 482 | clean-junit-runner:
 | 
|---|
| 483 |         rm -f junit-runner-source-files.txt
 | 
|---|
| 484 |         rm -rf $(JUNIT_RUNNER_DIR)
 | 
|---|
| 485 |         rm -f $(JUNIT_RUNNER_JAR)
 | 
|---|
| 486 | 
 | 
|---|
| 487 | clean-netx-unit-tests:
 | 
|---|
| 488 |         rm -f netx-unit-tests-source-files.txt
 | 
|---|
| 489 |         rm -rf $(NETX_UNIT_TEST_DIR)
 | 
|---|
| 490 |         rm -f stamps/netx-unit-tests-compile.stamp
 | 
|---|
| 491 | 
 | 
|---|
| 492 | # plugin tests
 | 
|---|
| 493 | 
 | 
|---|
| 494 | if ENABLE_PLUGIN
 | 
|---|
| 495 | stamps/plugin-tests.stamp: $(PLUGIN_TEST_SRCS) stamps/plugin.stamp
 | 
|---|
| 496 |         mkdir -p plugin/tests/LiveConnect
 | 
|---|
| 497 |         $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
 | 
|---|
| 498 |          -d plugin/tests/LiveConnect \
 | 
|---|
| 499 |          -classpath liveconnect/lib/classes.jar \
 | 
|---|
| 500 |          $(PLUGIN_TEST_SRCS) ;
 | 
|---|
| 501 |         $(BOOT_DIR)/bin/jar cf plugin/tests/LiveConnect/PluginTest.jar \
 | 
|---|
| 502 |           plugin/tests/LiveConnect/*.class ;
 | 
|---|
| 503 |         cp -pPR $(SRC_DIR_LINK) $(abs_top_srcdir)/plugin/tests/LiveConnect/*.{js,html} \
 | 
|---|
| 504 |           plugin/tests/LiveConnect ;
 | 
|---|
| 505 |         echo "Done. Now launch \"firefox file://`pwd`/index.html\"" ;
 | 
|---|
| 506 |         mkdir -p stamps
 | 
|---|
| 507 |         touch stamps/plugin-tests.stamp
 | 
|---|
| 508 | endif
 | 
|---|
| 509 | 
 | 
|---|
| 510 | # Bootstrap Directory Targets
 | 
|---|
| 511 | # ===========================
 | 
|---|
| 512 | 
 | 
|---|
| 513 | stamps/native-ecj.stamp: 
 | 
|---|
| 514 |         mkdir -p stamps ; \
 | 
|---|
| 515 |         if test "x$(GCJ)" != "xno"; then \
 | 
|---|
| 516 |           $(GCJ) $(IT_CFLAGS) -Wl,-Bsymbolic -findirect-dispatch -o native-ecj \
 | 
|---|
| 517 |             --main=org.eclipse.jdt.internal.compiler.batch.Main ${ECJ_JAR} ; \
 | 
|---|
| 518 |         fi ; \
 | 
|---|
| 519 |         touch stamps/native-ecj.stamp
 | 
|---|
| 520 | 
 | 
|---|
| 521 | clean-native-ecj:
 | 
|---|
| 522 |         rm -f native-ecj
 | 
|---|
| 523 |         rm -rf stamps/native-ecj.stamp
 | 
|---|
| 524 | 
 | 
|---|
| 525 | # bootstrap
 | 
|---|
| 526 | stamps/bootstrap-directory.stamp: stamps/native-ecj.stamp
 | 
|---|
| 527 |         mkdir -p $(BOOT_DIR)/bin stamps/
 | 
|---|
| 528 |         ln -sf $(JAVA) $(BOOT_DIR)/bin/java
 | 
|---|
| 529 |         ln -sf $(JAR) $(BOOT_DIR)/bin/jar
 | 
|---|
| 530 |         ln -sf $(abs_top_builddir)/javac $(BOOT_DIR)/bin/javac
 | 
|---|
| 531 |         ln -sf $(JAVADOC) $(BOOT_DIR)/bin/javadoc
 | 
|---|
| 532 |         mkdir -p $(BOOT_DIR)/jre/lib && \
 | 
|---|
| 533 |         ln -s $(SYSTEM_JRE_DIR)/lib/rt.jar $(BOOT_DIR)/jre/lib && \
 | 
|---|
| 534 |         if [ -e $(SYSTEM_JRE_DIR)/lib/jsse.jar ] ; then \
 | 
|---|
| 535 |           ln -s $(SYSTEM_JRE_DIR)/lib/jsse.jar $(BOOT_DIR)/jre/lib ; \
 | 
|---|
| 536 |         else \
 | 
|---|
| 537 |           ln -s rt.jar $(BOOT_DIR)/jre/lib/jsse.jar ; \
 | 
|---|
| 538 |         fi
 | 
|---|
| 539 |         ln -sf $(SYSTEM_JRE_DIR)/lib/$(JRE_ARCH_DIR) \
 | 
|---|
| 540 |           $(BOOT_DIR)/jre/lib/ && \
 | 
|---|
| 541 |         if ! test -d $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
 | 
|---|
| 542 |           then \
 | 
|---|
| 543 |           ln -sf ./$(JRE_ARCH_DIR) \
 | 
|---|
| 544 |             $(BOOT_DIR)/jre/lib/$(INSTALL_ARCH_DIR); \
 | 
|---|
| 545 |         fi;
 | 
|---|
| 546 |         mkdir -p $(BOOT_DIR)/include && \
 | 
|---|
| 547 |         for i in $(SYSTEM_JDK_DIR)/include/*; do \
 | 
|---|
| 548 |           test -r $$i | continue; \
 | 
|---|
| 549 |           i=`basename $$i`; \
 | 
|---|
| 550 |           rm -f $(BOOT_DIR)/include/$$i; \
 | 
|---|
| 551 |           ln -s $(SYSTEM_JDK_DIR)/include/$$i $(BOOT_DIR)/include/$$i; \
 | 
|---|
| 552 |         done
 | 
|---|
| 553 |         mkdir -p stamps
 | 
|---|
| 554 |         touch stamps/bootstrap-directory.stamp
 | 
|---|
| 555 | 
 | 
|---|
| 556 | clean-bootstrap-directory:
 | 
|---|
| 557 |         rm -rf $(BOOT_DIR)
 | 
|---|
| 558 |         if [ -e ${abs_top_builddir}/bootstrap ] ; then \
 | 
|---|
| 559 |           rmdir ${abs_top_builddir}/bootstrap ; \
 | 
|---|
| 560 |         fi
 | 
|---|
| 561 |         rm -f stamps/bootstrap-directory.stamp
 | 
|---|
| 562 | 
 | 
|---|
| 563 | # Target Aliases
 | 
|---|
| 564 | # ===============
 | 
|---|
| 565 | 
 | 
|---|
| 566 | add-netx: stamps/add-netx.stamp
 | 
|---|
| 567 | 
 | 
|---|
| 568 | add-netx-debug: stamps/add-netx-debug.stamp
 | 
|---|
| 569 | 
 | 
|---|
| 570 | netx: stamps/netx.stamp
 | 
|---|
| 571 | 
 | 
|---|
| 572 | netx-dist: stamps/netx-dist.stamp
 | 
|---|
| 573 | 
 | 
|---|
| 574 | plugin: stamps/plugin.stamp
 | 
|---|
| 575 | 
 | 
|---|
| 576 | plugin-tests: stamps/plugin-tests.stamp
 | 
|---|