# # Makefile for 3+1 transverse lattice program # The case 3+1 is forced by the compiler directive -DHINDEX=2 # # poe mpilaso -nodes 1 -tasks_per_node 8 -rmpool 1 -mp_shared_memory yes # # mpich command line: # (the following should work with mpich, # but stdin etc. do not seem to get redirected.) # mpirun -np 13 -stdin junk.in -stdout junk.tmp -stderr junk.err junk # # However, the following does work: # -dbg=gdb is debugger version #mpirun -np 2 -machinefile barak:2 mpilaso < laso.in # testmpi: joel mpirun -np 6 -v joel &test.tmp # #--------------------------------------------------------------------------- # machine-dependant function names and flags include Make.inc # # Search path to find files VPATH=../davecode # # directory with standard source files (dnlaso.f, etc.) # that are not in LAPACK or BLAS. # LIBDIRS=-L../lib/ # # $(DEBUG) is debugger option CFLAGS=$(DEBUG) $(COPTS) -DHINDEX=2 FFLAGS=$(DEBUG) $(FOPTS) $(DFLAG)HINDEX=2 # # generate a version of code using MPI # %_mpi.o: %.c $(MPICC) -c $(CFLAGS) -DUSE_MPI=1 -o $@ $< mpiobjects = usempi_mpi.o improved_mpi.o \ interact_glue.o interact_source.o \ interact_meson.o hamilton_mpi.o\ group.o basis.o basis_add.o weights.o spectrum_mpi.o extrapolate.o \ op_mpi.o row.o objects = interact_glue.o interact_source.o \ hamilton.o group.o basis.o basis_add.o weights.o improved.o \ spectrum.o extrapolate.o op.o row.o interact_meson.o cobjects = interact_glue.c.o \ interact_source.c.o interact_meson.c.o hamilton.c.o group.c.o \ basis.c.o weights.o improved.c.o extrapolate.c.o spectrum.c.o \ row.c.o op.c.o tb: testbasis.o basis.o group.o basis_add.o $(CC) $(CFLAGS) -o tb testbasis.o basis.o basis_add.o group.o -lm ti: testinteraction.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o ti testinteraction.o $(objects) $(LIBS) laso: runlaso.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o laso runlaso.o $(objects)\ $(LIBS) mpilaso: runlaso_mpi.o $(mpiobjects) $(MPIFC) $(FFLAGS) $(LIBDIRS) -o mpilaso runlaso_mpi.o \ $(mpiobjects) -lplanso $(LIBS) structure: structure.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o structure structure.o $(objects)\ $(LIBS) monster: monster.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o monster monster.o $(objects) $(LIBS) wind: wind.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o wind wind.o $(objects) $(LIBS) mpiwind: wind.mpi.o $(mpiobjects) $(MPIFC) $(FFLAGS) $(LIBDIRS) -o mpiwind wind.mpi.o\ $(mpiobjects) $(LIBS) christiaan c: christiaan.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o christiaan christiaan.o\ $(objects) $(LIBS) jessica jessica3: jessica3.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o jessica jessica3.o $(objects) $(LIBS) joel: jessica3_mpi.o $(mpiobjects) $(MPIFC) $(FFLAGS) $(LIBDIRS) -o joel jessica3_mpi.o \ $(mpiobjects) $(LIBS) disperse: disperse.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o disperse disperse.o $(objects) $(LIBS) baba: baba.o $(objects) $(FC) $(FFLAGS) $(LIBDIRS) -o baba baba.o $(objects) $(LIBS) # # Header file dependencies. # $(objects) testbasis.o testinteraction.o runlaso.o monster.o\ wind.o jessica3.o *.mpi.o: include.h %.c: %.h interact*.o improved.o hamilton.o: interact.h basis.o testbasis.o extrapolate.o hamilton.o improved.o interact*.o row.o: basis.h improved.o: improved.h runlaso.o: spectrum.h jessica3.o extrapolate.o: extrapolate.h spectrum.o hamilton.o: hamilton.h basis.h: group.h runlaso.o testbasis.o extrapolate.o improved.o: fortran.h *_mpi.o: usempi.h # There seems to be some trouble with DNLASO with memory # alignment. I still haven't tracked down the cause. # # dnlaso is written in FORTRAN IV =? FORTRAN 66 # -Wall is all warnings # -k is keep C files around -C check array subscripts # f2c and fort77 don't have FORTRAN 66 option -ff66. # sometimes the code works better when compiled under FORTRAN 77. # -O -k clean: rm -f core *~ *.o *.log *.dvi *.aux