added README_changes.txt
[wrffire.git] / wrfv2_fire / chem / KPP / kpp / kpp-2.1 / util / Makefile.f90
blobad58db07864dd5d01298c7e9046c95bd47fdf4ae
1 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 # User: Set here the F90 compiler and options
3 # Pedefined compilers: INTEL, PGF, HPUX, LAHEY
4 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 COMPILER = GNU
7 #COMPILER = LAHEY
8 #COMPILER = INTEL
9 #COMPILER = PGF
10 #COMPILER = HPUX
12 FC_GNU = g95
13 FOPT_GNU = -cpp -O -pg -fbounds-check
14 FC_LAHEY = lf95
15 FOPT_LAHEY = -Cpp --pca
16 #FOPT_LAHEY = -Cpp --chk a,e,s,u --pca --ap -O0 -g --trap
17 FC_INTEL = ifort
18 FOPT_INTEL = -cpp -O -mp -pc80 -prec_div -tpp7 -implicitnone
19 FC_PGF = pgf90
20 FOPT_PGF = -Mpreprocess -O -fast -pc 80 -Kieee
21 FC_HPUX = f90
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
28 LIBS =
29 #LIBS = -llapack -lblas
31 # Command to create Matlab mex gateway routines
32 # Note: use $(FC) as the mex Fortran compiler
33 MEX = mex
35 GENSRC = KPP_ROOT_Precision.f90 \
36 KPP_ROOT_Parameters.f90 \
37 KPP_ROOT_Global.f90
39 GENOBJ = KPP_ROOT_Precision.o \
40 KPP_ROOT_Parameters.o \
41 KPP_ROOT_Global.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) \
72 $(UTLOBJ) $(LAOBJ)
74 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
75 # User: modify the line below to include only the
76 # executables needed by your application
77 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78 all: exe
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
87 mex: $(ALLOBJ)
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)
92 clean:
93 rm -f KPP_ROOT*.o KPP_ROOT*.mod \
94 KPP_ROOT*.dat KPP_ROOT.exe KPP_ROOT*.mexglx \
95 KPP_ROOT.map
97 distclean:
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
103 $(FC) $(FOPT) -c $<
105 KPP_ROOT_Parameters.o: KPP_ROOT_Parameters.f90 \
106 KPP_ROOT_Precision.o
107 $(FC) $(FOPT) -c $<
109 KPP_ROOT_Monitor.o: KPP_ROOT_Monitor.f90 \
110 KPP_ROOT_Precision.o
111 $(FC) $(FOPT) -c $<
113 KPP_ROOT_Global.o: KPP_ROOT_Global.f90 \
114 KPP_ROOT_Parameters.o KPP_ROOT_Precision.o
115 $(FC) $(FOPT) -c $<
117 KPP_ROOT_Initialize.o: KPP_ROOT_Initialize.f90 $(GENOBJ)
118 $(FC) $(FOPT) -c $<
120 KPP_ROOT_Function.o: KPP_ROOT_Function.f90 $(GENOBJ)
121 $(FC) $(FOPT) -c $<
123 KPP_ROOT_Stochastic.o: KPP_ROOT_Stochastic.f90 $(GENOBJ)
124 $(FC) $(FOPT) -c $<
126 KPP_ROOT_JacobianSP.o: KPP_ROOT_JacobianSP.f90 $(GENOBJ)
127 $(FC) $(FOPT) -c $<
129 KPP_ROOT_Jacobian.o: KPP_ROOT_Jacobian.f90 $(GENOBJ) KPP_ROOT_JacobianSP.o
130 $(FC) $(FOPT) -c $<
132 KPP_ROOT_LinearAlgebra.o: KPP_ROOT_LinearAlgebra.f90 $(GENOBJ) KPP_ROOT_JacobianSP.o
133 $(FC) $(FOPT) -c $<
135 KPP_ROOT_Rates.o: KPP_ROOT_Rates.f90 $(GENOBJ)
136 $(FC) $(FOPT) -c $<
138 KPP_ROOT_HessianSP.o: KPP_ROOT_HessianSP.f90 $(GENOBJ)
139 $(FC) $(FOPT) -c $<
141 KPP_ROOT_Hessian.o: KPP_ROOT_Hessian.f90 $(GENOBJ) KPP_ROOT_HessianSP.o
142 $(FC) $(FOPT) -c $<
144 KPP_ROOT_StoichiomSP.o: KPP_ROOT_StoichiomSP.f90 $(GENOBJ)
145 $(FC) $(FOPT) -c $<
147 KPP_ROOT_Stoichiom.o: KPP_ROOT_Stoichiom.f90 $(GENOBJ) KPP_ROOT_StoichiomSP.o
148 $(FC) $(FOPT) -c $<
150 KPP_ROOT_Util.o: KPP_ROOT_Util.f90 $(GENOBJ) KPP_ROOT_Monitor.o
151 $(FC) $(FOPT) -c $<
153 KPP_ROOT_Main.o: KPP_ROOT_Main.f90 $(ALLOBJ) KPP_ROOT_Initialize.o KPP_ROOT_Model.o KPP_ROOT_Integrator.o
154 $(FC) $(FOPT) -c $<
156 KPP_ROOT_Model.o: KPP_ROOT_Model.f90 $(ALLOBJ) KPP_ROOT_Integrator.o
157 $(FC) $(FOPT) -c $<
159 KPP_ROOT_Integrator.o: KPP_ROOT_Integrator.f90 $(ALLOBJ)
160 $(FC) $(FOPT) -c $<