makefile.template
来自「并行解法器,功能强大」· TEMPLATE 代码 · 共 236 行
TEMPLATE
236 行
# TOP LEVEL MAKEFILE FOR LIB SAMPLE PROBLEMS#====================================================================# ------------------------# | CVS File Information |# ------------------------## $RCSfile: Makefile_dist_app,v $## $Author: tuminaro $## $Date: 2000/06/02 16:49:21 $## $Revision: 1.36 $## $Name: $#====================================================================COMM = SERIALMACHINE = GENERICMPI_INCLUDE_DIR =MPI_LIB = ## 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_SGIM4 = f77FC_SGI10K = f77FC_DEC = f77FC_I860 = if77FC_HP = ccFC_SUNMOS = sif77FC_NCUBE = nccFC_SP2 = mpxlfFC_T3E = f90FC_LINUX = g77FC_TFLOP = pgf77 -cougar## USE C or Fortran compiler to link#LD_GENERIC = $(CC_GENERIC)LD_SUN4 = $(FC_SUN4)LD_SOLARIS = $(FC_SOLARIS)LD_SGI = $(FC_SGI)LD_SGIM4 = $(FC_SGIM4)LD_SGI10K = $(FC_SGI10K)LD_DEC = $(CC_DEC)LD_I860 = $(CC_I860)LD_HP = $(CC_HP)LD_SUNMOS = $(CC_SUNMOS)LD_NCUBE = $(CC_NCUBE)LD_SP2 = $(CC_SP2)LD_T3E = $(CC_T3E)LD_LINUX = $(CC_LINUX)LD_TFLOP = $(CC_TFLOP)## 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 = -O -n32CFLAGS_SGIM4 = -O -n32CFLAGS_SGI10K = -O -64 -r10000CFLAGS_DEC = -O2CFLAGS_NCUBE = -OCFLAGS_HP = -O4CFLAGS_I860 = -O4CFLAGS_SUNMOS = -O4CFLAGS_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 = $(CFLAGS_LINUX)FFLAGS_TFLOP = $(CFLAGS_TFLOP)LDFLAGS_GENERIC = -OLDFLAGS_SUN4 = -O2LDFLAGS_SOLARIS = -O2LDFLAGS_SGI = -O2 -n32LDFLAGS_SGIM4 = -O -n32LDFLAGS_SGI10K = -O -64 -r10000LDFLAGS_DEC = -O2LDFLAGS_I860 = -O4LDFLAGS_HP = -O4LDFLAGS_SUNMOS = -O4LDFLAGS_NCUBE = -O -Nstack 40000 -Nheap 2800000 -Ncomm 200000LDFLAGS_SP2 = -OLDFLAGS_T3E = -O -Wl"-D equiv(DCOPY)=SCOPY;equiv(DDOT)=SDOT;equiv(DSQRT)=SQRT;equiv(DNRM2)=SNRM2;equiv(DSCAL)=SSCAL;equiv(DAXPY)=SAXPY;equiv(DASUM)=SASUM;equiv(IDAMAX)=ISAMAX;equiv(DSWAP)=SSWAP;equiv(DGEMV)=SGEMV;equiv(DGEMM)=SGEMM;equiv(DTRSM)=STRSM;equiv(DGER)=SGER;equiv(DTRMM)=STRMM;equiv(DTRMV)=STRMV;equiv(DSYRK)=SSYRK"LDFLAGS_LINUX = -OLDFLAGS_TFLOP = -O## Communication Libraries to link#CLIB_SERIAL =CLIB_I860 =CLIB_SUNMOS =CLIB_HP =CLIB_NCUBE =CLIB_MPI = $(MPI_LIB) LIB_SUN4 = -cg89LIB_SOLARIS = -L/opt/SUNWspro/lib -lnsl -lsocket -lgen -lnsl \ -lsocket -lgen -lM77 -lF77 -lsunmath -lmLIB_SGI = -lI77 -lF77 -lisamLIB_SGIM4 = -lI77 -lF77 -lisamLIB_SGI10K = LIB_DEC = -lots -lforLIB_I860 = -lkmath -lf -nxLIB_SUNMOS = -lkmath -lfLIB_NCUBE = -lblas -lfLIB_SP2 = -lxlf90LIB_T3E = LIB_LINUX = /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/libg2c.aLIB_TFLOP = -lkmath -lf# Choose the application you want to run:## 1) Standard MSR/VBR applicationOBJ = az_main.o az_examples.o az_app_utils.o## 2) Tutorial application# Choose one of the 3 depending on whether you want to see a "C" # application, a Fortran application using MPI, or a Fortran# application without MPI.# NOTE: You can only use 'az_tutorial_with_MPI.f' if you have MPI# and you can not use 'az_tutorial_without_MPI.f' with MPI.##OBJ = az_tutorial.o#OBJ = az_tutorial_with_MPI.o#OBJ = az_tutorial_without_MPI.o## 3) Matrix free application##OBJ = az_mat_free_main.o az_mat_free_example.o az_mat_free_com.o#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!## No need to change the rest of this file when adding# a new machine to the makefile##!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!CC = $(CC_$(MACHINE))FC = $(FC_$(MACHINE))CFORT = $(CFORT_$(MACHINE))CFLAGS2 = $(CFLAGS_$(MACHINE))FFLAGS2 = $(FFLAGS_$(MACHINE))LDFLAGS2 = $(LDFLAGS_$(MACHINE))LIB_MACH_DEP = $(CLIB_$(COMM)) $(LIB_$(MACHINE))LD_COMPILER = $(LD_$(MACHINE))MAX_MEM = 16731136GEN_CFLAGS = -I../lib -DMAX_MEM_SIZE=$(MAX_MEM) -DCOMM_BUFF_SIZE=200000 \ -DMAX_CHUNK_SIZE=200000GEN_LIBS = -L../lib -laztec -lmLDFLAGS = $(LDFLAGS2) $(GEN_LIBS) $(LIB_MACH_DEP)CFLAGS = $(CFLAGS2) $(CFORT) $(GEN_CFLAGS) -DAZ_$(COMM) $(MPI_INCLUDE_DIR)FFLAGS = $(FFLAGS2) $(MPI_INCLUDE_DIR) $(GEN_CFLAGS)# -D$(COMM) is used so that MPI_Init defined in# az_main.c gets compiled and so that MPI_Request# is defined properly.###################################### Define implicit compilation rules ######################################all: sample# application codesample: $(OBJ) $(LD_COMPILER) $(OBJ) $(LDFLAGS) -o sampleclean: @echo "cleaning ..." /bin/rm -f $(OBJ)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?