####### # Makefile ARCH=(DEC|LINUX|IBMSP|JACQUARD) ####### ARCH=IBMSP ####### # Jacquard ####### JACQUARD_MPICC = mpicc JACQUARD_CC = pathcc JACQUARD_CXX = pathCC JACQUARD_F77 = pathf90 JACQUARD_CFLAGS = -O2 JACQUARD_LFLAGS = -lm ####### # IBM SP ####### IBMSP_MPICC = mpcc_r IBMSP_CC = xlc_r IBMSP_CXX = xlC_r IBMSP_F77 = xlf_r IBMSP_CFLAGS = -O2 IBMSP_LFLAGS = -lm ####### # GNU/Linux (mpich Compilers) ####### LINUX_MPICC = mpicc LINUX_CC = gcc LINUX_CXX = g++ LINUX_F77 = g77 LINUX_CFLAGS = -O2 LINUX_LFLAGS = -L/usr/local/lib -lm CFLAGS = $($(ARCH)_CFLAGS) LFLAGS = $($(ARCH)_LFLAGS) MPICC = $($(ARCH)_MPICC) $(CFLAGS) $(LFLAGS) CC = $($(ARCH)_CC) $(CFLAGS) $(LFLAGS) CXX = $($(ARCH)_CXX) $(CFLAGS) $(LFLAGS) F77 = $($(ARCH)_F77) $(CFLAGS) $(LFLAGS) all: 1D 3D 1D: xfftw_1d xfftw_1d xfftw_1d_fort xfftw_1d_cpp xfftw_1d_threads 3D: xfftw_3d_mpi xsfftw_3d_mpi xfftw_3d_mpi: xfftw_3d_mpi.c $(MPICC) $(FFTW) -o xdfftw_3d_mpi xfftw_3d_mpi.c -ldfftw_mpi -ldfftw $(MPICC) $(FFTW) -DSINGLE -o xsfftw_3d_mpi xfftw_3d_mpi.c -lsfftw_mpi -lsfftw xfftw_1d: xfftw_1d.c $(CC) $(FFTW) -o xdfftw_1d xfftw_1d.c -ldfftw $(CC) $(FFTW) -DSINGLE -o xsfftw_1d xfftw_1d.c -lsfftw xfftw_1d_threads: xfftw_1d_threads.c $(CC) $(FFTW) -o xdfftw_1d_threads xfftw_1d_threads.c -ldfftw_threads -ldfftw -lpthread $(CC) $(FFTW) -DSINGLE -o xsfftw_1d_threads xfftw_1d_threads.c -lsfftw_threads -lsfftw -lpthread xfftw_1d_fort: xfftw_1d_fort.f $(F77) $(FFTW) -o xdfftw_1d_fort xfftw_1d_fort.f -ldfftw $(F77) $(FFTW) -o xsfftw_1d_fort xfftw_1d_fort.f -lsfftw xfftw_1d_cpp: xfftw_1d_cpp.cpp $(CXX) $(FFTW) -o xdfftw_1d_cpp xfftw_1d_cpp.cpp -ldfftw $(CXX) $(FFTW) -DSINGLE -o xsfftw_1d_cpp xfftw_1d_cpp.cpp -lsfftw test: 1D 3D ./xdfftw_1d 1024 ./xsfftw_1d 1024 ./xdfftw_1d_threads 2 1024 ./xsfftw_1d_threads 2 1024 ./xdfftw_1d_fort ./xsfftw_1d_fort ./xdfftw_1d_cpp ./xsfftw_1d_cpp mpiexec -n 4 ./xdfftw_3d_mpi 32 2000 mpiexec -n 4 ./xsfftw_3d_mpi 32 2000 clean: rm -rf *.o xfftw_3d_mpi xsfftw_3d_mpi rm -rf xfftw_1d xfftw_1d_threads xfftw_1d_fort xfftw_1d_cpp xdfftw_1d_fort xdfftw_1d xdfftw_3d_mpi xsfftw_1d xsfftw_1d_fort xdfftw_1d_cpp xsfftw_1d_cpp xdfftw_1d xsfftw_1d xdfftw_1d_threads xsfftw_1d_threads