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
= KPP_ROOT_Precision
.f90 \
36 KPP_ROOT_Parameters
.f90 \
39 GENOBJ
= KPP_ROOT_Precision
.o \
40 KPP_ROOT_Parameters
.o \
43 FUNSRC
= KPP_ROOT_Function
.f90
44 FUNOBJ
= KPP_ROOT_Function
.o
46 JACSRC
= KPP_ROOT_JacobianSP
.f90 KPP_ROOT_Jacobian
.f90
47 JACOBJ
= KPP_ROOT_JacobianSP
.o KPP_ROOT_Jacobian
.o
49 HESSRC
= KPP_ROOT_HessianSP
.f90 KPP_ROOT_Hessian
.f90
50 HESOBJ
= KPP_ROOT_HessianSP
.o KPP_ROOT_Hessian
.o
52 STMSRC
= KPP_ROOT_StoichiomSP
.f90 KPP_ROOT_Stoichiom
.f90
53 STMOBJ
= KPP_ROOT_StoichiomSP
.o KPP_ROOT_Stoichiom
.o
55 UTLSRC
= KPP_ROOT_Rates
.f90 KPP_ROOT_Util
.f90 KPP_ROOT_Monitor
.f90
56 UTLOBJ
= KPP_ROOT_Rates
.o KPP_ROOT_Util
.o KPP_ROOT_Monitor
.o
58 LASRC
= KPP_ROOT_LinearAlgebra
.f90
59 LAOBJ
= KPP_ROOT_LinearAlgebra
.o
61 STOCHSRC
= KPP_ROOT_Stochastic
.f90
62 STOCHOBJ
= KPP_ROOT_Stochastic
.o
64 MAINSRC
= KPP_ROOT_Main
.f90 KPP_ROOT_Initialize
.f90 KPP_ROOT_Integrator
.f90 KPP_ROOT_Model
.f90
65 MAINOBJ
= KPP_ROOT_Main
.o KPP_ROOT_Initialize
.o KPP_ROOT_Integrator
.o KPP_ROOT_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 KPP_ROOT
.exe
83 stochastic
:$(ALLOBJ
) $(STOCHOBJ
) $(MAINOBJ
)
84 $(FC
) $(FOPT
) $(ALLOBJ
) $(STOCHOBJ
) $(MAINOBJ
) $(LIBS
) \
85 -o KPP_ROOT_stochastic
.exe
88 $(MEX
) FC#
$(FC
) -fortran
-O KPP_ROOT_mex_Fun
.f90
$(ALLOBJ
)
89 $(MEX
) FC#
$(FC
) -fortran
-O KPP_ROOT_mex_Jac_SP
.f90
$(ALLOBJ
)
90 $(MEX
) FC#
$(FC
) -fortran
-O KPP_ROOT_mex_Hessian
.f90
$(ALLOBJ
)
93 rm
-f KPP_ROOT
*.o KPP_ROOT
*.mod \
94 KPP_ROOT
*.dat KPP_ROOT
.exe KPP_ROOT
*.mexglx \
98 rm
-f KPP_ROOT
*.o KPP_ROOT
*.mod \
99 KPP_ROOT
*.dat KPP_ROOT
.exe KPP_ROOT
.map \
100 KPP_ROOT
*.f90 KPP_ROOT_
*.mexglx
102 KPP_ROOT_Precision
.o
: KPP_ROOT_Precision
.f90
105 KPP_ROOT_Parameters
.o
: KPP_ROOT_Parameters
.f90 \
109 KPP_ROOT_Monitor
.o
: KPP_ROOT_Monitor
.f90 \
113 KPP_ROOT_Global
.o
: KPP_ROOT_Global
.f90 \
114 KPP_ROOT_Parameters
.o KPP_ROOT_Precision
.o
117 KPP_ROOT_Initialize
.o
: KPP_ROOT_Initialize
.f90
$(GENOBJ
)
120 KPP_ROOT_Function
.o
: KPP_ROOT_Function
.f90
$(GENOBJ
)
123 KPP_ROOT_Stochastic
.o
: KPP_ROOT_Stochastic
.f90
$(GENOBJ
)
126 KPP_ROOT_JacobianSP
.o
: KPP_ROOT_JacobianSP
.f90
$(GENOBJ
)
129 KPP_ROOT_Jacobian
.o
: KPP_ROOT_Jacobian
.f90
$(GENOBJ
) KPP_ROOT_JacobianSP
.o
132 KPP_ROOT_LinearAlgebra
.o
: KPP_ROOT_LinearAlgebra
.f90
$(GENOBJ
) KPP_ROOT_JacobianSP
.o
135 KPP_ROOT_Rates
.o
: KPP_ROOT_Rates
.f90
$(GENOBJ
)
138 KPP_ROOT_HessianSP
.o
: KPP_ROOT_HessianSP
.f90
$(GENOBJ
)
141 KPP_ROOT_Hessian
.o
: KPP_ROOT_Hessian
.f90
$(GENOBJ
) KPP_ROOT_HessianSP
.o
144 KPP_ROOT_StoichiomSP
.o
: KPP_ROOT_StoichiomSP
.f90
$(GENOBJ
)
147 KPP_ROOT_Stoichiom
.o
: KPP_ROOT_Stoichiom
.f90
$(GENOBJ
) KPP_ROOT_StoichiomSP
.o
150 KPP_ROOT_Util
.o
: KPP_ROOT_Util
.f90
$(GENOBJ
) KPP_ROOT_Monitor
.o
153 KPP_ROOT_Main
.o
: KPP_ROOT_Main
.f90
$(ALLOBJ
) KPP_ROOT_Initialize
.o KPP_ROOT_Model
.o KPP_ROOT_Integrator
.o
156 KPP_ROOT_Model
.o
: KPP_ROOT_Model
.f90
$(ALLOBJ
) KPP_ROOT_Integrator
.o
159 KPP_ROOT_Integrator
.o
: KPP_ROOT_Integrator
.f90
$(ALLOBJ
)