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,-DMPH,-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 ################## # for mph1 SRC1 = mph.F mph1/ccm.F mph1/pop.F mph1/cpl.F .F.o: $(F90) $(CPPOPTS) $(FFLAGS) -c $(CFOPTS) $< mph1: mph1/pop mph1/ccm mph1/cpl mph1/pop:mph.o mph1/pop.o $(LD) mph.o pop.o -o mph1/pop $(LIBS) mph1/ccm:mph.o mph1/ccm.o $(LD) mph.o ccm.o -o mph1/ccm $(LIBS) mph1/cpl:mph.o mph1/cpl.o $(LD) mph.o cpl.o -o mph1/cpl $(LIBS) ################## # for mph2a SRC2a = mph.F mph2a/master.F mph2a/ccm.F mph2a/pop.F mph2a/cpl.F OBJS2a = mph.o mph2a/master.o mph2a/ccm.o mph2a/pop.o mph2a/cpl.o mph2a: mph2a/master mph2a/master:$(OBJS2a) $(LD) mph.o master.o ccm.o pop.o cpl.o -o mph2a/master $(LIBS) ################# # for mph2b SRC2b = mph.F mph2b/master.F mph2b/ccm.F mph2b/pop.F mph2b/cpl.F OBJS2b = mph.o mph2b/master.o mph2b/ccm.o mph2b/pop.o mph2b/cpl.o mph2b: mph2b/master mph2b/master:$(OBJS2b) $(LD) mph.o master.o ccm.o pop.o cpl.o -o mph2b/master $(LIBS) miniclean: rm *.o *.mod clean: rm *.o *.mod mph1/ccm mph1/pop mph1/cpl mph2a/master mph2b/master