view Makefile.am @ 0:ceec3a6ce732

Initial import of VisualVM build machinery and changes to make it work independently of IcedTea. 2010-06-22 Andrew John Hughes <ahughes@redhat.com> * .hgignore, * COPYING, * Makefile.am, * acinclude.m4, * autogen.sh, * configure.ac: Initial import of VisualVM build machinery from IcedTea6&7 and changes to make it work independently.
author Andrew John Hughes <ahughes@redhat.com>
date Tue, 22 Jun 2010 23:07:25 +0100
parents
children 331abb57831c
line wrap: on
line source

NETBEANS_PROFILER_URL = https://visualvm.dev.java.net/files/documents/7163/149581/
NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_release68.tar.gz
NETBEANS_PROFILER_SHA256SUM = d0a52d023973a8987b48b39488ff4c9374dec96536823226abd7abfdabfc136b

VISUALVM_URL = https://visualvm.dev.java.net/files/documents/7163/146746/
VISUALVM_SRC_ZIP = visualvm_122-src.tar.gz
VISUALVM_SHA256SUM = 1b1cd77354757d64ca902722bb9481e1292a88c4884ffea8af7bb47f8ae24af5

NB_PLATFORM = $(shell ls $(SYSTEM_NETBEANS_DIR) | grep platform | tail -n1)

all: visualvm

clean-local: clean-visualvm clean-nbplatform clean-extract

distclean-local: clean-local clean-download

stamps/download.stamp: stamps/download-netbeans-profiler.stamp stamps/download-visualvm.stamp
	mkdir -p stamps
	touch $@

clean-download: clean-download-netbeans-profiler clean-download-visualvm
	rm -f stamps/download.stamp

stamps/download-netbeans-profiler.stamp:
if USE_ALT_NETBEANS_PROFILER_ZIP
	ln -sf $(ALT_NETBEANS_PROFILER_ZIP) $(NETBEANS_PROFILER_SRC_ZIP)
endif
	if ! echo "$(NETBEANS_PROFILER_SHA256SUM)  $(NETBEANS_PROFILER_SRC_ZIP)" \
	 | $(SHA256SUM) --check ; \
	then \
	 if [ $(NETBEANS_PROFILER_SRC_ZIP) ] ; \
	 then \
	  mv $(NETBEANS_PROFILER_SRC_ZIP) $(NETBEANS_PROFILER_SRC_ZIP).old ; \
	 fi ; \
	 $(WGET) $(NETBEANS_PROFILER_URL)$(NETBEANS_PROFILER_SRC_ZIP) \
	  -O $(NETBEANS_PROFILER_SRC_ZIP) ; \
	 if ! echo "$(NETBEANS_PROFILER_SHA256SUM)  $(NETBEANS_PROFILER_SRC_ZIP)" \
	   | $(SHA256SUM) --check ; \
	 then echo "ERROR: Bad download of NetBeans profiler zip"; false; \
	 fi; \
	fi
	mkdir -p stamps
	touch $@

stamps/download-visualvm.stamp:
if USE_ALT_VISUALVM_ZIP
	ln -sf $(ALT_VISUALVM_ZIP) $(VISUALVM_SRC_ZIP)
endif
	if ! echo "$(VISUALVM_SHA256SUM)  $(VISUALVM_SRC_ZIP)" \
         | $(SHA256SUM) --check ; \
        then \
         if [ $(VISUALVM_SRC_ZIP) ] ; \
         then \
          mv $(VISUALVM_SRC_ZIP) $(VISUALVM_SRC_ZIP).old ; \
         fi ; \
         $(WGET) $(VISUALVM_URL)$(VISUALVM_SRC_ZIP) \
          -O $(VISUALVM_SRC_ZIP) ; \
	 if ! echo "$(VISUALVM_SHA256SUM)  $(VISUALVM_SRC_ZIP)" \
	   | $(SHA256SUM) --check ; \
	 then echo "ERROR: Bad download of VisualVM zip"; false; \
	 fi; \
        fi
	mkdir -p stamps
	touch $@

clean-download-netbeans-profiler:
	rm -f $(NETBEANS_PROFILER_SRC_ZIP)
	rm -f stamps/download-netbeans-profiler.stamp

clean-download-visualvm:
	rm -f $(VISUALVM_SRC_ZIP)
	rm -f stamps/download-visualvm.stamp

stamps/extract.stamp: stamps/extract-netbeans-profiler.stamp stamps/extract-visualvm.stamp
	mkdir -p stamps
	touch $@

clean-extract: clean-extract-netbeans-profiler clean-extract-visualvm
	rm -f stamps/extract.stamp

stamps/extract-netbeans-profiler.stamp: stamps/download-netbeans-profiler.stamp
	set -e ; \
	if ! test -d netbeans ; \
	then \
	  mkdir netbeans ; \
	  $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \
	fi
	mkdir -p stamps
	touch $@

stamps/extract-visualvm.stamp: stamps/download-visualvm.stamp
	set -e ; \
	if ! test -d visualvm ; \
	then \
	  $(TAR) xf $(VISUALVM_SRC_ZIP) ; \
	fi
	mkdir -p stamps
	touch $@

clean-extract-netbeans-profiler:
	rm -rf netbeans
	rm -f stamps/extract-netbeans-profiler.stamp

clean-extract-visualvm:
	rm -rf visualvm
	rm -f stamps/extract-visualvm.stamp

# VisualVM

stamps/nbplatform.stamp: stamps/extract-netbeans-profiler.stamp
	rm -f netbeans/nbbuild/external/binaries-list 
	mkdir -p netbeans/nbbuild/netbeans_visualvm/
	ln -s $(SYSTEM_NETBEANS_DIR)/$(NB_PLATFORM)/ netbeans/nbbuild/netbeans_visualvm
	ln -s $(SYSTEM_NETBEANS_DIR)/harness/ netbeans/nbbuild/netbeans_visualvm
	if ! (uname -a | grep x86_64) ; then \
	  mkdir -p netbeans/lib.profiler/release/lib/deployed/jdk15/linux ; \
	  mkdir -p netbeans/lib.profiler/release/lib/deployed/jdk16/linux ; \
	  buildscript=./buildnative-linux.sh ; \
	else \
	  mkdir -p netbeans/lib.profiler/release/lib/deployed/jdk15/linux-amd64 ; \
	  mkdir -p netbeans/lib.profiler/release/lib/deployed/jdk16/linux-amd64 ; \
	  buildscript=./buildnative-linux64.sh ; \
	fi ; \
	cd netbeans/lib.profiler/native/build && \
	sed -ie 's#gcc32#$(CC)#' $$buildscript && \
	JAVA_HOME_15=$(SYSTEM_JDK_DIR) JAVA_HOME_16=$(SYSTEM_JDK_DIR) $$buildscript
	JAVA_HOME=$(SYSTEM_JDK_DIR) $(ANT) -Dpermit.jdk6.builds=true -f netbeans/nbbuild/build.xml bootstrap
	for dir in lib.profiler lib.profiler.charts lib.profiler.ui lib.profiler.common profiler ; do \
	  JAVA_HOME=$(SYSTEM_JDK_DIR) $(ANT) -Dpermit.jdk6.builds=true -Dbuildnumber=091221-4fc006d17cb1 \
            -Dnetbeans.dest.dir=$(abs_top_builddir)/netbeans/nbbuild/netbeans_visualvm \
	    -f netbeans/$$dir/build.xml ; \
	done
	mkdir -p stamps
	touch $@

clean-nbplatform:
	rm -rf netbeans
	rm -f stamps/nbplatform.stamp

stamps/visualvm.stamp: stamps/extract-visualvm.stamp stamps/nbplatform.stamp
	ln -s $(abs_top_srcdir)/netbeans/nbbuild/netbeans_visualvm visualvm/netbeans ; 
	cd visualvm && JAVA_HOME=$(SYSTEM_JDK_DIR) $(ANT) build
	mkdir -p stamps
	touch $@

clean-visualvm:
	rm -rf visualvm
	rm -f stamps/visualvm.stamp

install-exec-local:
	mkdir -p $(bindir)
	mkdir -p $(libdir)/visualvm/etc
	mkdir -p $(libdir)/visualvm/visualvm
	sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \
	  visualvm/launcher/visualvm >> \
	  $(bindir)/jvisualvm
	chmod a+x $(bindir)/jvisualvm
	cp visualvm/launcher/visualvm.conf $(libdir)/visualvm/etc
	echo visualvm >> $(libdir)/visualvm/etc/visualvm.clusters
	echo profiler3 >> $(libdir)/visualvm/etc/visualvm.clusters
	cp -r visualvm/build/cluster/* $(libdir)/visualvm/visualvm
	cp -r netbeans/nbbuild/netbeans_visualvm/$(NB_PLATFORM) $(libdir)/visualvm
	cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 $(libdir)/visualvm	

download-netbeans-profiler: stamps/download-netbeans-profiler.stamp

download-visualvm: stamps/download-visualvm.stamp

extract-netbeans-profiler: stamps/extract-netbeans-profiler.stamp

extract-visualvm: stamps/extract-visualvm.stamp

nbplatform: stamps/nbplatform.stamp

visualvm: stamps/visualvm.stamp