source: Makefile@ 6012d3f

Last change on this file since 6012d3f was 6012d3f, checked in by baerbaer <baerbaer@…>, 14 years ago

Include init_lund in dependencies.

git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/smmp/trunk@30 26dc1dd8-5c4e-0410-9ffe-d298b4865968

  • Property mode set to 100644
File size: 5.6 KB
Line 
1# Makefile: smmp
2
3#.SILENT:
4
5%_p.o : %_p.f
6 $(MPIF90) $(F_FLAGS) $<
7
8%_p.o : %_p.F
9 $(MPIF90) $(F_FLAGS) $<
10
11.SUFFIXES: .o .f
12.f.o:
13 $(F90) $(F_FLAGS) $<
14
15.SUFFIXES: .o .f90
16.f90.o:
17 $(F90) $(F_FLAGS) $<
18
19# ==================================== Variables for compiling and linking
20L_FLAGS=-g
21# Linker flags
22# Default flags, e.g., for gfortran, g77
23#L_FLAGS=-O2 -g
24
25# Flags for Intel's ifort
26#L_FLAGS=-O3 -axT -g
27#L_FLAGS=-fast -parallel
28# FLAGS for Cray
29# L_FLAGS=-fastsse -Mipa
30
31# Flags for xlf
32# L_FLAGS=-O3 -qhot -q64 -qipa -qextname=flush
33
34# Optimized flag for gfortran on an i686 platform
35# L_FLAGS=-fPIC -O3 -funroll-loops -mmmx -msse2 -msse -march=i686 -malign-double -fomit-frame-pointer
36
37# Compiler flags
38# Default flags, e.g., for gfortran, g77
39#F_FLAGS=-c -O2 -g
40# Flags for Intel's ifort
41#F_FLAGS=-c -O3 -axT -g
42#F_FLAGS=-c -fast -parallel
43# Flags for debugging build
44 F_FLAGS=-c -O0 -g
45# FLAGS for Cray
46# F_FLAGS=-c -fastsse -Mipa
47# Flags for xlf
48#F_FLAGS=-c -O3 -qhot -q64 -qipa -qextname=flush
49
50# Optimized flag for gfortran on an i686 platform
51# F_FLAGS=-c -fPIC -O3 -funroll-loops -mmmx -msse2 -msse -march=i686 -malign-double -fomit-frame-pointer
52
53# Select your compiler
54F90=ifort
55#F90=pgf90
56#F90=xlf
57#F90=gfortran
58MPIF90=mpif90
59
60
61# ______________________________________________ Name of program
62PROG=smmp
63# ______________________________________________ Objects
64OBJ=redseq.o bldmol.o getmol.o redvar.o setvar.o \
65difang.o setmvs.o mklist.o redstr.o dihedr.o enyflx.o addend.o opeflx.o opeshe.o minim.o minqsn.o\
66contacts.o hbond.o helix.o anneal.o metropolis.o rgyr.o zimmer.o \
67canon.o mulcan_par_mod.o outvar.o outpdb.o \
68pdbread.o rmsdfun.o enyreg.o opereg.o mincjg.o cnteny.o \
69init_energy.o init_molecule.o gradient.o energy.o \
70regul.o nursvr.o twister.o eninteract.o bgs.o eyabgn.o enylun.o utilities.o\
71partem_s.o esolan.o opesol.o init_lund.o
72#_________Serial implementation of ECEPP/3 and solvent
73SOBJ=enyshe.o enysol.o
74#_________Parallel implementation of ECEPP/3 and solvent
75POBJ=enyshe_p.o enysol_p.o partem_p.o
76
77FILES=metropolis.f energy.f enyflx.f enyreg.f enyshe.f enysol.f redseq.f bldmol.f \
78getmol.f redvar.f setvar.f difang.f setmvs.f mklist.f redstr.f dihedr.f addend.f \
79opeflx.f opeshe.f minim.f minqsn.f contacts.f hbond.f helix.f anneal.f rgyr.f \
80zimmer.f canon.f outvar.f outpdb.f \
81pdbread.f rmsdfun.f opereg.f mincjg.f cnteny.f init_energy.f init_molecule.f \
82gradient.f regul.f nursvr.f twister.f eninteract.f bgs.f eyabgn.f enylun.f \
83mulcan_par_mod.f90 esolan.f opesol.f
84# partem_s.f
85
86
87pyInterface=init_molecule init_energy
88#mulcan_par mulcan_sim \
89#init_lund sgrnd energy helix zimmer rgyr rmsdfun \
90#anneal canon outpdb minim regul contacts interhbond hbond setvar\
91#enysol
92# metropolis
93# ============================================== Linking
94
95$(PROG): $(OBJ) $(SOBJ) main.o
96 $(F90) -o $(PROG) $(L_FLAGS) main.o $(OBJ) $(SOBJ)
97
98# Build parallel version of SMMP.
99parallel: $(OBJ) $(POBJ) main_p.o
100 $(MPIF90) -o $(PROG) $(L_FLAGS) main_p.o $(OBJ) $(POBJ)
101
102# Cross compile for BlueGene/L
103bgl: BGL_L_FLAGS = -L$(BGLSYS)/lib -lmpich.rts -lfmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts -qextname=flush
104bgl: F_FLAGS = -c -O5 -qhot -g -I$(BGLSYS)/include -L$(BGLSYS)/lib -qarch=440 -qtune=440 -qextname=flush
105bgl: BGL_F90 = blrts_xlf
106bgl: F90 = $(BGL_F90)
107bgl: MPIF90 = $(BGL_F90)
108bgl: CC = blrts_xlc
109bgl: LIBSF_MPI=-lmpich.rts -lfmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
110
111bgl: $(OBJ) $(POBJ) main_bgl_p.o
112 $(BGL_F90) -o $(PROG).rts $(BGL_L_FLAGS) main_bgl_p.o $(OBJ) $(POBJ) $(LIBSF_MPI)
113
114# Cross compile for BlueGene/P
115bgp: BGP_SYS = /bgsys/drivers/ppcfloor/comm
116bgp: DIRCOMP = /opt/ibmcmp/xlf/bg/11.1/bin
117bgp: BGP_L_FLAGS = -O3 -qhot -g -I$(BGP_SYS)/include -qarch=440 -qtune=440 -qextname=flush
118bgp: F_FLAGS = -c -O3 -qhot -g -I$(BGP_SYS)/include -qarch=440 -qtune=440 -qextname=flush
119bgp: BGP_F90 = bgxlf
120bgp: F90 = $(BGP_F90)
121bgp: MPIF90 = $(BGP_F90)
122bgp: LIBS=-Wl,-allow-multiple-definition $(MASS) $(ESSL) -L$(BGP_SYS)/lib -lmpich.cnk -ldcmfcoll.cnk -ldcmf.cnk -L/bgsys/drivers/ppcfloor/runtime/SPI -lSPI.cna -lrt -lpthread
123
124bgp: $(OBJ) $(POBJ) main_p.o
125 $(BGP_F90) -o $(PROG).rts $(BGP_L_FLAGS) main_p.o $(OBJ) $(POBJ) $(LIBS)
126
127# Build the python bindings
128pybind: $(FILES)
129 #./rmexclpoint.py $(FILES)
130# f2py -c -m smmp min_smmp.pyf $(FILES) --fcompiler=gnu95
131 #./restoreexclpoint.py $(FILES)
132
133newpybind: $(FILES)
134 ./rmexclpoint.py $(FILES)
135# mv smmp.pyf smmp.pyf.bak
136 f2py -h min_smmp.pyf -m smmp only: ${pyInterface} : $(FILES)
137 ./restoreexclpoint.py $(FILES)
138
139doc:
140 $(MAKE) -w -C doc/
141 doxygen pySMMP.doxygen
142
143examples: $(PROG)
144 $(MAKE) -w -C EXAMPLES/
145
146# ______________________________________________ Dependancies
147main.o: multicanonical.mod
148
149multicanonical.mod: mulcan_par_mod.f90
150 $(F90) $(F_FLAGS) mulcan_par_mod.f90
151
152# enyshe_p.o:
153# $(MPIF90) $(F_FLAGS) enyshe_p.f
154# enysol_p.o:
155# $(MPIF90) $(F_FLAGS) enysol_p.f
156# partem_p.o:
157# $(MPIF90) $(F_FLAGS) partem_p.f
158# main_p.o:
159# $(MPIF90) $(F_FLAGS) main_p.f
160
161main.o redseq.o eyring.o bldmol.o getmol.o redvar.o setvar.o \
162difang.o setmvs.o mklist.o redstr.o dihedr.o enyflx.o\
163enyshe.o addend.o opeflx.o opeshe.o minim.o minqsn.o enysol.o esolan.o\
164contacts.o hbond.o helix.o anneal.o metropolis.o rgyr.o zimmer.o\
165pdbvars.o rmsdfun.o enyreg.o opereg.o cnteny.o opesol.o\
166init_energy.o init_molecule.o gradient.o energy.o nursvr.o\
167regul.o eninteract.o bgs.o eyabgn.o enylun.o \
168canon.o mulcan_par.o mulcan_sim.o outvar.o outpdb.o partem_s.o: INCL.H
169
170pdbread.o enyreg.o opereg.o init_molecule.o regul.o: INCP.H
171
172.PHONY: clean, restore, doc
173clean:
174 $(MAKE) -w -C EXAMPLES/ clean
175 rm -f smmp core* *.o *~ *.mod
176restore:
177 ./restoreexclpoint.py $(FILES)
178
179# end
Note: See TracBrowser for help on using the repository browser.