SYSTEM=$(shell uname -s) ################## # for IBM # for NERSC IBM, you need to use $TMPDIR to workaround with F90 modules # for other IBM, you may need to use "CFOPTS=" instead of the long line. ifeq ($(SYSTEM),AIX) F90 = mpxlf90_r CPPOPTS = -WF,-DAIX LD = mpxlf90_r CFOPTS = -qmoddir=$(TMPDIR) -I$(TMPDIR) #CFOPTS = FFLAGS = -qfixed -qarch=pwr3 -O3 -qstrict endif ################## # for CRAY T3E # for CRAY machines, the "uname" command returns "sn6711" (which is the machine # serial number) instead of "CRAY" or "T3E" or "SV1", etc. ifeq ($(SYSTEM),sn6711) #ifeq ($(SYSTEM),CRAY) F90 = f90 CPPOPTS = -DMPH -Dsn6711 LD = f90 CFOPTS = FFLAGS = -O3 endif ################## # for SGI ifeq ($(SYSTEM),IRIX64) F90 = f90 CPPOPTS = -DMPH -DIRIX64 LD = f90 LIBS = -lmpi FFLAGS = -r8const -r8 -i4 -O2 -r10000 -n32 -I/usr/local/include -I$(MPT_SGI)/usr/include endif ################## # for Compaq ifeq ($(SYSTEM),OSF1) F90 = f90 CPPOPTS = -DMPH -DOSF1 LD = f90 LIBS = -lmpi -lelan -lelan3 CFOPTS = FFLAGS = -O4 -fast -arch ev6 -real_size 64 -fpe1 -convert big_endian endif ################## SRC = redirect.F main.F OBJS = redirect.o main.o .F.o: $(SRC) $(F90) $(CPPOPTS) $(FFLAGS) -c $(CFOPTS) $< main: $(OBJS) $(LD) $(OBJS) -o main clean: rm $(OBJS) main