source: palm/trunk/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm/Makefile_chem_gasphase_mod @ 2696

Last change on this file since 2696 was 2696, checked in by kanani, 6 years ago

Merge of branch palm4u into trunk

File size: 6.2 KB
Line 
1#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2# User: Set here the F90 compiler and options
3#       Pedefined compilers: INTEL, PGF, HPUX, LAHEY
4#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5
6#COMPILER = G95
7#COMPILER = LAHEY
8COMPILER = INTEL
9#COMPILER = PGF
10#COMPILER = HPUX
11#COMPILER = GFORTRAN
12
13FC_G95     = g95
14FOPT_G95   = -cpp -O -pg -fbounds-check -fimplicit-none  -Wall -ftrace=full
15
16FC_LAHEY   = lf95
17# More aggressive for production runs:
18#FOPT_LAHEY = -Cpp --pca -O
19# More checking for debugging:
20FOPT_LAHEY = -Cpp --chk a,e,s,u --pca --ap -O0 -g --trap --trace --chkglobal
21
22FC_INTEL   = ifort
23# More aggressive for production runs:
24#FOPT_INTEL = -cpp -O -fp-model precise -pc80 -prec_div
25# More checking for debugging:
26FOPT_INTEL = -cpp -O0 -fp-model strict -implicitnone -ftrapuv \
27              -debug all -check all -warn all
28
29FC_PGF     = pgf90
30# More aggressive for production runs:
31FOPT_PGF   = -Mpreprocess -O -fast -pc 80 -Kieee
32# More checking for debugging:
33#FOPT_PGF   = -Mpreprocess -O0 -Mbounds -Mchkfpstk -Mchkptr -Mchkstk \
34#             -Ktrap=fp -pc 80 -Kieee
35
36FC_HPUX    = f90
37FOPT_HPUX  = -O -u +Oall +check=on
38
39FC_GFORTRAN     = gfortran
40FOPT_GFORTRAN   = -cpp -O
41
42# define FULL_ALGEBRA for non-sparse integration
43FC   = $(FC_$(COMPILER))
44FOPT = $(FOPT_$(COMPILER)) # -DFULL_ALGEBRA
45
46LIBS =
47#LIBS = -llapack -lblas
48
49# Command to create Matlab mex gateway routines
50# Note: use $(FC) as the mex Fortran compiler
51MEX  = mex
52
53GENSRC = chem_gasphase_mod_Precision.f90  \
54         chem_gasphase_mod_Parameters.f90     \
55         chem_gasphase_mod_Global.f90 
56
57GENOBJ = chem_gasphase_mod_Precision.o    \
58         chem_gasphase_mod_Parameters.o       \
59         chem_gasphase_mod_Global.o     
60
61FUNSRC = chem_gasphase_mod_Function.f90
62FUNOBJ = chem_gasphase_mod_Function.o
63
64JACSRC = chem_gasphase_mod_JacobianSP.f90  chem_gasphase_mod_Jacobian.f90
65JACOBJ = chem_gasphase_mod_JacobianSP.o    chem_gasphase_mod_Jacobian.o
66
67HESSRC = chem_gasphase_mod_HessianSP.f90   chem_gasphase_mod_Hessian.f90
68HESOBJ = chem_gasphase_mod_HessianSP.o     chem_gasphase_mod_Hessian.o
69
70STMSRC = chem_gasphase_mod_StoichiomSP.f90 chem_gasphase_mod_Stoichiom.f90
71STMOBJ = chem_gasphase_mod_StoichiomSP.o   chem_gasphase_mod_Stoichiom.o
72
73UTLSRC = chem_gasphase_mod_Rates.f90 chem_gasphase_mod_Util.f90 chem_gasphase_mod_Monitor.f90
74UTLOBJ = chem_gasphase_mod_Rates.o   chem_gasphase_mod_Util.o   chem_gasphase_mod_Monitor.o
75
76LASRC  = chem_gasphase_mod_LinearAlgebra.f90
77LAOBJ  = chem_gasphase_mod_LinearAlgebra.o   
78
79STOCHSRC = chem_gasphase_mod_Stochastic.f90
80STOCHOBJ = chem_gasphase_mod_Stochastic.o
81
82MAINSRC = chem_gasphase_mod_Main.f90   chem_gasphase_mod_Initialize.f90   chem_gasphase_mod_Integrator.f90 chem_gasphase_mod_Model.f90
83MAINOBJ = chem_gasphase_mod_Main.o     chem_gasphase_mod_Initialize.o     chem_gasphase_mod_Integrator.o   chem_gasphase_mod_Model.o
84
85#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86# User: modify the line below to include only the
87#       objects needed by your application
88#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89ALLOBJ = $(GENOBJ) $(FUNOBJ) $(JACOBJ) $(HESOBJ) $(STMOBJ) \
90         $(UTLOBJ) $(LAOBJ)
91
92#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93# User: modify the line below to include only the
94#       executables needed by your application
95#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96all:    exe
97
98exe:    $(ALLOBJ) $(MAINOBJ)
99        $(FC) $(FOPT) $(ALLOBJ) $(MAINOBJ) $(LIBS) -o chem_gasphase_mod.exe
100
101stochastic:$(ALLOBJ) $(STOCHOBJ) $(MAINOBJ)
102        $(FC) $(FOPT) $(ALLOBJ) $(STOCHOBJ) $(MAINOBJ) $(LIBS) \
103        -o chem_gasphase_mod_stochastic.exe
104
105mex:    $(ALLOBJ)
106        $(MEX) FC#$(FC) -fortran -O chem_gasphase_mod_mex_Fun.f90     $(ALLOBJ)
107        $(MEX) FC#$(FC) -fortran -O chem_gasphase_mod_mex_Jac_SP.f90  $(ALLOBJ)
108        $(MEX) FC#$(FC) -fortran -O chem_gasphase_mod_mex_Hessian.f90 $(ALLOBJ)
109
110clean:
111        rm -f chem_gasphase_mod*.o chem_gasphase_mod*.mod \
112        chem_gasphase_mod*.dat chem_gasphase_mod.exe chem_gasphase_mod*.mexglx \
113        chem_gasphase_mod.map
114
115distclean:
116        rm -f chem_gasphase_mod*.o chem_gasphase_mod*.mod \
117        chem_gasphase_mod*.dat chem_gasphase_mod.exe chem_gasphase_mod.map \
118        chem_gasphase_mod*.f90 chem_gasphase_mod_*.mexglx
119
120chem_gasphase_mod_Precision.o: chem_gasphase_mod_Precision.f90
121        $(FC) $(FOPT) -c $<
122
123chem_gasphase_mod_Parameters.o: chem_gasphase_mod_Parameters.f90 \
124                    chem_gasphase_mod_Precision.o
125        $(FC) $(FOPT) -c $<
126
127chem_gasphase_mod_Monitor.o: chem_gasphase_mod_Monitor.f90 \
128                     chem_gasphase_mod_Precision.o
129        $(FC) $(FOPT) -c $<
130
131chem_gasphase_mod_Global.o: chem_gasphase_mod_Global.f90 \
132                    chem_gasphase_mod_Parameters.o chem_gasphase_mod_Precision.o
133        $(FC) $(FOPT) -c $<
134
135chem_gasphase_mod_Initialize.o: chem_gasphase_mod_Initialize.f90  $(GENOBJ)
136        $(FC) $(FOPT) -c $<
137
138chem_gasphase_mod_Function.o: chem_gasphase_mod_Function.f90  $(GENOBJ)
139        $(FC) $(FOPT) -c $<
140
141chem_gasphase_mod_Stochastic.o: chem_gasphase_mod_Stochastic.f90  $(GENOBJ)
142        $(FC) $(FOPT) -c $<
143
144chem_gasphase_mod_JacobianSP.o: chem_gasphase_mod_JacobianSP.f90 $(GENOBJ)
145        $(FC) $(FOPT) -c $<
146
147chem_gasphase_mod_Jacobian.o: chem_gasphase_mod_Jacobian.f90  $(GENOBJ) chem_gasphase_mod_JacobianSP.o
148        $(FC) $(FOPT) -c $<
149
150chem_gasphase_mod_LinearAlgebra.o: chem_gasphase_mod_LinearAlgebra.f90 $(GENOBJ) chem_gasphase_mod_JacobianSP.o
151        $(FC) $(FOPT) -c $<
152
153chem_gasphase_mod_Rates.o: chem_gasphase_mod_Rates.f90  $(GENOBJ)
154        $(FC) $(FOPT) -c $<
155
156chem_gasphase_mod_HessianSP.o: chem_gasphase_mod_HessianSP.f90  $(GENOBJ)
157        $(FC) $(FOPT) -c $<
158
159chem_gasphase_mod_Hessian.o:  chem_gasphase_mod_Hessian.f90 $(GENOBJ) chem_gasphase_mod_HessianSP.o
160        $(FC) $(FOPT) -c $<
161
162chem_gasphase_mod_StoichiomSP.o: chem_gasphase_mod_StoichiomSP.f90 $(GENOBJ)
163        $(FC) $(FOPT) -c $<
164
165chem_gasphase_mod_Stoichiom.o: chem_gasphase_mod_Stoichiom.f90  $(GENOBJ) chem_gasphase_mod_StoichiomSP.o
166        $(FC) $(FOPT) -c $<
167
168chem_gasphase_mod_Util.o: chem_gasphase_mod_Util.f90  $(GENOBJ) chem_gasphase_mod_Monitor.o
169        $(FC) $(FOPT) -c $<
170
171chem_gasphase_mod_Main.o: chem_gasphase_mod_Main.f90  $(ALLOBJ) chem_gasphase_mod_Initialize.o chem_gasphase_mod_Model.o chem_gasphase_mod_Integrator.o
172        $(FC) $(FOPT) -c $<
173
174chem_gasphase_mod_Model.o: chem_gasphase_mod_Model.f90  $(ALLOBJ) chem_gasphase_mod_Integrator.o
175        $(FC) $(FOPT) -c $<
176
177chem_gasphase_mod_Integrator.o: chem_gasphase_mod_Integrator.f90  $(ALLOBJ)
178        $(FC) $(FOPT) -c $<
Note: See TracBrowser for help on using the repository browser.