mvcc fatal errors - Don't know what to do with shared/gpu_network.sho

I’m using gcc to create .sho files from .cc and .cpp files . I use cuda-8.0/bin/nvcc to create .sho files from .cu
files. When I try and link, I get these errors

[i]Compiles into .sho ok…
gcc -c -O2 -fPIC -Wno-deprecated -fPIC -mavx -fexceptions -D_USE_ROOT -I/home/waveburst/SOFT//ROOT/root-v5-34-25-fromgit/include -DXIFO=4 -I. -D_USE_HEALPIX -I/home/waveburst/SOFT//HEALPix/Healpix_3.31/src/cxx/Healpix_cxx -I/home/waveburst/SOFT//HEALPix/Healpix_3.31/src/cxx/cxxsupport -D_USE_LAL -D_USE_EBBH wave_dict.cc -o shared/wave_dict.sho
:
:
Compiles with nvcc seem ok
/usr/local/cuda-8.0/bin/nvcc -I/usr/local/cuda-8.0/include -I/usr/local/cuda-8.0/ -Xcompiler -fPIC -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_60,code=compute_60 -o shared/gpu_network.sho -c gpu_network.cu:
:

linking into an executable not good
/usr/local/cuda-8.0/bin/nvcc -Xcompiler -fno-common -Xcompiler -shared -O2 -g -o ./lib/wavelet-4x.so ./watasm_elf64.o shared/injection.sho shared/wavecomplex.sho shared/Wavelet.sho shared/WaveDWT.sho shared/Haar.sho shared/Biorthogonal.sho shared/Daubechies.sho shared/Symlet.sho shared/Meyer.sho shared/SymmArray.sho shared/SymmArraySSE.sho shared/SymmObjArray.sho shared/WDM.sho shared/wavearray.sho shared/wseries.sho shared/watplot.sho shared/cluster.sho shared/wavecor.sho shared/wavefft.sho shared/waverdc.sho shared/lossy.sho shared/wavelinefilter.sho shared/netpixel.sho shared/netcluster.sho shared/skymap.sho shared/detector.sho shared/network.sho shared/netevent.sho shared/regression.sho shared/time.sho shared/monster.sho shared/sseries.sho shared/wave_dict.sho shared/gpu_network.sho
nvcc warning : The ‘compute_20’, ‘sm_20’, and ‘sm_21’ architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc fatal : Don’t know what to do with ‘shared/gpu_network.sho’

Thanks, in advance, for your suggestions

I guess my question is the same as nvcc’s: What kind of file has a .sho extension? Is this some special form of .so? Or a special form of .o? If it’s one of these, why not use .so or .o, as that ought to inform the linker as to what it needs to do with these files?