Makefile.installer revision 63fd75b1839e6d061eaa2d8d72011b6ca53b0ca9
#
# Makefile
# $Header$
# 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.66
SED_COMMAND="s/^\(.*<appversion>\)[0-9. ]*\(<.*$$\)/\1$(HETS_VERSION)\2/"
SPASS_DIR_MAC=SPASS-2.2
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_JAR_SOLARIS = hets-installer-sparc-solaris.jar
INSTALL_JAR_MAC = hets-installer-ppc-mac.jar
INSTALL_JAR_LINUX = hets-installer-x86-linux.jar
SPASSURL_SOLARIS = http://spass.mpi-sb.mpg.de/download/binaries/spass22sparc59.tgz
SPASSURL_MAC = http://spass.mpi-sb.mpg.de/download/binaries/spass22mac.dmg
SPASSURL_LINUX = http://spass.mpi-sb.mpg.de/download/binaries/spass22pclinux.tgz
SPASS_SRC = http://spass.mpi-sb.mpg.de/download/sources/spass22.tgz
download : izpack_checkout hetcats-make daily-hets-download other-download
casl-lib-checkout :
@echo update casl-lib
@cd $(IZPACK_SAMPLE) ; \
if [ -d CASL-lib ] ; then \
cvs up -dPA CASL-lib ; \
else \
cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:\/repository co -P CASL-lib ; \
fi ; \
for x in $(find CASL-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
hetcats-make : tools-checkout
cd $(IZPACK_SAMPLE)/src ;\
cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:\/repository co -P HetCATS
cd $(IZPACK_SAMPLE)/src/HetCATS ;\
cp LICENCE.txt $(IZPACK_SAMPLE)/pack/LICENCE.txt ;\
cp README $(IZPACK_SAMPLE)/pack/README ;\
mkdir -p $(IZPACK_SAMPLE)/SPASS/MAC/$(SPASS_DIR_MAC) ;\
cp utils/SPASS-ppc-mac/SPASS* $(IZPACK_SAMPLE)/SPASS/MAC/$(SPASS_DIR_MAC)/SPASS ;\
cp utils/el/*.el $(IZPACK_SAMPLE)/hets ;\
cp hets.in $(IZPACK_SAMPLE)/hets/hets ;\
cp utils/getAllHets.sh $(IZPACK_SAMPLE) ;\
cp utils/getDailyHets-installer.sh $(IZPACK_SAMPLE)/getDailyHets.sh ;\
$(MAKE) release ;\
mv HetCATS.tar $(IZPACK_SAMPLE)/src/ ;\
mkdir $(IZPACK_SAMPLE)/hets/OWLParser ; \
mkdir $(IZPACK_SAMPLE)/hets/OWLParser/java ; \
cp OWL_DL/owl_parser.installer $(IZPACK_SAMPLE)/hets/OWLParser/owl_parser ; \
cp OWL_DL/java/OWLParser.jar $(IZPACK_SAMPLE)/hets/OWLParser/java ; \
cp -r OWL_DL/java/jlib $(IZPACK_SAMPLE)/hets/OWLParser/java
$(RM) -r HetCATS
cd $(IZPACK_SAMPLE)/src ; tar xvf HetCATS.tar ; $(RM) HetCATS.tar
daily-hets-download :
@sh $(IZPACK_SAMPLE)/getAllHets.sh $(HETS_VERSION) ;\
rm $(IZPACK_SAMPLE)/getAllHets.sh ;\
mv $(HOME)/tmp/hets_installer/hets/* $(IZPACK_SAMPLE)/hets/
tools-checkout :
@echo update uni
@cd $(IZPACK_SAMPLE)/src ; \
if [ -d uni ] ; then \
cvs up -dPA -r ghc-6-06 uni ; \
else \
cvs -d :pserver:cvsread@cvs-agbkb.informatik.uni-bremen.de:\/repository co -P -r ghc-6-06 uni ; \
fi ; \
echo checkout programatica ; \
cvs -d :pserver:anoncvs@cvs.haskell.org:/cvs co \
programatica/tools/base programatica/tools/property
izpack_checkout :
@echo update izpack_het
@if [ -d $(IZPACK_PATH) ] ; then \
svn up $(IZPACK_PATH) ; \
else \
svn checkout https://svn-agbkb.informatik.uni-bremen.de/izpack $(IZPACK_PATH) ; \
fi
@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
other-download : casl-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/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
cleanup:
@$(RM) -r $(IZPACK_PATH) hets_installer
@$(RM) Makefile
.PHONY : all download build casl-lib-checkout hetcats-make daily-hets-download other-download izpack_checkout cleanup tools-checkout