📄 makefile
字号:
# Makefile for Strassen codePRISM_BLAS_LIB=../../GotoBLAS/libgoto.aPRISM_MPI_ARCH=P4ARCH = $(PRISM_MPI_ARCH)include ../make_include/Make-$(ARCH).includeCFLAGS = $(OPTFLAGS) $(PRISM_DEFINES) -I../include -DSTRAS_NON_SQ # choices for CFLAGS above for export versions:# -DSTRAS_RANDOM -DSTRAS_NON_SQ -DSTRAS_ESSL -DSTRAS_CRAY # additional choices for CFLAGS above for CCS testing versions:# -DSTRAS_PRISM_TIME -DSTRAS_PLOT -DPRISM_MEM_CHK # -DSTRAS_TIME_PARTS -DSTRAS_DGEMMW -DINFILE# choices to be used as PRISM_DEFINES in Make-$(ARCH).include:# -DSTRAS_FORTRAN_ADD -DSTRAS_FORTRAN_SUB# _DSTRAS_ESSL_ADD -DSTRAS_ESSL_SUB # -DSTRAS_BLAS_ADD -DSTRAS_BLAS_SUB # -DPRISM_SP -DPRISM_SUN -DPRISM_CRAY -DPRISM_T3DFFLAGS = $(FOPTFLAGS)PROG = timefmmEXECS = $(PROG)_$(ARCH)LIB_PATH = ../libLIB = $(LIB_PATH)/stras_lib_$(ARCH).a#default: stras_testing stras_libdefault: stras_liball: defaulttesting: stras_testing.SUFFIXES: .f .c .o$(U_ARCH)# Use the following to incorporate Gropp's TR_TOOLS - NOT FOR EXPORT#OBJS_FMM = fmm_internal.o$(U_ARCH) fmm.o$(U_ARCH) DGEFMM.o$(U_ARCH) DGEFMM_MEM.o$(U_ARCH) gen_matrix.o$(U_ARCH) matrix.o$(U_ARCH) strassen_internal.o$(U_ARCH) matrix_arith.o$(U_ARCH) fixup_internal.o$(U_ARCH) timefmm.o$(U_ARCH) tr.o$(U_ARCH) $(OBJS_MACHINE) $(OBJS_CLOCK)OBJS_FMM = fmm_internal.o$(U_ARCH) fmm.o$(U_ARCH) DGEFMM.o$(U_ARCH) DGEFMM_MEM.o$(U_ARCH) gen_matrix.o$(U_ARCH) matrix.o$(U_ARCH) strassen_internal.o$(U_ARCH) matrix_arith.o$(U_ARCH) fixup_internal.o$(U_ARCH) timefmm.o$(U_ARCH) $(OBJS_MACHINE) $(OBJS_CLOCK) OBJS_LIB = fmm_internal.o$(U_ARCH) lib_fmm.o$(U_ARCH) DGEFMM.o$(U_ARCH) DGEFMM_MEM.o$(U_ARCH) matrix.o$(U_ARCH) matrix_arith.o$(U_ARCH) fixup_internal.o$(U_ARCH) strassen_internal.o$(U_ARCH) $(OBJS_MACHINE)LIBS = $(BLAS_LIB) -lm stras_testing: $(OBJS_FMM) $(CFLINKER) $(LFLAGS) -o $(EXECS) $(OBJS_FMM) $(LIBS)stras_lib: $(LIB_PATH) $(OBJS_LIB) lib_fmm.o$(U_ARCH) $(AR) $(LIB) $(OBJS_LIB) $(RANLIB) $(LIB)# default rules.c.o$(U_ARCH): $(CC) $(CFLAGS) -c $? if [ $(ARCH) != cray_t3d ] ; then \ mv $*.o $@ ; \ fimatrix_arith.o$(U_ARCH): matrix_arith.F# $(CPP) -P $(CPP_FLAGS) matrix_arith.F > matrix_arith.f $(F77) $(FFLAGS) -c matrix_arith.F if [ $(ARCH) != cray_t3d ] ; then \ mv matrix_arith.o $@ ; \ fi /bin/rm -f matrix_arith.f# Need to take care of fmm.c separately for library version since we need # to compile in cutoff = STRAS_CUTOFF herelib_fmm.o$(U_ARCH): fmm.c cp fmm.c lib_fmm.c $(CC) $(CFLAGS) -DSTRAS_LIB -c lib_fmm.c if [ $(ARCH) != cray_t3d ] ; then \ mv lib_fmm.o lib_fmm.o$(U_ARCH); \ fi /bin/rm -f lib_fmm.ctr.o$(U_ARCH): tr.c# Won't compile with xlc on RS6000 cc $(CFLAGS) -c tr.c if [ $(ARCH) != cray_t3d ] ; then \ mv $*.o $@ ; \ fi $(LIB_PATH): mkdir -p $(LIB_PATH)cleanobjs: /bin/rm -f *.o$(U_ARCH)clean: /bin/rm -f $(EXECS) *.o *.o$(U_ARCH) *~
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -