quantum-espresso/install/addsonpatch.sh

78 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# PATCH SCRIPT FOR QE Makefiles with addson
#
# this script needs to be launched from the root directory of the host code
# two arguments are neede where the addson source code is and
# where the source code has to be linked in order to be
# compiled by QE
# This script has been adapted from an original patch script
# of plumed (www.plumed-code.org)
destination="$PWD"
#echo "root directory of host package: $destination"
# bisogna prendere il nome del plugin in input
ADDSON_NAME="$1"
LINKED_FILES="$2/*.f90"
WHERE_LINKS="$3/"
echo "The NAME of the addson is: $ADDSON_NAME"
echo "LINKED_FILES are: $LINKED_FILES"
echo "WHERE_LINKS are: $WHERE_LINKS"
function to_do_before_patch () {
echo > /dev/null
cp $destination/make.inc $destination/make.inc.pre$ADDSON_NAME
cp $destination/$WHERE_LINKS/Makefile $destination/$WHERE_LINKS/Makefile.pre$ADDSON_NAME
if test -e $destination/$WHERE_LINKS/make.depend ; then
cp $destination/$WHERE_LINKS/make.depend $destination/$WHERE_LINKS/make.depend.pre$ADDSON_NAME
fi
}
function to_do_after_patch () {
{
echo -n "${ADDSON_NAME}_OBJECTS="
for file in $destination/$LINKED_FILES
do f=${file##*/}
echo " \\"
echo -n " ${f%.f90}.o"
done
echo
echo -n "${ADDSON_NAME}_SRC="
for file in $destination/$LINKED_FILES
do f=${file##*/}
echo " \\"
echo -n " ${f%.f90}.f90"
done
echo
echo
} >> $destination/$WHERE_LINKS/$ADDSON_NAME.inc
}
function to_do_before_revert () {
rm $destination/$WHERE_LINKS/$ADDSON_NAME.inc
echo > /dev/null
}
function to_do_after_revert () {
echo > /dev/null
mv $destination/make.inc.pre$ADDSON_NAME $destination/make.inc
mv $destination/$WHERE_LINKS/Makefile.pre$ADDSON_NAME $destination/$WHERE_LINKS/Makefile
if test -e $destination/$WHERE_LINKS/make.depend.pre$ADDSON_NAME ; then \
mv $destination/$WHERE_LINKS/make.depend.pre$ADDSON_NAME $destination/$WHERE_LINKS/make.depend ; fi
}
#########
NAME="$0"
echo "NAME $NAME "
if test -e $destination/install/addsontool.sh ; then
source $destination/install/addsontool.sh
else
echo "missing file addsontool.sh in install directory"
EXIT
fi