#SHELL=/bin/sh OBJS= fly_h.o fly.o open_mpi_win.o close_mpi_win.o null.o error.o \ sys_init.o read_params.o read_redsh.o\ read_b_asc.o read_b_bin.o ini_bal.o init_pars.o init_ew.o \ init_pos.o reset_pos.o inpar_dyn.o step.o step_force.o \ tree_build.o tree_sort.o ch_all.o ch_dall.o \ tree_gen.o find_group.o \ cell_prop.o acc_comp.o \ ilist_group.o force_group.o force.o ilist.o upd_pos.o upd_vel.o \ wr_native.o write_b_asc.o write_b_bin.o out_32.o leapf_corr.o \ io.o ch_linee.o dt_comp.o \ flashBlockToFlyCell.o findParticlesInCell.o density_send.o # Tunable parameters # # CF Name of the fortran compiling system to use # LDFLAGS Flags to the loader # LIBS List of libraries # CMD Name of the executable # PROFLIB Library needed for profiling # CF = mpif90 # mpxlf90_r LD = $(CF) CC = mpicc # xlc #libraries #LIBS= -lmass #LIBS = -L/cineca/prod/vampir/lib -lVT -lld #LIBS = -L/cineca/prod/mpi_trace -lmpiprof #LIBS = -L. -lturbo2 LIBS = -CU -L/opt/gm/lib/ -L. #OPT = -O4 -qstrict -qarch=pwr3 -qtune=pwr3 -qrealsize=8 -qfixed=100 #OPT = -CU -O0 -r8 -w95 -Vaxlib -static -I/usr/local/include # -qrealsize=8 -qfixed=100 #OPT1 = -O0 -r8 -w95 -Vaxlib -static -I/usr/local/include # -qrealsize=8 -qfixed=100 #OPT2 = -O0 -r8 -w95 -Vaxlib -static #-I/usr/local/include # -qrealsize=8 -qfixed=100 OPT = -O3 -tpp7 -static -xN # -I/obpt/mpich2/1.0/intel81/include # -I/usr/local/mpich2-1.0/include # -qrealsize=8 -qfixed=132 OPT1 = -O3 -tpp7 -xN -static # -I/opt/mpich2/1.0/intel81/include # -I/usr/local/mpich2-1.0/include # -qrealsize=8 -qfixed=132 OPT2 = -O3 -tpp7 -xN -static #LDFLAGS = $(OPT) -bmaxdata:1000000000 -bmaxstack:1000000 #LDFLAGS = $(OPT) -bmaxdata:0x70000000 #-qtbtable=full LDFLAGS = $(OPT) # To perform the default compilation, use the first line # To compile with flowtracing turned on, use the second line # To compile giving profile additonal information, use the third line # WARNING: SIMULTANEOUSLY PROFILING AND FLOWTRACING IS NOT RECOMMENDED CMD = /scratch/inact005/ube/bin_2m/FLY_mpi_ FFLAGS = $(OPT) #-DFLASH # -DSTA # -DSORT FFLAGS1 = $(OPT1) # -DFLASH # -DSTA # -DSORT FFLAGS2 = $(OPT2) # -DFLASH # -DSTA # -DSORT CFLAGS = # Lines from here on down should not need to be changed. They are the # actual rules which make uses to build a.out. # all: $(CMD) .SUFFIXES : .SUFFIXES : .o .F90 .c $(OBJS): fly_h.F90 .F90.o : $(CF) $(FFLAGS) -c $< .c.o : $(CC) $(CFLAGS) -c $< $(CMD): $(OBJS) $(LD) $(LDFLAGS) -o $(@) $(OBJS) $(LIBS) # Make the profiled version of the command and call it a.out.prof # $(CMD).prof: $(OBJS) $(CF) $(LDFLAGS) -o $(@) $(OBJS) $(PROFLIB) $(LIBS) clean: -rm -f $(OBJS) clobber: clean -rm -f $(CMD) $(CMD).prof void: clobber -rm -f $(SRCS) makefile