#!/bin/bash

SPRALorig=$FO/spral/src
SPRAL=$GALAHAD/src/spral

SSIDSorig=$FO/spral/src/ssids
SSIDS=$GALAHAD/src/ssids

#echo $SPRALorig
#echo $SPRAL

#echo $SSIDSorig
#echo $SSIDS

#ls -l $SSIDSorig/ssids.f90 $SSIDS/

cp -u $SPRALorig/matrix_util.f90 $SPRAL/
cp -u $SPRALorig/scaling.f90 $SPRAL/
cp -u $SPRALorig/match_order.f90 $SPRAL/
#cp -u $SPRALorig/metis4_wrapper.f90 $SPRAL/
cp -u $SPRALorig/metis4_wrapper.F90 $SPRAL/
cp -u $SPRALorig/metis5_wrapper.F90 $SPRAL/
cp -u $SPRALorig/core_analyse.f90 $SPRAL/
cp -u $SPRALorig/pgm.f90 $SPRAL/
cp -u $SPRALorig/random.f90 $SPRAL/
cp -u $SPRALorig/rutherford_boeing.f90 $SPRAL/
cp -u $SPRALorig/omp.cxx $SPRAL/
cp -u $SPRALorig/omp.hxx $SPRAL/
cp -u $SPRALorig/compat.cxx $SPRAL/
cp -u $SPRALorig/compat.hxx $SPRAL/
cp -u $SPRALorig/blas_iface.f90 $SPRAL/
cp -u $SPRALorig/lapack_iface.f90 $SPRAL/

cp -u $SPRALorig/hw_topology/hw_topology.f90 $SPRAL/
cp -u $SPRALorig/hw_topology/guess_topology.cxx $SPRAL/
cp -u $SPRALorig/hw_topology/guess_topology.hxx $SPRAL/
cp -u $SPRALorig/hw_topology/hwloc_wrapper.hxx $SPRAL/

cp -u $SPRALorig/cuda/cuda.f90 $SPRAL/
cp -u $SPRALorig/cuda/cuda_nocuda.f90 $SPRAL/
cp -u -r $SPRALorig/cuda/cuda_check.h $SPRAL/cuda/
cp -u -r $SPRALorig/cuda/api_wrappers.cu $SPRAL/

cp -u $SSIDSorig/datatypes.f90 $SSIDS/
#cp -u $SSIDSorig/alloc.f90 $SSIDS/
cp -u $SSIDSorig/inform.f90 $SSIDS/
cp -u $SSIDSorig/subtree.f90 $SSIDS/
cp -u $SSIDSorig/akeep.f90 $SSIDS/
#cp -u $SSIDSorig/fkeep.f90 $SSIDS/
cp -u $SSIDSorig/fkeep.F90 $SSIDS/
cp -u $SSIDSorig/contrib.f90 $SSIDS/
cp -u $SSIDSorig/contrib_free.f90 $SSIDS/
cp -u $SSIDSorig/anal.f90 $SSIDS/
cp -u $SSIDSorig/ssids.f90 $SSIDS/

cp -u $SSIDSorig/contrib.h $SSIDS/
cp -u $SSIDSorig/profile.cxx $SSIDS/
cp -u $SSIDSorig/profile.hxx $SSIDS/

cp -u $SSIDSorig/cpu/subtree.f90 $SSIDS/cpu_subtree.f90
cp -u $SSIDSorig/cpu/cpu_iface.f90 $SSIDS/
cp -u $SSIDSorig/profile_iface.f90 $SSIDS/profile_iface.f90

cp -u -r $SSIDSorig/cpu/* $SSIDS/cpu/
#cp -u $SSIDSorig/cpu/*.hxx $SSIDS/

cp -u $SSIDSorig/gpu/subtree_no_cuda.f90 $SSIDS/gpu_subtree_no_cuda.f90
cp -u $SSIDSorig/gpu/subtree.f90 $SSIDS/gpu_subtree.f90

cp -u -r $SSIDSorig/gpu/kernels/*.h $SSIDS/gpu/kernels/

cp -u $SSIDSorig/gpu/alloc.f90 $SSIDS/gpu_alloc.f90
cp -u $SSIDSorig/gpu/cpu_solve.f90 $SSIDS/
cp -u $SSIDSorig/gpu/datatypes.f90 $SSIDS/gpu_datatypes.f90
cp -u $SSIDSorig/gpu/dense_factor.f90 $SSIDS/gpu_dense_factor.f90
cp -u $SSIDSorig/gpu/factor.f90 $SSIDS/gpu_factor.f90
cp -u $SSIDSorig/gpu/interfaces.f90 $SSIDS/gpu_interfaces.f90
cp -u $SSIDSorig/gpu/smalloc.f90 $SSIDS/gpu_smalloc.f90
cp -u $SSIDSorig/gpu/solve.f90 $SSIDS/gpu_solve.f90

cp -u -r $SSIDSorig/gpu/kernels/assemble.cu $SSIDS/
cp -u -r $SSIDSorig/gpu/kernels/dense_factor.cu $SSIDS
cp -u -r $SSIDSorig/gpu/kernels/reorder.cu $SSIDS/
cp -u -r $SSIDSorig/gpu/kernels/solve.cu $SSIDS
cp -u -r $SSIDSorig/gpu/kernels/syrk.cu $SSIDS/
cp -u -r $SSIDSorig/gpu/kernels/datatypes.h $SSIDS/gpu/kernels/
cp -u -r $SSIDSorig/gpu/kernels/dtrsv.h $SSIDS/gpu/kernels/
