source: trunk/Makefile @ 2

Last change on this file since 2 was 2, checked in by pinsard, 17 years ago

initial import from official romsagrif distribution without any svn and CVS directories

File size: 5.2 KB
Line 
1# Universal machine independent makefile for ROMS model
2#====================================================================
3# Set machine dependent definitions and rules.
4
5include Makedefs
6
7# Configuration for SCRUM/ROMS model:
8#====================================================================
9# All source codes files are sorted into eight groups, separated by
10# blanc lines:
11#   1) main driving part;        2) 2D time stepping engine;
12#   3) 3D time stepping engine;  4) sea-water EOS routines;
13#   5) vertical mixing schemes;  6) on-fly model diagnostic routines;
14#   7) netCDF I/O routines;      8) model forcing routines;
15#   9) MPI routines;            10) Modules routines;
16#  11) Floats routines;         12) Stations routines;
17#  13) AGRIF routines;          14) PISCES routines
18#--------------------------------------------------------------------
19
20 SRCS = main.F          step.F          read_inp.F\
21        timers.F        init_scalars.F  init_arrays.F   set_weights.F\
22        set_scoord.F    ana_grid.F      setup_grid1.F   setup_grid2.F\
23        set_nudgcof.F   ana_initial.F   analytical.F\
24        setup_kwds.F    check_kwds.F    check_srcs.F\
25        check_switches1.F               check_switches2.F\
26\
27        step2d.F        u2dbc.F         v2dbc.F         zetabc.F\
28        obc_volcons.F\
29\
30        pre_step3d.F    step3d_t.F      step3d_uv1.F    step3d_uv2.F\
31        prsgrd.F        rhs3d.F         set_depth.F     omega.F\
32        uv3dmix.F       t3dmix.F        smagorinsky.F\
33        u3dbc.F         v3dbc.F         t3dbc.F\
34\
35        rho_eos.F       ab_ratio.F      alfabeta.F\
36\
37        ana_vmix.F      bvf_mix.F       lmd_vmix.F\
38        lmd_skpp.F      lmd_bkpp.F      lmd_swfrac.F    lmd_wscale.F\
39\
40        diag.F          wvlcty.F        checkdims.F     grid_stiffness.F\
41        bio_diag.F\
42\
43        get_date.F      lenstr.F        closecdf.F      ana_initracer.F\
44        insert_node.F   nf_fread.F      get_grid.F      get_initial.F\
45        def_grid.F      def_his.F       def_rst.F       set_avg.F\
46        wrt_grid.F      wrt_his.F       wrt_rst.F       wrt_avg.F\
47        output.F        put_global_atts.F\
48        def_diags.F                     wrt_diags.F\
49        wrt_diags_avg.F                 set_diags_avg.F\
50        def_diagsM.F                    wrt_diagsM.F\
51        wrt_diagsM_avg.F                set_diagsM_avg.F\
52        def_bio_diags.F                 wrt_bio_diags.F\
53        wrt_bio_diags_avg.F             set_bio_diags_avg.F\
54\
55        get_vbc.F       set_cycle.F     get_wwave.F\
56        get_tclima.F    get_uclima.F    get_ssh.F       get_sss.F\
57        get_smflux.F    get_stflux.F    get_srflux.F    get_sst.F\
58        get_tides.F     clm_tides.F     get_bulk.F      bulk_flux.F\
59        get_bry.F       get_bry_bio.F   nf_read_bry.F\
60\
61        MPI_Setup.F     MessPass2D.F    MessPass3D.F    exchange.F\
62\
63        biology.F       sediment.F      bbl.F\
64\
65        init_floats.F   wrt_floats.F    step_floats.F   rhs_floats.F\
66        interp_rho.F    def_floats.F    init_arrays_floats.F\
67        random_walk.F   get_initial_floats.F\
68\
69        init_sta.F      wrt_sta.F       step_sta.F      interp_sta.F\
70        def_sta.F       init_arrays_sta.F\
71\
72        zoom.F          update2D.F      set_nudgcof_fine.F\
73        zoombc_2D.F     zoombc_3D.F     uv3dmix_fine.F\
74        t3dmix_fine.F   update3D.F      \
75\
76        ropigrid.F      ropistep.F      pirostep.F\
77        trcini.F        trclsm.F        pisces_ini.F\
78        p4zday.F        p4znano.F       p4zlys.F\
79        p4zdiat.F       p4zopt.F        p4zsink.F\
80        p4zflx.F        p4zprg.F        p4zslow.F\
81        p4zint.F        p4zprod.F       p4zmicro.F\
82        p4zlim.F        p4zrem.F        p4zche.F\
83        p4zbio.F        p4zmeso.F       p4zsink2.F \
84        p4zsed.F        Agrif2Model.F
85
86AMRDIR = AGRIFZOOM/AGRIF_YOURFILES
87
88#--------------------------------------------------------------------
89
90 RCS = $(SRCS:.F=.f)
91
92 OBJS = $(RCS:.f=.o)
93
94 SBIN = roms
95
96 AMRRCS=$(AMRSRCS:.F=.f)
97
98 AMROBJS=$(AMRRCS:.f=.o)
99
100#
101# Eecutable file.
102# ========= =====
103#
104$(SBIN): $(OBJS)
105         $(LDR) $(FFLAGS) $(LDFLAGS) -o a.out $(OBJS) $(LCDF) $(LMPI) 
106        mv a.out $(SBIN)
107#
108# Everything
109# ==========
110all: tools depend $(SBIN)
111
112#
113# Auxiliary utility programs and List of Dependecies:
114# ========= ======= ======== === ==== == ============
115#
116  TOOLS = mpc cross_matrix cppcheck srcscheck checkkwds partit ncjoin ncrename
117
118tools: $(TOOLS)
119
120mpc: mpc.F
121        $(CPP) -P $(CPPFLAGS) mpc.F > mpc_.f
122        $(LDR) $(FFLAGS) $(LDFLAGS) -o mpc mpc_.f
123cross_matrix: cross_matrix.o
124        $(LDR) $(FFLAGS) $(LDFLAGS) -o cross_matrix cross_matrix.o
125cppcheck: cppcheck.o
126        $(LDR) $(FFLAGS) $(LDFLAGS) -o cppcheck cppcheck.o
127srcscheck: srcscheck.o
128        $(LDR) $(FFLAGS) $(LDFLAGS) -o srcscheck srcscheck.o
129checkkwds: checkkwds.o
130        $(LDR) $(FFLAGS) $(LDFLAGS) -o checkkwds checkkwds.o
131checkdefs: check_switches1.F setup_kwds.F
132
133check_switches1.F: cppcheck cppdefs.h
134        ./cppcheck
135check_srcs.F: srcscheck Makefile
136        ./srcscheck
137setup_kwds.F: checkkwds read_inp.F
138        ./checkkwds
139partit: partit.o insert_node.o lenstr.o
140        $(LDR) $(FFLAGS) $(LDFLAGS) -o partit partit.o insert_node.o lenstr.o $(LCDF)
141ncjoin: ncjoin.o lenstr.o
142        $(LDR) $(FFLAGS) $(LDFLAGS) -o ncjoin ncjoin.o lenstr.o $(LCDF)
143ncrename: ncrename.o lenstr.o
144        $(LDR) $(FFLAGS) $(LDFLAGS) -o ncrename ncrename.o lenstr.o $(LCDF)
145
146depend: checkdefs cross_matrix
147        ./cross_matrix *.F
148
149mymodules: $(MOBJS) $(AMROBJS)
150#
151# Target to create tar file.
152# ====== == ====== === =====
153#
154tarfile:
155        tar cvf roms.tar Make* *.h *.F *.README README.*  *.in *.in.*
156#
157# Cleaning:
158# =========
159#
160rmtools:
161        /bin/rm -f $(TOOLS)
162clean:
163        /bin/rm -rf core *.o $(AMRDIR)/*.o *.i *.s *.f *.trace *.mod ${COMP_FILES}
164
165clobber: clean
166        /bin/rm -rf $(SBIN) $(TOOLS) ./rii_files
167
168
169plotter: plotter.F
170        f77 -n32 -o plotter plotter.F $(LIBNCAR)
171
172#
173# Special treatment for barrier function:
174# THERE SHALL BE NO OPTIMIZATION HERE!!!!
175#
176my_barrier.o: my_barrier.f
177        $(CFT) -c -O0 my_barrier.f
178#
179# Include automatically generated dependency list:
180#
181
182include Make.depend
183
Note: See TracBrowser for help on using the repository browser.