include ../Make.inc #CC=mpicc #FC=mpif90 #FCOPT=-O0 -march=native #OFFLOAD=-fopenacc -foffload=nvptx-none="-march=sm_70" LIBDIR=../lib INCDIR=../include MODDIR=../modules IMPLDIR=./impl INCLUDES=-I$(LIBDIR) -I$(INCDIR) -I$(MODDIR) FINCLUDES=$(FMFLAG). $(FMFLAG)$(INCDIR) $(FMFLAG)$(MODDIR) $(FIFLAG). CINCLUDES= #LIBS=-L$(LIBDIR) -lpsb_util -lpsb_ext -lpsb_base -lopenblas -lmetis FOBJS= psb_i_oacc_vect_mod.o \ psb_s_oacc_vect_mod.o psb_s_oacc_csr_mat_mod.o \ psb_d_oacc_vect_mod.o psb_d_oacc_csr_mat_mod.o \ psb_c_oacc_vect_mod.o psb_c_oacc_csr_mat_mod.o \ psb_z_oacc_vect_mod.o psb_z_oacc_csr_mat_mod.o \ psb_oacc_mod.o psb_oacc_env_mod.o LIBNAME=libpsb_openacc.a OBJS=$(COBJS) $(FOBJS) lib: objs ilib ar cur $(LIBNAME) $(OBJS) /bin/cp -p $(LIBNAME) $(LIBDIR) objs: $(OBJS) iobjs /bin/cp -p *$(.mod) $(MODDIR) iobjs: $(OBJS) $(MAKE) -C impl objs ilib: $(OBJS) $(MAKE) -C impl lib psb_oacc_mod.o : psb_i_oacc_vect_mod.o \ psb_s_oacc_vect_mod.o psb_s_oacc_csr_mat_mod.o \ psb_d_oacc_vect_mod.o psb_d_oacc_csr_mat_mod.o \ psb_c_oacc_vect_mod.o psb_c_oacc_csr_mat_mod.o \ psb_z_oacc_vect_mod.o psb_z_oacc_csr_mat_mod.o \ psb_oacc_env_mod.o psb_s_oacc_vect_mod.o psb_d_oacc_vect_mod.o \ psb_c_oacc_vect_mod.o psb_z_oacc_vect_mod.o : psb_i_oacc_vect_mod.o psb_s_oacc_csr_mat_mod.o: psb_s_oacc_vect_mod.o psb_d_oacc_csr_mat_mod.o: psb_d_oacc_vect_mod.o psb_c_oacc_csr_mat_mod.o: psb_c_oacc_vect_mod.o psb_z_oacc_csr_mat_mod.o: psb_z_oacc_vect_mod.o clean: cclean iclean /bin/rm -f $(FOBJS) *$(.mod) *.a veryclean: clean cclean: /bin/rm -f $(COBJS) iclean: $(MAKE) -C impl clean .c.o: $(CC) $(CCOPT) $(CCOPENACC) $(CINCLUDES) $(CDEFINES) -c $< -o $@ .f90.o: $(FC) $(FCOPT) $(FCOPENACC) $(FINCLUDES) -c $< -o $@ .F90.o: $(FC) $(FCOPT) $(FCOPENACC) $(FINCLUDES) $(FDEFINES) -c $< -o $@ .cpp.o: $(CXX) $(CXXOPT) $(CXXOPENACC) $(CXXINCLUDES) $(CXXDEFINES) -c $< -o $@