📄 makefile.template
字号:
#TOP LEVEL MAKEFILE FOR AZTEC LIBRARY#====================================================================# ------------------------# | CVS File Information |# ------------------------## $RCSfile: Makefile_dist_lib,v $## $Author: tuminaro $## $Date: 2000/06/02 16:49:21 $## $Revision: 1.28 $## $Name: $#====================================================================COMM = SERIALMACHINE = GENERICMPI_INCLUDE_DIR = ## ANSI C compiler#CC_GENERIC = ccCC_SUN4 = accCC_SOLARIS = ccCC_SGI = ccCC_SGIM4 = ccCC_SGI10K = ccCC_DEC = ccCC_I860 = iccCC_HP = ccCC_SUNMOS = siccCC_NCUBE = nccCC_SP2 = mpccCC_T3E = ccCC_LINUX = gccCC_TFLOP = pgcc -cougar## Fortran compiler#FC_GENERIC = f77FC_SUN4 = f77FC_SOLARIS = f77FC_SGI = f77FC_DEC = f77FC_SGIM4 = f77FC_SGI10K = f77FC_I860 = if77FC_HP = f77FC_SUNMOS = sif77FC_NCUBE = nccFC_SP2 = mpxlfFC_T3E = f90FC_LINUX = g77FC_TFLOP = pgf77 -cougar## Archive program#AR_GENERIC = arAR_SUN4 = arAR_SOLARIS = arAR_SGI = arAR_DEC = arAR_SGIM4 = arAR_SGI10K = arAR_I860 = ar860AR_HP = arAR_SUNMOS = ar860AR_NCUBE = narAR_SP2 = arAR_T3E = arAR_LINUX = arAR_TFLOP = xar## Ranlib program#RNLIB_GENERIC = touchRNLIB_SUN4 = ranlibRNLIB_SOLARIS = ranlibRNLIB_SGI = touchRNLIB_SGIM4 = touchRNLIB_SGI10K = touchRNLIB_DEC = touchRNLIB_I860 = touchRNLIB_HP = touchRNLIB_SUNMOS = touchRNLIB_NCUBE = touchRNLIB_SP2 = touchRNLIB_T3E = ranlibRNLIB_LINUX = ranlibRNLIB_TFLOP = xranlib## Machine dependent timing routine#TIME_GENERIC = md_timer_generic.cTIME_SUN4 = md_timer_sun.cTIME_SOLARIS = md_timer_sun.cTIME_SGI = md_timer_sun.cTIME_SGIM4 = md_timer_sun.cTIME_SGI10K = md_timer_sun.cTIME_DEC = md_timer_sun.cTIME_I860 = md_timer_intel.cTIME_HP = md_timer_generic.cTIME_SUNMOS = md_timer_intel.cTIME_NCUBE = md_timer_ncube.cTIME_SP2 = md_timer_generic.cTIME_T3E = md_timer_mpi.cTIME_LINUX = md_timer_sun.cTIME_TFLOP = md_timer_intel.c## Communication package#COMM_SERIAL = md_wrap_scalar_c.cCOMM_I860 = md_wrap_intel_c.cCOMM_MPI = md_wrap_mpi_c.cCOMM_NCUBE = md_wrap_ncube_c.cCOMM_SUNMOS = md_wrap_puma_c.c## Machine dependent fortran/C interface#CFORT_GENERIC = -Dappend_CFORT_SUN4 = -Dappend_CFORT_SOLARIS = -Dappend_CFORT_SGI = -Dappend_CFORT_SGIM4 = -Dappend_CFORT_SGI10K = -Dappend_CFORT_DEC = -Dappend_CFORT_I860 = -Dappend_CFORT_HP = -DmatchedCFORT_SUNMOS = -Dappend_CFORT_NCUBE = -DcapsCFORT_SP2 = -DmatchedCFORT_T3E = -DcapsCFORT_LINUX = -Dappend_CFORT_TFLOP = -Dappend_## Compilation flags#CFLAGS_GENERIC = -OCFLAGS_SUN4 = -O2 -vc -XcCFLAGS_SOLARIS= -O -vcCFLAGS_SGI = -O2 -n32CFLAGS_SGIM4 = -O -n32CFLAGS_SGI10K = -O -64 -r10000 # 64 bit mips processors (R10000)CFLAGS_DEC = -OCFLAGS_I860 = -O4CFLAGS_HP = -O4CFLAGS_SUNMOS = -O4CFLAGS_NCUBE = -OCFLAGS_SP2 = -O2CFLAGS_T3E = -O3 -DT3ECFLAGS_LINUX = -OCFLAGS_TFLOP = -O3FFLAGS_GENERIC = -OFFLAGS_SUN4 = -O2FFLAGS_SOLARIS= -O2FFLAGS_SGI = $(CFLAGS_SGI)FFLAGS_SGIM4 = $(CFLAGS_SGIM4)FFLAGS_SGI10K = $(CFLAGS_SGI10K)FFLAGS_DEC = $(CFLAGS_DEC)FFLAGS_I860 = $(CFLAGS_I860)FFLAGS_HP = -OFFLAGS_SUNMOS = $(CFLAGS_SUNMOS)FFLAGS_NCUBE = $(CFLAGS_NCUBE)FFLAGS_SP2 = $(CFLAGS_SP2)FFLAGS_T3E = -O3 -dpFFLAGS_LINUX = -OFFLAGS_TFLOP = -O3## Blas routines NOT supplied by vendor#BLAS_GENERIC = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_SUN4 = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_SOLARIS = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_SGI = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_SGIM4 = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_SGI10K = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_DEC = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_I860 =BLAS_HP = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_SUNMOS =BLAS_NCUBE = blas2.f blas3.f xerbla.f lsame.fBLAS_SP2 = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_T3E =BLAS_LINUX = blas1.f blas2.f blas3.f xerbla.f lsame.fBLAS_TFLOP = #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## No need to change the rest of this file when adding# a new machine to the makefile##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CC = $(CC_$(MACHINE))FC = $(FC_$(MACHINE))AR = $(AR_$(MACHINE))BLAS = $(BLAS_$(MACHINE))TIMER = $(TIME_$(MACHINE))COMMUNICATION = $(COMM_$(COMM))RNLIB = $(RNLIB_$(MACHINE))CFORT = $(CFORT_$(MACHINE))CFLAGS2 = $(CFLAGS_$(MACHINE))FFLAGS = $(FFLAGS_$(MACHINE))CFLAGS = $(CFLAGS2) $(CFORT) -DAZ_$(COMM) $(MPI_INCLUDE_DIR)# Aztec source codeAZ_SRC = az_bilu.c az_cg.c az_cgs.c \ az_cgstab.c az_check.c az_comm.c \ az_converge.c az_dd_overlap.c az_dgemv2.c \ az_dgemv3.c az_domain_decomp.c az_fortran_wrap.c \ az_scaling.c az_flop_cnt.c az_gmres.c \ az_gmresr.c az_ilu_util.c az_ilut.c \ az_interface.c az_lu_y12.c az_matrix_util.c \ az_matvec_mult.c az_old_matvec_mult.c az_pad_utils.c \ az_poly.c az_precond.c az_qmrcgs.c \ az_rilu.c az_solve.c az_sort.c \ az_subdomain_solver.c az_tools.c az_util.c \ az_icc.c az_fix_pt.cY12M = y12m.f y12mae.f y12maf.f \ y12mbe.f y12mbf.f y12mce.f \ y12mcf.f y12mde.f y12mdf.f \ y12mfe.f y12mge.f y12mhe.f \ y12cck.fLA_SRC = la_dgetrf.f la_dgetri.f la_ilaenv.f \ la_dgetf2.f la_dlaswp.f la_dtrtri.f \ la_dtrti2.f la_dgetrs.f la_dgeco.f \ la_dgedi.f la_dgefa.f la_dpotf2.f \ la_dpotrf.f la_dlamch.f la_dlaic1.f \ la_ieeeck.fSRC_F = $(LA_SRC) $(Y12M) $(BLAS) az_reorder.fSRC_C = $(AZ_SRC) $(TIMER) $(COMMUNICATION)OBJ = $(SRC_C:.c=.o) $(SRC_F:.f=.o)all: aztec###################################### Define implicit compilation rules #######################################%.o:%.f# $(FC) $(FFLAGS) -c $<#%.o:%.c# $(CC) $(CFLAGS) -c $<# solver libraryaztec: $(OBJ) @echo "Building library $(TARGET)" @rm -f libaztec.a $(AR) ruv libaztec.a $(OBJ) @$(RNLIB) libaztec.aclean: @echo "cleaning ..." /bin/rm -f *.o
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -