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

Contents of /MITgcm/pkg/mnc/Makefile

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


Revision 1.18 - (show annotations) (download)
Mon Oct 8 17:00:16 2007 UTC (16 years, 8 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint59q, checkpoint59p, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59k, checkpoint59j
Changes since 1.17: +2 -1 lines
add cvs $Header:$ or $Name:$ where they were missing

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

  ViewVC Help
Powered by ViewVC 1.1.22