changeset 2641:54974595d970

PR2352: Split JamVM rule into configure, make and make install stages 2016-03-28 Andrew John Hughes <gnu_andrew@member.fsf.org> PR2352: Split JamVM rule into configure, make and make install stages * Makefile.am: (jamvm): Depend on jamvm-configure, jamvm-build and jamvm-install rather than doing the job itself. (jamvm-configure): Split from jamvm step. Configures the JamVM build. (jamvm-build): Split from jamvm step and update the make invocation to match that used by CACAO. Builds JamVM. (jamvm-install): Likewise. Installs JamVM and creates the JamVM symlinks needed by the OpenJDK build. (clean-jamvm): Delete the intermediate stamps from the jamvm-configure, jamvm-build and jamvm-install steps. * NEWS: Updated.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Tue, 29 Mar 2016 02:29:36 +0100
parents f54a849488b0
children 761b826dbec2
files ChangeLog Makefile.am NEWS
diffstat 3 files changed, 55 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Mar 29 01:12:29 2016 +0100
+++ b/ChangeLog	Tue Mar 29 02:29:36 2016 +0100
@@ -1,4 +1,24 @@
-2015-03-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+2016-03-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+
+	PR2352: Split JamVM rule into configure, make and
+	make install stages
+	* Makefile.am:
+	(jamvm): Depend on jamvm-configure, jamvm-build and
+	jamvm-install rather than doing the job itself.
+	(jamvm-configure): Split from jamvm step. Configures
+	the JamVM build.
+	(jamvm-build): Split from jamvm step and update
+	the make invocation to match that used by CACAO.
+	Builds JamVM.
+	(jamvm-install): Likewise. Installs JamVM and
+	creates the JamVM symlinks needed by the OpenJDK
+	build.
+	(clean-jamvm): Delete the intermediate stamps
+	from the jamvm-configure, jamvm-build and jamvm-install
+	steps.
+	* NEWS: Updated.
+
+2016-03-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR2351: Split CACAO rule into configure and make stages
 	* Makefile.am:
@@ -14,7 +34,7 @@
 	steps.
 	* NEWS: Updated.
 
-2015-03-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>
+2016-03-28  Andrew John Hughes  <gnu_andrew@member.fsf.org>
 
 	PR2873: Fix make distcheck
 	* Makefile.am:
--- a/Makefile.am	Tue Mar 29 01:12:29 2016 +0100
+++ b/Makefile.am	Tue Mar 29 02:29:36 2016 +0100
@@ -2073,26 +2073,46 @@
 
 # JamVM
 
-stamps/jamvm.stamp: $(OPENJDK_TREE)
+stamps/jamvm.stamp: stamps/jamvm-configure.stamp stamps/jamvm-build.stamp stamps/jamvm-install.stamp
+	mkdir -p stamps
+	touch stamps/jamvm.stamp
+
+stamps/jamvm-configure.stamp: $(OPENJDK_TREE)
 if BUILD_JAMVM
 	cd jamvm/jamvm && \
 	./autogen.sh --with-java-runtime-library=openjdk8 \
-	  --prefix=$(abs_top_builddir)/jamvm/install ; \
-	$(MAKE) ; \
-	$(MAKE) install
+	  --prefix=$(abs_top_builddir)/jamvm/install
+endif
+	mkdir -p stamps
+	touch $@
+
+stamps/jamvm-build.stamp: stamps/jamvm-configure.stamp
+if BUILD_JAMVM
+	cd jamvm/jamvm && \
+	$(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS)
+endif
+	mkdir -p stamps
+	touch $@
+
+stamps/jamvm-install.stamp: stamps/jamvm-build.stamp
+if BUILD_JAMVM
+	cd jamvm/jamvm && \
+	$(ARCH_PREFIX) $(MAKE) -j$(PARALLEL_JOBS) install
 	mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/lib
 	touch $(abs_top_builddir)/jamvm/install/hotspot/lib/sa-jdi.jar
 	mkdir -p $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
-	cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
+	cp $(abs_top_builddir)/jamvm/install/lib/libjvm.so \
+	  $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server
 	ln -sf server $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client
 	touch $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/server/Xusage.txt
 	ln -sf libjvm.so $(abs_top_builddir)/jamvm/install/hotspot/jre/lib/$(INSTALL_ARCH_DIR)/client/libjsig.so
 endif
 	mkdir -p stamps
-	touch stamps/jamvm.stamp
+	touch $@
 
 clean-jamvm:
 	rm -rf jamvm
+	rm -f stamps/jamvm-configure.stamp stamps/jamvm-build.stamp stamps/jamvm-install.stamp
 	rm -f stamps/jamvm.stamp
 
 # Targets for additional VMs
@@ -2950,6 +2970,12 @@
 
 jamvm: stamps/jamvm.stamp
 
+jamvm-build: stamps/jamvm-build.stamp
+
+jamvm-configure: stamps/jamvm-configure.stamp
+
+jamvm-install: stamps/jamvm-install.stamp
+
 jtreg: stamps/jtreg.stamp
 
 native-ecj: stamps/native-ecj.stamp
--- a/NEWS	Tue Mar 29 01:12:29 2016 +0100
+++ b/NEWS	Tue Mar 29 02:29:36 2016 +0100
@@ -97,6 +97,7 @@
   - PR2339: Fail early if there is no native HotSpot JIT & all other options are disabled
   - PR2348: Avoid following symlinks for CACAO and JamVM patches
   - PR2351: Split CACAO rule into configure and make stages
+  - PR2352: Split JamVM rule into configure, make and make install stages
   - PR2358: Add aliases for all stamp targets
   - PR2362: Update HACKING & fsg.sh.in
   - PR2363: Remove EC source code prior to build