#============================================================================= #====================== SECTION 1: PATHS AND LIBRARIES ======================= #============================================================================= # The following macros specify the name and location of libraries required by # the BLACS and its tester. #============================================================================= # -------------------------------------- # Make sure we've got a consistent shell # -------------------------------------- SHELL = /bin/sh # ----------------------------- # The top level BLACS directory # ----------------------------- BTOPdir = $(HOME)/BLACS # --------------------------------------------------------------------------- # The communication library your BLACS have been written for. # Known choices (and the machines they run on) are: # # COMMLIB MACHINE # ....... .............................................................. # CMMD Thinking Machine's CM-5 # MPI Wide variety of systems # MPL IBM's SP series (SP1 and SP2) # NX Intel's supercomputer series (iPSC2, iPSC/860, DELTA, PARAGON) # PVM Most unix machines; See PVM User's Guide for details # --------------------------------------------------------------------------- COMMLIB = PVM # ------------------------------------------------------------- # The platform identifier to suffix to the end of library names # ------------------------------------------------------------- # PLAT = $(PVM_ARCH) PLAT = SGI5 # ---------------------------------------------------------- # Name and location of the BLACS library. See section 2 for # details on BLACS debug level (BLACSDBGLVL). # ---------------------------------------------------------- BLACSdir = $(BTOPdir)/LIB BLACSDBGLVL = 0 BLACSLIB = $(BLACSdir)/blacs_$(COMMLIB)-$(PLAT)-$(BLACSDBGLVL).a # ------------------------------------- # Name and location of the PVM library. # ------------------------------------- PVMdir = $(PVM_ROOT) PVMLIBdir = $(PVMdir)/lib/$(PLAT) PVMINCdir = $(PVMdir)/include PVMLIB = $(PVMLIBdir)/libfpvm3.a $(PVMLIBdir)/libpvm3.a # ------------------------------------- # All libraries required by the tester. # ------------------------------------- BTLIBS = $(BLACSLIB) $(PVMLIB) # ---------------------------------------------------------------- # The directory to put the installation help routines' executables # ---------------------------------------------------------------- INSTdir = $(HOME)/pvm3/bin/$(PLAT) # ------------------------------------------------ # The name and location of the tester's executable # ------------------------------------------------ TESTdir = $(HOME)/pvm3/bin/$(PLAT) FTESTexe = $(TESTdir)/xFbtest_$(COMMLIB)-$(BLACSDBGLVL) CTESTexe = $(TESTdir)/xCbtest_$(COMMLIB)-$(BLACSDBGLVL) #============================================================================= #=============================== End SECTION 1 =============================== #============================================================================= #============================================================================= #========================= SECTION 2: BLACS INTERNALS ======================== #============================================================================= # The following macro definitions set preprocessor values for the BLACS. # The file Bconfig.h sets these values if they are not set by the makefile. # User's compiling only the tester can skip this entire section. #============================================================================= # ----------------------------------------------------------------------- # The directory to find the required communication library include files, # if they are required by your system. # ----------------------------------------------------------------------- SYSINC = -I$(PVMINCdir) # --------------------------------------------------------------------------- # The Fortran 77 to C interface to be used. If you are unsure of the correct # setting for your platform, compile and run BLACS/INSTALL/xintface. # Choices are: Add_, NoChange, UpCase, or f77IsF2C. # --------------------------------------------------------------------------- INTFACE = -DAdd_ # -------------------------------------------------------------------- # By default, the BLACS use getrusage() to determine cputime. If this # is not satisfactory, can use times() instead, by substituting the # following line for the empty macro definition below. # WHICHTIMER = -DUseTIMES # -------------------------------------------------------------------- WHICHTIMER = # ----------------------------------------------------------------- # If you want output to go to your /tmp/pvml. files instead of # to process 0's standard out, substitute the following line for # the empty macro definition below. # CATCHOUT = -DBLACSNoCatchout # ----------------------------------------------------------------- CATCHOUT = # ------------------------------------------------------------------ # These macros set the debug level for the BLACS. The fastest # code is produced by BlacsDebugLvl 0. Higher levels provide # more debug information at the cost of performance. Present levels # of debug are: # 0 : No debug information # 1 : Mainly parameter checking. # ------------------------------------------------------------------ DEBUGLVL = -DBlacsDebugLvl=$(BLACSDBGLVL) # ------------------------------------------------------------------------- # All BLACS definitions needed for compile (DEFS1 contains definitions used # by all BLACS versions). # ------------------------------------------------------------------------- DEFS1 = -DSYSINC $(SYSINC) $(INTFACE) $(DEFBSTOP) $(DEFCOMBTOP) $(DEBUGLVL) BLACSDEFS = $(DEFS1) $(CATCHOUT) $(WHICHTIMER) #============================================================================= #=============================== End SECTION 2 =============================== #============================================================================= #============================================================================= #=========================== SECTION 3: COMPILERS ============================ #============================================================================= # The following macros specify compilers, linker/loaders, the archiver, # and their options. Some of the fortran files need to be compiled with no # optimization. This is the F77NO_OPTFLAG. The usage of the remaining # macros should be obvious from the names. #============================================================================= F77 = f77 F77NO_OPTFLAGS = F77FLAGS = $(F77NO_OPTFLAGS) -O3 F77LOADER = $(F77) F77LOADFLAGS = CC = gcc CCFLAGS = -O2 CCLOADER = $(CC) CCLOADFLAGS = # -------------------------------------------------------------------------- # The archiver and the flag(s) to use when building an archive (library). # Also the ranlib routine. If your system has no ranlib, set RANLIB = echo. # -------------------------------------------------------------------------- ARCH = ar ARCHFLAGS = r RANLIB = echo #============================================================================= #=============================== End SECTION 3 =============================== #=============================================================================