include ../../Make.inc
LIBDIR=../../lib
INCDIR=../../include
MODDIR=../../modules
PSBLAS_LIB= -L$(PSBLIBDIR)  -lpsb_util  -lpsb_base
#-lpsb_util -lpsb_krylov -lpsb_prec -lpsb_base 
LDLIBS=$(PSBLDLIBS)
#
# Compilers and such
#
#CCOPT= -g
FINCLUDES=$(FMFLAG)..  $(FMFLAG)$(MODDIR) $(FMFLAG)$(INCDIR) $(FIFLAG)..
CINCLUDES=-I$(GPU_INCDIR) -I$(CUDA_INCDIR)
LIBNAME=libpsb_gpu.a

OBJS= \
psb_d_cp_csrg_from_coo.o \
psb_d_cp_csrg_from_fmt.o \
psb_d_cp_elg_from_coo.o \
psb_d_cp_elg_from_fmt.o \
psb_s_cp_csrg_from_coo.o \
psb_s_cp_csrg_from_fmt.o \
psb_s_csrg_allocate_mnnz.o \
psb_s_csrg_csmm.o \
psb_s_csrg_csmv.o \
psb_s_csrg_mold.o \
psb_s_csrg_reallocate_nz.o \
psb_s_csrg_scal.o \
psb_s_csrg_scals.o \
psb_s_csrg_from_gpu.o \
psb_s_csrg_to_gpu.o \
psb_s_csrg_vect_mv.o \
psb_s_csrg_inner_vect_sv.o \
psb_d_csrg_allocate_mnnz.o \
psb_d_csrg_csmm.o \
psb_d_csrg_csmv.o \
psb_d_csrg_mold.o \
psb_d_csrg_reallocate_nz.o \
psb_d_csrg_scal.o \
psb_d_csrg_scals.o \
psb_d_csrg_from_gpu.o \
psb_d_csrg_to_gpu.o \
psb_d_csrg_vect_mv.o \
psb_d_csrg_inner_vect_sv.o \
psb_d_elg_allocate_mnnz.o \
psb_d_elg_asb.o \
psb_d_elg_csmm.o \
psb_d_elg_csmv.o \
psb_d_elg_csput.o \
psb_d_elg_from_gpu.o \
psb_d_elg_inner_vect_sv.o \
psb_d_elg_mold.o \
psb_d_elg_reallocate_nz.o \
psb_d_elg_scal.o \
psb_d_elg_scals.o \
psb_d_elg_to_gpu.o \
psb_d_elg_vect_mv.o \
psb_d_mv_csrg_from_coo.o \
psb_d_mv_csrg_from_fmt.o \
psb_d_mv_elg_from_coo.o \
psb_d_mv_elg_from_fmt.o \
psb_s_mv_csrg_from_coo.o \
psb_s_mv_csrg_from_fmt.o \
psb_s_cp_elg_from_coo.o \
psb_s_cp_elg_from_fmt.o \
psb_s_elg_allocate_mnnz.o \
psb_s_elg_asb.o \
psb_s_elg_csmm.o \
psb_s_elg_csmv.o \
psb_s_elg_csput.o \
psb_s_elg_inner_vect_sv.o \
psb_s_elg_mold.o \
psb_s_elg_reallocate_nz.o \
psb_s_elg_scal.o \
psb_s_elg_scals.o \
psb_s_elg_to_gpu.o \
psb_s_elg_from_gpu.o \
psb_s_elg_vect_mv.o \
psb_s_mv_elg_from_coo.o \
psb_s_mv_elg_from_fmt.o \
psb_s_cp_hlg_from_fmt.o \
psb_s_cp_hlg_from_coo.o \
psb_d_cp_hlg_from_fmt.o \
psb_d_cp_hlg_from_coo.o \
psb_d_hlg_allocate_mnnz.o \
psb_d_hlg_csmm.o \
psb_d_hlg_csmv.o \
psb_d_hlg_inner_vect_sv.o \
psb_d_hlg_mold.o \
psb_d_hlg_reallocate_nz.o \
psb_d_hlg_scal.o \
psb_d_hlg_scals.o \
psb_d_hlg_from_gpu.o \
psb_d_hlg_to_gpu.o \
psb_d_hlg_vect_mv.o \
psb_s_hlg_allocate_mnnz.o \
psb_s_hlg_csmm.o \
psb_s_hlg_csmv.o \
psb_s_hlg_inner_vect_sv.o \
psb_s_hlg_mold.o \
psb_s_hlg_reallocate_nz.o \
psb_s_hlg_scal.o \
psb_s_hlg_scals.o \
psb_s_hlg_from_gpu.o \
psb_s_hlg_to_gpu.o \
psb_s_hlg_vect_mv.o \
psb_s_mv_hlg_from_coo.o \
psb_s_cp_hlg_from_coo.o \
psb_s_mv_hlg_from_fmt.o \
psb_d_mv_hlg_from_coo.o \
psb_d_cp_hlg_from_coo.o \
psb_d_mv_hlg_from_fmt.o \
psb_s_hybg_allocate_mnnz.o \
psb_s_hybg_csmm.o \
psb_s_hybg_csmv.o \
psb_s_hybg_reallocate_nz.o \
psb_s_hybg_scal.o \
psb_s_hybg_scals.o \
psb_s_hybg_to_gpu.o \
psb_s_hybg_vect_mv.o \
psb_s_hybg_inner_vect_sv.o \
psb_s_cp_hybg_from_coo.o \
psb_s_cp_hybg_from_fmt.o \
psb_s_mv_hybg_from_fmt.o \
psb_s_mv_hybg_from_coo.o \
psb_s_hybg_mold.o \
psb_d_hybg_allocate_mnnz.o \
psb_d_hybg_csmm.o \
psb_d_hybg_csmv.o \
psb_d_hybg_reallocate_nz.o \
psb_d_hybg_scal.o \
psb_d_hybg_scals.o \
psb_d_hybg_to_gpu.o \
psb_d_hybg_vect_mv.o \
psb_d_hybg_inner_vect_sv.o \
psb_d_cp_hybg_from_coo.o \
psb_d_cp_hybg_from_fmt.o \
psb_d_mv_hybg_from_fmt.o \
psb_d_mv_hybg_from_coo.o \
psb_d_hybg_mold.o \
psb_z_cp_csrg_from_coo.o \
psb_z_cp_csrg_from_fmt.o \
psb_z_cp_elg_from_coo.o \
psb_z_cp_elg_from_fmt.o \
psb_c_cp_csrg_from_coo.o \
psb_c_cp_csrg_from_fmt.o \
psb_c_csrg_allocate_mnnz.o \
psb_c_csrg_csmm.o \
psb_c_csrg_csmv.o \
psb_c_csrg_mold.o \
psb_c_csrg_reallocate_nz.o \
psb_c_csrg_scal.o \
psb_c_csrg_scals.o \
psb_c_csrg_from_gpu.o \
psb_c_csrg_to_gpu.o \
psb_c_csrg_vect_mv.o \
psb_c_csrg_inner_vect_sv.o \
psb_z_csrg_allocate_mnnz.o \
psb_z_csrg_csmm.o \
psb_z_csrg_csmv.o \
psb_z_csrg_mold.o \
psb_z_csrg_reallocate_nz.o \
psb_z_csrg_scal.o \
psb_z_csrg_scals.o \
psb_z_csrg_from_gpu.o \
psb_z_csrg_to_gpu.o \
psb_z_csrg_vect_mv.o \
psb_z_csrg_inner_vect_sv.o \
psb_z_elg_allocate_mnnz.o \
psb_z_elg_asb.o \
psb_z_elg_csmm.o \
psb_z_elg_csmv.o \
psb_z_elg_csput.o \
psb_z_elg_inner_vect_sv.o \
psb_z_elg_mold.o \
psb_z_elg_reallocate_nz.o \
psb_z_elg_scal.o \
psb_z_elg_scals.o \
psb_z_elg_to_gpu.o \
psb_z_elg_from_gpu.o \
psb_z_elg_vect_mv.o \
psb_z_mv_csrg_from_coo.o \
psb_z_mv_csrg_from_fmt.o \
psb_z_mv_elg_from_coo.o \
psb_z_mv_elg_from_fmt.o \
psb_c_mv_csrg_from_coo.o \
psb_c_mv_csrg_from_fmt.o \
psb_c_cp_elg_from_coo.o \
psb_c_cp_elg_from_fmt.o \
psb_c_elg_allocate_mnnz.o \
psb_c_elg_asb.o \
psb_c_elg_csmm.o \
psb_c_elg_csmv.o \
psb_c_elg_csput.o \
psb_c_elg_inner_vect_sv.o \
psb_c_elg_mold.o \
psb_c_elg_reallocate_nz.o \
psb_c_elg_scal.o \
psb_c_elg_scals.o \
psb_c_elg_to_gpu.o \
psb_c_elg_from_gpu.o \
psb_c_elg_vect_mv.o \
psb_c_mv_elg_from_coo.o \
psb_c_mv_elg_from_fmt.o \
psb_c_cp_hlg_from_fmt.o \
psb_c_cp_hlg_from_coo.o \
psb_z_cp_hlg_from_fmt.o \
psb_z_cp_hlg_from_coo.o \
psb_z_hlg_allocate_mnnz.o \
psb_z_hlg_csmm.o \
psb_z_hlg_csmv.o \
psb_z_hlg_inner_vect_sv.o \
psb_z_hlg_mold.o \
psb_z_hlg_reallocate_nz.o \
psb_z_hlg_scal.o \
psb_z_hlg_scals.o \
psb_z_hlg_from_gpu.o \
psb_z_hlg_to_gpu.o \
psb_z_hlg_vect_mv.o \
psb_c_hlg_allocate_mnnz.o \
psb_c_hlg_csmm.o \
psb_c_hlg_csmv.o \
psb_c_hlg_inner_vect_sv.o \
psb_c_hlg_mold.o \
psb_c_hlg_reallocate_nz.o \
psb_c_hlg_scal.o \
psb_c_hlg_scals.o \
psb_c_hlg_from_gpu.o \
psb_c_hlg_to_gpu.o \
psb_c_hlg_vect_mv.o \
psb_c_mv_hlg_from_coo.o \
psb_c_cp_hlg_from_coo.o \
psb_c_mv_hlg_from_fmt.o \
psb_z_mv_hlg_from_coo.o \
psb_z_cp_hlg_from_coo.o \
psb_z_mv_hlg_from_fmt.o \
psb_c_hybg_allocate_mnnz.o \
psb_c_hybg_csmm.o \
psb_c_hybg_csmv.o \
psb_c_hybg_reallocate_nz.o \
psb_c_hybg_scal.o \
psb_c_hybg_scals.o \
psb_c_hybg_to_gpu.o \
psb_c_hybg_vect_mv.o \
psb_c_hybg_inner_vect_sv.o \
psb_c_cp_hybg_from_coo.o \
psb_c_cp_hybg_from_fmt.o \
psb_c_mv_hybg_from_fmt.o \
psb_c_mv_hybg_from_coo.o \
psb_c_hybg_mold.o \
psb_z_hybg_allocate_mnnz.o \
psb_z_hybg_csmm.o \
psb_z_hybg_csmv.o \
psb_z_hybg_reallocate_nz.o \
psb_z_hybg_scal.o \
psb_z_hybg_scals.o \
psb_z_hybg_to_gpu.o \
psb_z_hybg_vect_mv.o \
psb_z_hybg_inner_vect_sv.o \
psb_z_cp_hybg_from_coo.o \
psb_z_cp_hybg_from_fmt.o \
psb_z_mv_hybg_from_fmt.o \
psb_z_mv_hybg_from_coo.o \
psb_z_hybg_mold.o \
psb_d_cp_diag_from_coo.o \
psb_d_mv_diag_from_coo.o \
psb_d_diag_to_gpu.o \
psb_d_diag_csmv.o \
psb_d_diag_mold.o \
psb_d_diag_vect_mv.o \
psb_d_cp_hdiag_from_coo.o \
psb_d_mv_hdiag_from_coo.o \
psb_d_hdiag_to_gpu.o \
psb_d_hdiag_csmv.o \
psb_d_hdiag_mold.o \
psb_d_hdiag_vect_mv.o \
psb_s_cp_hdiag_from_coo.o \
psb_s_mv_hdiag_from_coo.o \
psb_s_hdiag_to_gpu.o \
psb_s_hdiag_csmv.o \
psb_s_hdiag_mold.o \
psb_s_hdiag_vect_mv.o \
psb_s_dnsg_mat_impl.o \
psb_d_dnsg_mat_impl.o \
psb_c_dnsg_mat_impl.o \
psb_z_dnsg_mat_impl.o 


objs: $(OBJS)
lib:  objs
	ar cur ../$(LIBNAME) $(OBJS)

clean:
	/bin/rm -f $(OBJS)
