# Generated automatically from Makefile.in by configure. ALL: bad bounce irecvsend SHELL = /bin/sh OPT = -O MPICC=mpicc MPIRUN=mpirun -maxtime 5 SRCFILES=bad.c bounce.c irecvsend.c overlap.c jac.c OBJFILES= bad: bad.o $(MPICC) -o bad $(OPT) bad.o -lm bad.log: bad.o $(MPICC) -o bad.log -mpilog $(OPT) \ bad.o -lm irecvsend: $(OBJFILES) $(MPICC) -o irecvsend $(OPT) irecvsend.o -lm irecvsend.log: $(OBJFILES) $(MPICC) -o irecvsend.log -mpilog $(OPT) \ irecvsend.o -lm bounce.log: bounce.o $(MPICC) -o bounce.log -mpilog $(OPT) \ bounce.o -lm bounce: bounce.o $(MPICC) -o bounce $(OPT) bounce.o -lm isendrecv: isendrecv.o $(MPICC) -o isendrecv $(OPT) isendrecv.o -lm isendrecv.log: isendrecv.o $(MPICC) -o isendrecv.log -mpilog $(OPT) \ overlap: overlap.o $(MPICC) -o overlap $(OPT) overlap.o -lm overlap.log: overlap.o $(MPICC) -o overlap.log -mpilog $(OPT) \ overlap.o -lm jac: jac.o $(MPICC) -o jac $(OPT) jac.o -lm jac.log: jac.o $(MPICC) -o jac.log -mpilog $(OPT) \ jac.o -lm jacnap: jacnap.o $(MPICC) -o jacnap $(OPT) jacnap.o -lm jacnap.log: jacnap.o $(MPICC) -o jacnap.log -DDO_LOG -mpilog $(OPT) \ jacnap.c -lm # # An important part of understanding the behavior of these programs is # creating and examining the trace or log files of the operations. The # following targets generate the log files by using a feature of the MPICH # implementation (automatic generation with the -mpilog switch when linking). # There are 4 versions: # profile.alog - A simple version for a single log # profile.$()... - A version for runs with different numbers of processors, # machines, and problem sizes # profile-nopoll. - A version like profile.$()..., but uses the -nopoll # switch to change how an MPI implementation reacts # to control messages. # profile.alog: bad.log $(MPIRUN) -np 4 -mvhome -mvback bad.log_profile.log bad.log /bin/mv -f bad.log_profile.log profile.alog # Use this for a particular machine profile.$(MACH)-$(NP)-$(MAXN).alog: bad.log $(MPIRUN) -np $(NP) -mvhome -mvback bad.log_profile.log bad.log \ -n $(MAXN) -maxit 25 /bin/mv -f bad.log_profile.log profile.$(MACH)-$(NP)-$(MAXN).alog # Use this for a particular machine profile-nopoll.$(MACH)-$(NP)-$(MAXN).alog: bad.log $(MPIRUN) -np $(NP) -nopoll -mvhome -mvback bad.log_profile.log \ bad.log -n $(MAXN) -maxit 25 /bin/mv -f bad.log_profile.log \ profile-nopoll.$(MACH)-$(NP)-$(MAXN).alog # # The doall... targets run the tests, generating profiling information, # for this examples and all related ones. # doall - Default tests (Bad with convergence tests) # doallnopoll - doall but with -nopoll to mpirun # doall: @if [ -s related.lst ] ; then \ for dir in . `cat related.lst` ; do \ ( cd $$dir ; echo $$dir ; cat title.txt ; \ make MACH=$(MACH) OPT=$(OPT) NP=$(NP) MAXN=$(MAXN) \ profile.$(MACH)-$(NP)-$(MAXN).alog ) ; done ; \ else \ make MACH=$(MACH) OPT=$(OPT) NP=$(NP) MAXN=$(MAXN) \ profile.$(MACH)-$(NP)-$(MAXN).alog ; \ fi doallnopoll: @if [ -s related.lst ] ; then \ for dir in . `cat related.lst` ; do \ ( cd $$dir ; echo $$dir ; cat title.txt ; \ make MACH=$(MACH) OPT=$(OPT) NP=$(NP) MAXN=$(MAXN) \ profile-nopoll.$(MACH)-$(NP)-$(MAXN).alog ) ; done ; \ else \ make MACH=$(MACH) OPT=$(OPT) NP=$(NP) MAXN=$(MAXN) \ profile-nopoll.$(MACH)-$(NP)-$(MAXN).alog ; \ fi compilealllog: @if [ -s related.lst ] ; then \ for dir in . `cat related.lst` ; do \ ( cd $$dir ; echo $$dir ; cat title.txt ; \ make OPT=$(OPT) bad.log ; ) ; done ; \ else \ make OPT=$(OPT) bad.log ; \ fi .c.o: $(MPICC) -c $(OPT) $(DEFN) $*.c cleanlocal: /bin/rm -f bad bad.log irecvsend overlap jac bounce jacnap \ overlap.log bounce.log irecvsend.log jac.log jacnap.log overlap2 \ *.o clean: cleanlocal if [ -s related.lst ] ; then \ for dir in `cat related.lst` ; do \ ( cd $$dir ; make clean ) ; done ; fi output: $(MPICC) -o bad $(OPT) bad.c -lm $(MPIRUN) -np 3 bad