# # Makefile to build MPI examples in fortran, C and C++ for Blue Gene/L # # For Fortran, the MPI include file is mpif.h # For C, the MPI include file is mpi.h # For C++, needs 2 header files (place before stdio.h, iostream.h -- if used): # #include mpi.h # #include mpicxx.h # # (08/29/05) #################### # C # # Choose your C complier (blrts_xlc, blrts_gcc, etc) CC = blrts_xlc # Choose C options CCFLAGS = -O3 -qarch=440 -qtune=440 # Add your include directories here YOUR_C_INCLUDES = -I. # Add your libraries here (e.g. -Lpath_to_libfoo.a -lfoo) YOUR_C_LIBS = #################### # Fortran # # Choose your Fortran complier (blrts_xlf, blrts_g77, etc) F77 = blrts_xlf # Choose Fortran options # Note: blrts_g77 requires -fno-underscoring # F77FLAGS = -O3 -qarch=440 -qtune=440 # Add your include directories here YOUR_F77_INCLUDES = -I. # Add your libraries here (e.g. -Lpath_to_libfoo.a -lfoo) YOUR_F77_LIBS = #################### # C++ # # Choose your C++ complier (blrts_xlC, blrts_g++) CXX = blrts_xlC # Choose C++ options CXXFLAGS = -O3 -qarch=440 -qtune=440 # Add your include directories here YOUR_CXX_INCLUDES = -I. # Add your libraries here (e.g. -Lpath_to_libfoo.a -lfoo) YOUR_CXX_LIBS = #################### # You are on your own if you change anything in this section . # C_LIBS = -L/bgl/BlueLight/ppcfloor/bglsys/lib \ -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts \ $(YOUR_C_LIBS) C_INCLUDES = -I/bgl/BlueLight/ppcfloor/bglsys/include \ $(YOUR_C_INCLUDES) F77_LIBS = -L/bgl/BlueLight/ppcfloor/bglsys/lib \ -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts \ $(YOUR_F77_LIBS) F77_INCLUDES = -I/bgl/BlueLight/ppcfloor/bglsys/include \ $(YOUR_F77_INCLUDES) CXX_LIBS = -L/bgl/BlueLight/ppcfloor/bglsys/lib \ -lcxxmpich.rts -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts \ $(YOUR_CXX_LIBS) CXX_INCLUDES = -I/bgl/BlueLight/ppcfloor/bglsys/include \ $(YOUR_CXX_INCLUDES) #################### PROGS = example1 example1_1 example1_2 example1_3 example1_4 example1_5 default: $(PROGS) all: $(PROGS) example1: example1.f xlf -O3 -o $@ $< example1_1: example1_1.f $(F77) $(F77FLAGS) $(F77_INCLUDES) -o $@ $< $(F77_LIBS) example1_2: example1_2.f $(F77) $(F77FLAGS) $(F77_INCLUDES) -o $@ $< $(F77_LIBS) example1_3: example1_3.f $(F77) $(F77FLAGS) $(F77_INCLUDES) -o $@ $< $(F77_LIBS) example1_4: example1_4.f $(F77) $(F77FLAGS) $(F77_INCLUDES) -o $@ $< $(F77_LIBS) example1_5: example1_5.f $(F77) $(F77FLAGS) $(F77_INCLUDES) -o $@ $< $(F77_LIBS) clean: /bin/rm -f *.o *~ $(PROGS)