Merge remote-tracking branch 'origin/release-v4.6.1'
[WRF.git] / chem / KPP / kpp / kpp-2.1 / test / Makefile_small_strato
blob353209ab344def93115c93c1cdbe7ae7e2e28853
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 = small_strato_Precision.f90  \
36          small_strato_Parameters.f90     \
37          small_strato_Global.f90  
39 GENOBJ = small_strato_Precision.o    \
40          small_strato_Parameters.o       \
41          small_strato_Global.o     
43 FUNSRC = small_strato_Function.f90 
44 FUNOBJ = small_strato_Function.o 
46 JACSRC = small_strato_JacobianSP.f90  small_strato_Jacobian.f90
47 JACOBJ = small_strato_JacobianSP.o    small_strato_Jacobian.o
49 HESSRC = small_strato_HessianSP.f90   small_strato_Hessian.f90
50 HESOBJ = small_strato_HessianSP.o     small_strato_Hessian.o
52 STMSRC = small_strato_StoichiomSP.f90 small_strato_Stoichiom.f90 
53 STMOBJ = small_strato_StoichiomSP.o   small_strato_Stoichiom.o
55 UTLSRC = small_strato_Rates.f90 small_strato_Util.f90 small_strato_Monitor.f90
56 UTLOBJ = small_strato_Rates.o   small_strato_Util.o   small_strato_Monitor.o
58 LASRC  = small_strato_LinearAlgebra.f90 
59 LAOBJ  = small_strato_LinearAlgebra.o   
61 STOCHSRC = small_strato_Stochastic.f90 
62 STOCHOBJ = small_strato_Stochastic.o 
64 MAINSRC = small_strato_Main.f90   small_strato_Initialize.f90   small_strato_Integrator.f90 small_strato_Model.f90
65 MAINOBJ = small_strato_Main.o     small_strato_Initialize.o     small_strato_Integrator.o   small_strato_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 small_strato.exe
83 stochastic:$(ALLOBJ) $(STOCHOBJ) $(MAINOBJ)
84         $(FC) $(FOPT) $(ALLOBJ) $(STOCHOBJ) $(MAINOBJ) $(LIBS) \
85         -o small_strato_stochastic.exe
87 mex:    $(ALLOBJ)
88         $(MEX) FC#$(FC) -fortran -O small_strato_mex_Fun.f90     $(ALLOBJ)
89         $(MEX) FC#$(FC) -fortran -O small_strato_mex_Jac_SP.f90  $(ALLOBJ)
90         $(MEX) FC#$(FC) -fortran -O small_strato_mex_Hessian.f90 $(ALLOBJ)
92 clean:
93         rm -f small_strato*.o small_strato*.mod \
94         small_strato*.dat small_strato.exe small_strato*.mexglx \
95         small_strato.map
97 distclean:
98         rm -f small_strato*.o small_strato*.mod \
99         small_strato*.dat small_strato.exe small_strato.map \
100         small_strato*.f90 small_strato_*.mexglx
102 small_strato_Precision.o: small_strato_Precision.f90 
103         $(FC) $(FOPT) -c $<
105 small_strato_Parameters.o: small_strato_Parameters.f90 \
106                     small_strato_Precision.o
107         $(FC) $(FOPT) -c $<
109 small_strato_Monitor.o: small_strato_Monitor.f90 \
110                      small_strato_Precision.o
111         $(FC) $(FOPT) -c $<
113 small_strato_Global.o: small_strato_Global.f90 \
114                     small_strato_Parameters.o small_strato_Precision.o
115         $(FC) $(FOPT) -c $<
117 small_strato_Initialize.o: small_strato_Initialize.f90  $(GENOBJ) 
118         $(FC) $(FOPT) -c $<
120 small_strato_Function.o: small_strato_Function.f90  $(GENOBJ) 
121         $(FC) $(FOPT) -c $<
123 small_strato_Stochastic.o: small_strato_Stochastic.f90  $(GENOBJ) 
124         $(FC) $(FOPT) -c $<
126 small_strato_JacobianSP.o: small_strato_JacobianSP.f90 $(GENOBJ)
127         $(FC) $(FOPT) -c $<
129 small_strato_Jacobian.o: small_strato_Jacobian.f90  $(GENOBJ) small_strato_JacobianSP.o
130         $(FC) $(FOPT) -c $<
132 small_strato_LinearAlgebra.o: small_strato_LinearAlgebra.f90 $(GENOBJ) small_strato_JacobianSP.o
133         $(FC) $(FOPT) -c $<
135 small_strato_Rates.o: small_strato_Rates.f90  $(GENOBJ) 
136         $(FC) $(FOPT) -c $<
138 small_strato_HessianSP.o: small_strato_HessianSP.f90  $(GENOBJ)
139         $(FC) $(FOPT) -c $<
141 small_strato_Hessian.o:  small_strato_Hessian.f90 $(GENOBJ) small_strato_HessianSP.o
142         $(FC) $(FOPT) -c $<
144 small_strato_StoichiomSP.o: small_strato_StoichiomSP.f90 $(GENOBJ)
145         $(FC) $(FOPT) -c $<
147 small_strato_Stoichiom.o: small_strato_Stoichiom.f90  $(GENOBJ) small_strato_StoichiomSP.o
148         $(FC) $(FOPT) -c $<
150 small_strato_Util.o: small_strato_Util.f90  $(GENOBJ) small_strato_Monitor.o
151         $(FC) $(FOPT) -c $<
153 small_strato_Main.o: small_strato_Main.f90  $(ALLOBJ) small_strato_Initialize.o small_strato_Model.o small_strato_Integrator.o
154         $(FC) $(FOPT) -c $<
156 small_strato_Model.o: small_strato_Model.f90  $(ALLOBJ) small_strato_Integrator.o
157         $(FC) $(FOPT) -c $<
159 small_strato_Integrator.o: small_strato_Integrator.f90  $(ALLOBJ)
160         $(FC) $(FOPT) -c $<