/[MITgcm]/MITgcm/pkg/mnc/Makefile
ViewVC logotype

Diff of /MITgcm/pkg/mnc/Makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by edhill, Mon Jan 5 21:38:27 2004 UTC revision 1.13 by edhill, Tue Jul 27 03:19:56 2004 UTC
# Line 1  Line 1 
1    #
2    #  $Header$
3    #
4    #  A Makefile for MNC templates and testing
5    #
6    
7  FC = f77  FC = f77
8    CPP = cpp
9    
10  .SUFFIXES:  .SUFFIXES:
11  .SUFFIXES: .T .t .F .h .o  .SUFFIXES: .T .t .F .f .h .o
12    
13  .t.h:  .t.h:
14          cat $< > $@          cat $< > $@
15  .T.F:  .T.F:
16          cat $< > $@          cat $< > $@
17  .F.o:  .F.f:
18          $(FC) -c $<          $(CPP) $(DEFINES) > $@
19    .f.o:
20            $(FC) -DMNC_TEST -c $<
21    
22    
23  TEST_LINKS =   EEPARAMS.h utils.F  TEST_LINKS =   EEPARAMS.h utils.F
24  TEST_HEADERS = PACKAGES_CONFIG.h CPP_OPTIONS.h  TEST_HEADERS = PACKAGES_CONFIG.h CPP_OPTIONS.h SIZE.h
25  TEST_FILES =   mnc_test_utils.F  TEST_FILES =   mnc_test_utils.F
26    TEST_DEFINES = -DMNC_DEBUG
27    
28  FILES = \  FILES = \
29      mnc_dim.F \
30    mnc_file.F \    mnc_file.F \
31    mnc_grid.F \    mnc_grid.F \
32    mnc_init.F \    mnc_init.F \
33    mnc_utils.F \    mnc_utils.F \
34    mnc_var.F    mnc_var.F \
35      mnc_cwrapper.F
36    
37  TEST_OBJECTS = $(TEST_FILES:.F=.o)  TEST_OBJECTS = $(TEST_FILES:.F=.o)
38  OBJECTS = $(FILES:.F=.o)  OBJECTS = $(FILES:.F=.o)
39    
40    ALL_TEST = $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(TEST_OBJECTS)
41    
42    all: templates
43    
44  noexe: $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(FILES) $(OBJECTS)  noexe: $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(FILES) $(OBJECTS)
45          echo "compiled"          echo "compiled"
46    
# Line 34  EEPARAMS.h: Line 49  EEPARAMS.h:
49  utils.F:  utils.F:
50          ln -s ../../eesupp/src/utils.F .          ln -s ../../eesupp/src/utils.F .
51    
52  test: mnc_test_001  TEMPLATE_FILES = \
53      MNC_CW_READWRITE_RS.F \
54      MNC_CW_READWRITE_RL.F \
55      MNC_CW_READWRITE_I.F
56    TEMPLATE_OBJECTS = $(TEMPLATE_FILES:.F=.o)
57    
58    mnc_netcdf_stubs.c: mnc_netcdf_stubs.h
59            -./build_netcdf_stubs > tmp
60            -cpp -P < tmp > mnc_netcdf_stubs.c
61    
62    mnc_netcdf_stubs.o: mnc_netcdf_stubs.c
63            -gcc -c mnc_netcdf_stubs.c
64    
65    templates: $(TEMPLATE_FILES) mnc_id_header.h
66    
67    MNC_CW_READWRITE_RS.F: mnc_cw_readwrite.template
68            cat $< | sed -e 's/RX/RS/g' | sed -e 's/__V/_RS/g' > $@
69    MNC_CW_READWRITE_RL.F: mnc_cw_readwrite.template
70            cat $< | sed -e 's/RX/RL/g' | sed -e 's/__V/_RL/g' > $@
71    MNC_CW_READWRITE_I.F: mnc_cw_readwrite.template
72            cat $< | sed -e 's/RX/I/g' | sed -e 's/__V/INTEGER/g' > $@
73    
74    tag = ../../doc/tag-index
75    
76    mnc_id_header.h:
77            -./parse_local_info > $@
78    
79    test: all mnc_test_001 mnc_test_002
80          echo "running mnc_test_001 ..."          echo "running mnc_test_001 ..."
81          ./mnc_test_001          ./mnc_test_001 > t_out_001 && ncdump test_001.nc | head -20
82          echo "... done"          ./mnc_test_002 > t_out_002 && tail -15 t_out_002
83    
84  mnc_test_001: $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(TEST_OBJECTS) $(FILES) $(OBJECTS) mnc_test_001.o  mnc_test_001: $(ALL_TEST) $(FILES) $(OBJECTS) mnc_test_001.o
85          $(FC) -o mnc_test_001 mnc_test_001.o $(OBJECTS) $(TEST_OBJECTS) -lnetcdf          $(FC) -o mnc_test_001 mnc_test_001.o $(OBJECTS) $(TEST_OBJECTS) -lnetcdf
86    
87    mnc_test_002: $(ALL_TEST) $(FILES) $(OBJECTS) mnc_test_002.o
88            $(FC) -o mnc_test_002 mnc_test_002.o $(OBJECTS) $(TEST_OBJECTS) -lnetcdf
89    
90    CLEAN:
91            @make clean
92            -rm -f mnc_netcdf_stubs.c
93    Clean:
94            @make clean
95  clean:  clean:
96          -rm -f *.o $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(TEST_OBJECTS)          -rm -f *.o $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(TEST_OBJECTS)
97          -rm -f mnc_test_???.F mnc_test_???          -rm -f mnc_test_???.F mnc_test_??? test_???.nc t_out_???
98            -rm -f $(TEMPLATE_FILES) mnc_id_header.h
99            -rm -f mnc_netcdf_stubs.o
100    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.22