Files
lammps/src/USER-OMP/Install.sh

89 lines
1.8 KiB
Bash

# Install/unInstall package files in LAMMPS
# mode = 0/1/2 for uninstall/install/update
mode=$1
# enforce using portable C locale
LC_ALL=C
export LC_ALL
# arg1 = file, arg2 = file it depends on
action () {
if (test $mode = 0) then
rm -f ../$1
elif (! cmp -s $1 ../$1) then
if (test -z "$2" || test -e ../$2) then
cp $1 ..
if (test $mode = 2) then
echo " updating src/$1"
fi
fi
elif (test -n "$2") then
if (test ! -e ../$2) then
rm -f ../$1
fi
fi
}
# step 1: process all *_omp.cpp and *_omp.h files.
# do not install child files if parent does not exist
for file in *_omp.cpp; do
test $file = thr_omp.cpp && continue
dep=${file%_omp.cpp}.cpp
action $file $dep
done
for file in *_omp.h; do
test $file = thr_omp.h && continue
dep=${file%_omp.h}.h
action $file $dep
done
action thr_omp.h
action thr_omp.cpp
action thr_data.h
action thr_data.cpp
# step 2: handle cases and tasks not handled in step 1
if (test $mode = 1) then
if (test -e ../Makefile.package) then
sed -i -e 's/[^ \t]*OMP[^ \t]* //' ../Makefile.package
sed -i -e 's|^PKG_INC =[ \t]*|&-DLMP_USER_OMP |' ../Makefile.package
fi
# need to delete a bunch of dependency files because they
# indirectly depend on user_cuda.h
for f in finish.d modify_cuda.d
do \
rm -f ../Obj_*/$f
done
# force rebuild of files with LMP_USER_OMP switch
touch ../accelerator_omp.h
elif (test $mode = 0) then
if (test -e ../Makefile.package) then
sed -i -e 's/[^ \t]*OMP[^ \t]* //' ../Makefile.package
fi
# need to delete a bunch of dependency files because they
# indirectly depend on user_cuda.h
for f in finish.d modify_cuda.d
do \
rm -f ../Obj_*/$f
done
# force rebuild of files with LMP_USER_OMP switch
touch ../accelerator_omp.h
fi