1 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 # User: Set here the F90 compiler and options
3 # Pedefined compilers: INTEL, PGF, HPUX, LAHEY
4 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13 FOPT_GNU
= -cpp -O
-pg
-fbounds-check
15 FOPT_LAHEY
= -Cpp
--pca
16 #FOPT_LAHEY = -Cpp --chk a,e,s,u --pca --ap -O0 -g --trap
18 FOPT_INTEL
= -cpp -O
-mp
-pc80
-prec_div
-tpp7
-implicitnone
20 FOPT_PGF
= -Mpreprocess
-O
-fast
-pc 80 -Kieee
22 FOPT_HPUX
= -O
-u
+Oall
+check=on
24 # define FULL_ALGEBRA for non-sparse integration
25 FC
= $(FC_
$(COMPILER
))
26 FOPT
= $(FOPT_
$(COMPILER
)) # -DFULL_ALGEBRA
29 #LIBS = -llapack -lblas
31 # Command to create Matlab mex gateway routines
32 # Note: use $(FC) as the mex Fortran compiler
35 GENSRC
= saprc99_Precision.f90 \
36 saprc99_Parameters.f90 \
39 GENOBJ
= saprc99_Precision.o \
40 saprc99_Parameters.o \
43 FUNSRC
= saprc99_Function.f90
44 FUNOBJ
= saprc99_Function.o
46 JACSRC
= saprc99_JacobianSP.f90 saprc99_Jacobian.f90
47 JACOBJ
= saprc99_JacobianSP.o saprc99_Jacobian.o
49 HESSRC
= saprc99_HessianSP.f90 saprc99_Hessian.f90
50 HESOBJ
= saprc99_HessianSP.o saprc99_Hessian.o
52 STMSRC
= saprc99_StoichiomSP.f90 saprc99_Stoichiom.f90
53 STMOBJ
= saprc99_StoichiomSP.o saprc99_Stoichiom.o
55 UTLSRC
= saprc99_Rates.f90 saprc99_Util.f90 saprc99_Monitor.f90
56 UTLOBJ
= saprc99_Rates.o saprc99_Util.o saprc99_Monitor.o
58 LASRC
= saprc99_LinearAlgebra.f90
59 LAOBJ
= saprc99_LinearAlgebra.o
61 STOCHSRC
= saprc99_Stochastic.f90
62 STOCHOBJ
= saprc99_Stochastic.o
64 MAINSRC
= saprc99_Main.f90 saprc99_Initialize.f90 saprc99_Integrator.f90 saprc99_Model.f90
65 MAINOBJ
= saprc99_Main.o saprc99_Initialize.o saprc99_Integrator.o saprc99_Model.o
67 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68 # User: modify the line below to include only the
69 # objects needed by your application
70 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
71 ALLOBJ
= $(GENOBJ
) $(FUNOBJ
) $(JACOBJ
) $(HESOBJ
) $(STMOBJ
) \
74 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 # User: modify the line below to include only the
76 # executables needed by your application
77 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80 exe
: $(ALLOBJ
) $(MAINOBJ
)
81 $(FC
) $(FOPT
) $(ALLOBJ
) $(MAINOBJ
) $(LIBS
) -o saprc99.exe
83 stochastic
:$(ALLOBJ
) $(STOCHOBJ
) $(MAINOBJ
)
84 $(FC
) $(FOPT
) $(ALLOBJ
) $(STOCHOBJ
) $(MAINOBJ
) $(LIBS
) \
85 -o saprc99_stochastic.exe
88 $(MEX
) FC
#$(FC) -fortran -O saprc99_mex_Fun.f90 $(ALLOBJ)
89 $(MEX
) FC
#$(FC) -fortran -O saprc99_mex_Jac_SP.f90 $(ALLOBJ)
90 $(MEX
) FC
#$(FC) -fortran -O saprc99_mex_Hessian.f90 $(ALLOBJ)
93 @
rm -f saprc99
*.o saprc99
*.mod \
94 saprc99
*.dat saprc99.exe saprc99
*.mexglx \
98 @
rm -f saprc99
*.o saprc99
*.mod \
99 saprc99
*.dat saprc99.exe saprc99.map \
100 saprc99
*.f90 saprc99_
*.mexglx
102 saprc99_Precision.o
: saprc99_Precision.f90
105 saprc99_Parameters.o
: saprc99_Parameters.f90 \
109 saprc99_Monitor.o
: saprc99_Monitor.f90 \
113 saprc99_Global.o
: saprc99_Global.f90 \
114 saprc99_Parameters.o saprc99_Precision.o
117 saprc99_Initialize.o
: saprc99_Initialize.f90
$(GENOBJ
)
120 saprc99_Function.o
: saprc99_Function.f90
$(GENOBJ
)
123 saprc99_Stochastic.o
: saprc99_Stochastic.f90
$(GENOBJ
)
126 saprc99_JacobianSP.o
: saprc99_JacobianSP.f90
$(GENOBJ
)
129 saprc99_Jacobian.o
: saprc99_Jacobian.f90
$(GENOBJ
) saprc99_JacobianSP.o
132 saprc99_LinearAlgebra.o
: saprc99_LinearAlgebra.f90
$(GENOBJ
) saprc99_JacobianSP.o
135 saprc99_Rates.o
: saprc99_Rates.f90
$(GENOBJ
)
138 saprc99_HessianSP.o
: saprc99_HessianSP.f90
$(GENOBJ
)
141 saprc99_Hessian.o
: saprc99_Hessian.f90
$(GENOBJ
) saprc99_HessianSP.o
144 saprc99_StoichiomSP.o
: saprc99_StoichiomSP.f90
$(GENOBJ
)
147 saprc99_Stoichiom.o
: saprc99_Stoichiom.f90
$(GENOBJ
) saprc99_StoichiomSP.o
150 saprc99_Util.o
: saprc99_Util.f90
$(GENOBJ
) saprc99_Monitor.o
153 saprc99_Main.o
: saprc99_Main.f90
$(ALLOBJ
) saprc99_Initialize.o saprc99_Model.o saprc99_Integrator.o
156 saprc99_Model.o
: saprc99_Model.f90
$(ALLOBJ
) saprc99_Integrator.o
159 saprc99_Integrator.o
: saprc99_Integrator.f90
$(ALLOBJ
)