Makefile.installer revision f4a6d336c6045d50c34fe57b4243f8d00737b583
#
# Makefile
# $Id$
# Author: Heng Jiang, Uni Bremen 2004-2006
# Year: 2006
#
# This Makefile will generate the installer for Hets with IzPack
#
all: download build cleanup
EMPTY =
ACTDATE = $(shell date +%F)
TMP_PATH = $(PWD)
IZPACK_PATH = $(TMP_PATH)/Izpack-Hets
IZPACK_COMPILE = $(IZPACK_PATH)/bin/compile
IZPACK_SAMPLE = $(IZPACK_PATH)/sample
HETS_VERSION=0.7
SED_COMMAND="s/^\(.*<appversion>\)[0-9. ]*\(<.*$$\)/\1$(HETS_VERSION)\2/"
SPASS_DIR_MAC=SPASS-2.2
RELEASED_HETS_SRC=http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/src-distribution/versions/Hets-src-0.75.tgz
HETS_LIB_TRUNK=https://svn-agbkb.informatik.uni-bremen.de/Hets-lib/trunk
UNI_TRUNK=https://svn-agbkb.informatik.uni-bremen.de/uni/trunk
IZPACK_TRUNK=https://svn-agbkb.informatik.uni-bremen.de/izpack
OSBYUNAME = $(shell uname)
ifneq ($(findstring SunOS, $(OSBYUNAME)),)
TAR = gtar
else
TAR = tar
endif
GMPURL = http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/mac/GMP-framework.zip
GNUreadlineURL = http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/hets/mac/GNUreadline-framework.zip
INSTALL_XML_SOLARIS = $(IZPACK_SAMPLE)/pack/install-solaris.xml
INSTALL_XML_MAC = $(IZPACK_PATH)/sample/pack/install-mac.xml
INSTALL_XML_LINUX = $(IZPACK_PATH)/sample/pack/install-linux.xml
INSTALL_XML_INTELMAC = $(IZPACK_PATH)/sample/pack/install-intel-mac.xml
INSTALL_JAR_SOLARIS = hets-installer-sparc-solaris.jar
INSTALL_JAR_MAC = hets-installer-ppc-mac.jar
INSTALL_JAR_LINUX = hets-installer-x86-linux.jar
INSTALL_JAR_INTELMAC = hets-installer-intel-mac.jar
SPASSURL_SOLARIS = http://spass.mpi-sb.mpg.de/download/binaries/spass22sparc59.tgz
SPASSURL_MAC = http://spass.mpi-sb.mpg.de/download/binaries/spass30powerpcmac.dmg
SPASSURL_LINUX = http://spass.mpi-sb.mpg.de/download/binaries/spass30pclinux.tgz
SPASSURL_INTELMAC = http://spass.mpi-sb.mpg.de/download/binaries/spass30x86macosx.dmg
SPASS_SRC = http://spass.mpi-sb.mpg.de/download/sources/spass30.tgz
## SPASS_SRC_LINUX = http://spass.mpi-sb.mpg.de/download/sources/qt411x11.tgz
## SPASS_SRC_MAC = http://spass.mpi-sb.mpg.de/download/sources/qt411mac.tgz
## SPASS_SRC_INTELMAC = http://spass.mpi-sb.mpg.de/download/sources/qt430mac.tgz
download : izpack_checkout hetcats-download release-hets-download other-download
hets-lib-checkout :
@echo update Hets-lib
@cd $(IZPACK_SAMPLE) ; \
if [ -d Hets-lib ] ; then \
svn update ; \
else \
svn checkout $(HETS_LIB_TRUNK) Hets-lib ; \
fi ;
for x in $(find Hets-lib -name "*"); do \
if [ -f $x ] ; then \
POSTFIX=`ls $x | sed "s%.*\.\(.*\)%\\1%"` ; \
if [ $POSTFIX != "casl" ] ; then \
if [ $POSTFIX != "het" ] ; then \
rm $x 2>/dev/null ; \
fi ; \
fi ; \
fi ; \
done
@cd $(IZPACK_SAMPLE) ;\
$(TAR) cvfj Hets-lib.tar.bz2 Hets-lib/* ; \
$(RM) -r Hets-lib/* ; mv Hets-lib.tar.bz2 Hets-lib/
hetcats-download : tools-checkout
@cd $(IZPACK_SAMPLE)/src ;\
wget --output-document=Hets.tgz $(RELEASED_HETS_SRC) ;\
$(TAR) xvfz Hets.tgz
@cd $(IZPACK_SAMPLE)/src/Hets ;\
cp LICENSE.txt $(IZPACK_SAMPLE)/pack/LICENCE.txt ;\
cp LIZENZ.txt $(IZPACK_SAMPLE)/pack/LIZENZ.txt ;\
cp README.installer $(IZPACK_SAMPLE)/pack/README ;\
mkdir -p $(IZPACK_SAMPLE)/SPASS/MAC/$(SPASS_DIR_MAC) \
$(IZPACK_SAMPLE)/SPASS/INTELMAC/$(SPASS_DIR_MAC) ;\
mkdir -p $(IZPACK_SAMPLE)/hets/doc ; \
mkdir -p $(IZPACK_SAMPLE)/hets/java ; \
cp utils/SPASS-ppc-mac/SPASS* $(IZPACK_SAMPLE)/SPASS/MAC/$(SPASS_DIR_MAC)/SPASS ;\
cp utils/SPASS-intel-mac/SPASS* $(IZPACK_SAMPLE)/SPASS/INTELMAC/$(SPASS_DIR_MAC)/SPASS ;\
cp utils/el/*.el $(IZPACK_SAMPLE)/hets ;\
cp hets.in $(IZPACK_SAMPLE)/hets/hets ;\
cp utils/getDailyHets-installer.sh $(IZPACK_SAMPLE)/getDailyHets.sh ;\
cp OWL_DL/owl_parser.installer $(IZPACK_SAMPLE)/hets/owl_parser ; \
cp OWL_DL/java/OWLParser.jar $(IZPACK_SAMPLE)/hets/java ; \
cp -r OWL_DL/java/jlib CASL/Termination/AProVE.jar \
$(IZPACK_SAMPLE)/hets/java ;\
cp utils/hetcasl.sty docs/UserGuide.pdf $(IZPACK_SAMPLE)/hets/doc/
## $(MAKE) release ;\
## mv Hets.tar $(IZPACK_SAMPLE)/src/HetCATS.tar
@cd $(IZPACK_SAMPLE)/src/ ; \
tar cvfj HetCATS.tar.bz2 Hets ;\
$(RM) -r Hets.tgz Hets programatica uni
release-hets-download :
@sh getAllHets.sh $(HETS_VERSION) ;\
mv $(HOME)/tmp/hets_installer/hets/* $(IZPACK_SAMPLE)/hets/ ;\
rm -fr $(HOME)/tmp/hets_installer/
tools-checkout :
@echo update uni
@cd $(IZPACK_SAMPLE)/src ; \
if [ -d uni ] ; then \
svn update uni ; \
else \
svn checkout $(UNI_TRANK) uni ; \
fi ; \
$(TAR) cvfj uni.tar.bz2 uni ;\
echo checkout programatica ; \
cvs -d :pserver:anoncvs@cvs.haskell.org:/cvs co \
programatica/tools/base programatica/tools/property ;\
$(TAR) cvfj programatica.tar.bz2 programatica
izpack_checkout :
@echo update izpack_het
@if [ -d $(IZPACK_PATH) ] ; then \
svn up $(IZPACK_PATH) ; \
else \
svn checkout $(IZPACK_TRUNK) $(IZPACK_PATH) ; \
fi
@mv $(IZPACK_SAMPLE)/pack/scripts/uninstall.sh $(IZPACK_SAMPLE)/pack/scripts/.uninstall-helper.sh
@sed -e $(SED_COMMAND) \
$(IZPACK_SAMPLE)/pack/install-linux.xml > \
hets_inst_tmp 2>/dev/null ; \
mv hets_inst_tmp $(IZPACK_SAMPLE)/pack/install-linux.xml
@sed -e $(SED_COMMAND) \
$(IZPACK_SAMPLE)/pack/install-mac.xml > \
hets_inst_tmp 2>/dev/null ; \
mv hets_inst_tmp $(IZPACK_SAMPLE)/pack/install-mac.xml
@sed -e $(SED_COMMAND) \
$(IZPACK_SAMPLE)/pack/install-solaris.xml > \
hets_inst_tmp 2>/dev/null ; \
mv hets_inst_tmp $(IZPACK_SAMPLE)/pack/install-solaris.xml
@sed -e $(SED_COMMAND) \
$(IZPACK_SAMPLE)/pack/install-intel-mac.xml > \
hets_inst_tmp 2>/dev/null ; \
mv hets_inst_tmp $(IZPACK_SAMPLE)/pack/install-intel-mac.xml
other-download : hets-lib-checkout
wget --output-document=$(IZPACK_SAMPLE)/GMP/GMP-framework.zip $(GMPURL) ; \
cd $(IZPACK_SAMPLE)/GMP ; \
unzip GMP-framework.zip ; \
$(RM) GMP-framework.zip
wget --output-document=$(IZPACK_SAMPLE)/GNUreadline/GNUreadline-framework.zip $(GNUreadlineURL) ; \
cd $(IZPACK_SAMPLE)/GNUreadline ; \
unzip GNUreadline-framework.zip ; \
$(RM) GNUreadline-framework.zip
wget --output-document=$(IZPACK_SAMPLE)/SPASS/LINUX/spass.tgz $(SPASSURL_LINUX)
wget --output-document=$(IZPACK_SAMPLE)/SPASS/SOLARIS/spass.tgz $(SPASSURL_SOLARIS)
wget --output-document=$(IZPACK_SAMPLE)/SPASS/SOLARIS/spass-src.tgz $(SPASS_SRC)
wget --output-document=$(IZPACK_SAMPLE)/SPASS/LINUX/spass-src.tgz $(SPASS_SRC)
wget --output-document=$(IZPACK_SAMPLE)/SPASS/MAC/spass-src.tgz $(SPASS_SRC)
mkdir -p $(IZPACK_SAMPLE)/SPASS/INTELMAC/ ; wget --output-document=$(IZPACK_SAMPLE)/SPASS/INTELMAC/spass-src.tgz $(SPASS_SRC)
cd $(IZPACK_SAMPLE)/SPASS/LINUX/ ; tar xvfz spass.tgz ; \
$(RM) spass.tgz ; mv SPASS*/SPASS . ; $(RM) -r SPASS*/* ; \
mv SPASS SPASS*/ ; chmod a+x SPASS*/SPASS
cd $(IZPACK_SAMPLE)/SPASS/SOLARIS/ ; tar xvfz spass.tgz ; \
$(RM) spass.tgz ; mv SPASS*/SPASS . ; $(RM) -r SPASS*/* ; \
mv SPASS SPASS*/ ; chmod a+x SPASS*/SPASS
build:
@chmod +x $(IZPACK_PATH)/bin/compile
$(IZPACK_COMPILE) $(INSTALL_XML_LINUX) -b $(IZPACK_SAMPLE)/ -o $(INSTALL_JAR_LINUX) -k standard
$(IZPACK_COMPILE) $(INSTALL_XML_MAC) -b $(IZPACK_SAMPLE)/ -o $(INSTALL_JAR_MAC) -k standard
$(IZPACK_COMPILE) $(INSTALL_XML_SOLARIS) -b $(IZPACK_SAMPLE)/ -o $(INSTALL_JAR_SOLARIS) -k standard
$(IZPACK_COMPILE) $(INSTALL_XML_INTELMAC) -b $(IZPACK_SAMPLE)/ -o $(INSTALL_JAR_INTELMAC) -k standard
cleanup:
@$(RM) -r $(IZPACK_PATH) hets_installer
@$(RM) Makefile getAllHets.sh SPASS*
.PHONY : all download build hets-lib-checkout hetcats-make release-hets-download other-download izpack_checkout cleanup tools-checkout