mirror of https://gitlab.com/QEF/q-e.git
78 lines
2.1 KiB
Bash
Executable File
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
|