From 393a3a135b190f8200d17699645de9b860aee410 Mon Sep 17 00:00:00 2001 From: Rene Brun <Rene.Brun@cern.ch> Date: Fri, 21 May 2010 13:00:40 +0000 Subject: [PATCH] From Ivana: In etc/vmc: - Adding target install (on request by ALICE) - g4_makedist.sh updated for moving g4root in geant4_vmc - Adding new makedist.sh script for all vmc packages git-svn-id: http://root.cern.ch/svn/root/trunk@33604 27541ba8-7e3a-0410-8455-c3a389f83636 --- etc/vmc/MakeMacros | 2 + etc/vmc/g4_makedist.sh | 6 +- etc/vmc/makedist.sh | 151 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 3 deletions(-) create mode 100755 etc/vmc/makedist.sh diff --git a/etc/vmc/MakeMacros b/etc/vmc/MakeMacros index 58b23abcb06..571c6ac0185 100644 --- a/etc/vmc/MakeMacros +++ b/etc/vmc/MakeMacros @@ -99,3 +99,5 @@ distclean: distsrc: @$(MAKEDISTSRC) +install: + @$(MAKEINSTALL) diff --git a/etc/vmc/g4_makedist.sh b/etc/vmc/g4_makedist.sh index 075bd27ccf2..9be8ef83825 100755 --- a/etc/vmc/g4_makedist.sh +++ b/etc/vmc/g4_makedist.sh @@ -8,7 +8,7 @@ # $ROOTSYS/build/unix/makedist.sh # Author: Fons Rademakers, 29/2/2000 # -# Usage: makedist.sh [gcc_version] [lib] +# Usage: g4_makedist.sh [gcc_version] [lib] # # By I.Hrivnacova, 7/10/2002 @@ -53,9 +53,9 @@ else EXCLUDE="--exclude .svn" fi -$TAR $TARFILE $EXCLUDE geant4_vmc/README geant4_vmc/LICENSE \ +$TAR $TARFILE $EXCLUDE geant4_vmc/README geant4_vmc/LICENSE geant4_vmc/Makefile \ geant4_vmc/"history" geant4_vmc/Geant4VMC.html geant4_vmc/version_number \ - geant4_vmc/"source" geant4_vmc/examples $MAKELIB + geant4_vmc/g4root geant4_vmc/"source" geant4_vmc/examples $MAKELIB cd $CURDIR diff --git a/etc/vmc/makedist.sh b/etc/vmc/makedist.sh new file mode 100755 index 00000000000..e7c06e958c3 --- /dev/null +++ b/etc/vmc/makedist.sh @@ -0,0 +1,151 @@ +#!/bin/sh +# $Id$ + +# Script to produce source distribution and optionally binary distribution +# for VMC packages +# Called by main Makefile. +# +# Usage: fl_makedist.sh -p package [OPTIONS] +# -p package package name: geant3, geant4_vmc, fluka_vmc +# -c gcc_version gcc version +# -b make binary distribution +# -i make installation in the path defined in dedicated +# environment variable +# +# By I.Hrivnacova, 01/04/2010 + +#set -x + +CURDIR=`pwd` + +# default options +MAKETAR=1 +BINDIST=0 +INSTALL=0 +GCC_VERS="" +PREFIX="" + +while getopts "bic:p:" option +do + case $option in + p ) PACKAGE=$OPTARG;; + c ) GCC_VERS=$OPTARG;; + b ) BINDIST=1 + MAKETAR=1 + ;; + i ) INSTALL=1 + MAKETAR=0 + ;; + * ) echo "Unimplemented option chosen." + echo "Usage:" + echo "makedist.sh -p package [OPTIONS]" + echo " -p package package name: geant3, geant4_vmc, fluka_vmc" + echo " -c gcc_version gcc version" + echo " -b make binary distribution" + echo " -i make installation in path defined in dedicated" + echo " environment variable" + EXIT=1 + ;; + esac +done + +# +# Packages specific definitions: +# run directory, input files, installation destination +# + +# geant321_+vmc +# +if [ "x$PACKAGE" = "xgeant321" ]; then + RUNDIR=$CURDIR/.. + PREFIX=$G3VMC_INSTALL + DIRNAME="geant3" + # special extension for distribution file name + NAMEEXT="21+_vmc" + BINFILES="geant3/lib" + cd $RUNDIR + MACHINE=`root-config --arch` + SOURCES=`ls geant3` + SOURCES=`echo $SOURCES | sed s/"tgt_$MACHINE"//g` + SOURCES=`echo $SOURCES | sed s/lib//g` + for param in $SOURCES; do + TARFILES="$TARFILES geant3/$param" + done +fi + +# geant4_vmc +# +if [ "x$PACKAGE" = "xgeant4vmc" ]; then + RUNDIR=$CURDIR/../.. + PREFIX=$G4VMC_INSTALL + DIRNAME="geant4_vmc" + NAMEEXT="" + BINFILES="geant4_vmc/include geant4_vmc/lib" + TARFILES="geant4_vmc/README geant4_vmc/LICENSE geant4_vmc/Makefile \ + geant4_vmc/"history" geant4_vmc/Geant4VMC.html geant4_vmc/version_number \ + geant4_vmc/g4root geant4_vmc/"source" geant4_vmc/examples" +fi + +# fluka_vmc +# +if [ "x$PACKAGE" = "xfluka" ]; then + RUNDIR=$CURDIR/../.. + PREFIX=$FLVMC_INSTALL + DIRNAME="fluka_vmc" + NAMEEXT="" + BINFILES="fluka_vmc/lib" + TARFILES="fluka_vmc/README fluka_vmc/"history" fluka_vmc/version_number \ + fluka_vmc/input fluka_vmc/"source"" +fi + +# include binary files if selected +# +if [ "$BINDIST" = "1" ]; then + TARFILES="$TARFILES $BINFILES" +fi + +# go to run directory +# +cd $RUNDIR + +# make tar ball +# +if [ "$MAKETAR" = "1" ]; then + VERSION=`cat $DIRNAME/version_number` + MACHINE=`root-config --arch` + TYPE="" + if [ "$BINDIST" = "1" ]; then + if [ "x$GCC_VERS" = "x" ]; then + TYPE=$MACHINE. + else + TYPE=$MACHINE.$GCC_VERS. + fi + fi + TARFILE=$DIRNAME$NAMEEXT.$VERSION.$TYPE"tar" + + TAR="tar zcvf" + rm -f $TARFILE.gz + TARFILE=$TARFILE".gz" + EXCLUDE="--exclude .svn" + + $TAR $TARFILE $EXCLUDE $TARFILES +fi + +# make installation +# +if [ "$INSTALL" = "1" ]; then + if [ "x$PREFIX" = "x" ]; then + echo "Destination directory $PREFIX not defined" + EXIT=1 + fi + if [ ! -d $PREFIX ]; then + echo "Destination directory $PREFIX not found" + EXIT=1 + fi + echo "Installing $DIRNAME in $PREFIX ..." + cp -r $BINFILES $PREFIX +fi + +cd $CURDIR + +exit 0 -- GitLab