OPT += -DPMGRID=2560 OPT += -DWALLCLOCK OPT += -DFOF OPT += -DTWOPOINT OPT += -DPOWERSPEC OPT += -DOUTPUT_LONGRANGE_POTENTIAL #OPT += -DDOUBLEPRECISION #OPT += -DDOUBLEPRECISION_FFTW #OPT += -DNOTREERND #OPT += -DNOSTOP_WHEN_BELOW_MINTIMESTEP #OPT += -DT3E #OPT += -DNOTYPEPREFIX_FFTW #OPT += -DMAKEGLASS=1000000 # if a value is assigned to MAKEGLASS, a glass is generated # with this number of particles, otherwise a file is read #OPT += -DASMTH=1.25 # Can be used to override default value of 1.25 #OPT += -DRCUT=4.5 # Can be used to override default value of 4.5 OPT += -DGROUP_MIN_LEN=20 # Can be used to override default minimum particle number of 32 in groups #OPT += -DLINKLENGTH=0.2 # Can be used to override default linking length of 0.2 OPT += -DDOMAINLEVELS=5 # For Millennium run: Override default value of 4 with 5 OPT += -DHASHBITS=8 # For Millennium run: Override default value of 6 with 8 OPT += -DFRACTION_TP=2.0 # for Millennium run: Override with 2.0 OPT += -DNODES=16 OPT += -DPROCSPERNODE=32 #OPT += -DHPM SYSTYPE="Regatta" #SYSTYPE="RZG_LinuxCluster" #SYSTYPE="RZG_LinuxCluster-gcc" #SYSTYPE="MPA" #SYSTYPE="Solaris" CC = mpicc # sets the C-compiler (default) OPTIMIZE = -O3 -Wall # optimization and warning flags (default) ifeq ($(SYSTYPE),"MPA") GSL_INCL = -I/usr/common/pdsoft/include GSL_LIBS = -L/usr/common/pdsoft/lib endif ifeq ($(SYSTYPE),"Regatta") CC = mpcc_r # sets the C-compiler OPTIMIZE = -O5 -qstrict -qipa -q64 -g GSL_INCL = -I/afs/ipp-garching.mpg.de/u/vrs/gsl_psi64/include -I/afs/rzg/@sys/lib/include GSL_LIBS = -L/afs/ipp-garching.mpg.de/u/vrs/gsl_psi64/lib FFTW_INCL= -I/afs/ipp-garching.mpg.de/u/vrs/fftw_psi64/include FFTW_LIBS= -L/afs/ipp-garching.mpg.de/u/vrs/fftw_psi64/lib -qipa -q64 endif ifeq ($(SYSTYPE),"RZG_LinuxCluster") CC = mpicci # sets the C-compiler OPTIMIZE = -O3 -ip GSL_INCL = -I/afs/ipp-garching.mpg.de/u/vrs/gsl_linux/include GSL_LIBS = -L/afs/ipp-garching.mpg.de/u/vrs/gsl_linux/lib -static FFTW_INCL= -I/afs/ipp-garching.mpg.de/u/vrs/fftw_linux/include FFTW_LIBS= -L/afs/ipp-garching.mpg.de/u/vrs/fftw_linux/lib endif ifeq ($(SYSTYPE),"RZG_LinuxCluster-gcc") CC = /afs/ipp-garching.mpg.de/u/vrs/bin/mpiccf # sets the gcc C-compiler OPTIMIZE = -O3 -Wall GSL_INCL = -I/afs/ipp-garching.mpg.de/u/vrs/gsl_linux_gcc3.2/include GSL_LIBS = -L/afs/ipp-garching.mpg.de/u/vrs/gsl_linux_gcc3.2/lib FFTW_INCL= -I/afs/ipp-garching.mpg.de/u/vrs/fftw_linux_gcc3.2/include FFTW_LIBS= -L/afs/ipp-garching.mpg.de/u/vrs/fftw_linux_gcc3.2/lib endif ifeq ($(SYSTYPE),"Solaris") CC = mpcc # sets the C-compiler OPTIMIZE = -i -fast -xvector -xarch=v9b -xchip=ultra3 -xcache=64/32/4:8192/512/1 -I/opt/local/include GSL_INCL = -I/opt/local/include/gsl GSL_LIBS = -L/opt/local/lib/sparcv9 FFTW_INCL= -I/opt/local/include FFTW_LIBS= -L/opt/local/lib/sparcv9 endif EXEC = L-Gadget2 OBJS = memtest.o sendrecv.o main.o mymalloc.o fof.o run.o predict.o begrun.o endrun.o global.o \ init.o restart.o io.o accel.o read_ic.o twopoint.o \ system.o allocate.o gravtree.o driftfac.o \ domain.o allvars.o forcetree.o peano.o pm_periodic.o INCL = allvars.h proto.h forcetree.h domain.h fof.h #Makefile CFLAGS = $(OPTIMIZE) $(OPT) $(GSL_INCL) $(FFTW_INCL) ifeq (NOTYPEPREFIX_FFTW,$(findstring NOTYPEPREFIX_FFTW,$(OPT))) # fftw installed with type prefix? FFTW_LIB = $(FFTW_LIBS) -lrfftw_mpi -lfftw_mpi -lrfftw -lfftw else ifeq (DOUBLEPRECISION_FFTW,$(findstring DOUBLEPRECISION_FFTW,$(OPT))) FFTW_LIB = $(FFTW_LIBS) -ldrfftw_mpi -ldfftw_mpi -ldrfftw -ldfftw else FFTW_LIB = $(FFTW_LIBS) -lsrfftw_mpi -lsfftw_mpi -lsrfftw -lsfftw endif endif LIBS = -g -lm $(GSL_LIBS) -lgsl -lgslcblas $(FFTW_LIB) ifeq ($(SYSTYPE),"Solaris") LIBS = -R/opt/local/lib/sparcv9 -lm -lmpi $(GSL_LIBS) -lgsl -lgslcblas $(FFTW_LIB) endif ifeq ($(SYSTYPE),"Regatta") ifeq (HPM,$(findstring HPM,$(OPT))) LIBS = -L/afs/rzg/@sys/lib -lhpm -lpmapi -lm $(GSL_LIBS) -lgsl -lgslcblas $(FFTW_LIB) endif endif $(EXEC): $(OBJS) $(CC) $(OPTIMIZE) $(OBJS) $(LIBS) -o $(EXEC) $(OBJS): $(INCL) clean: rm -f $(OBJS) $(EXEC)