Page MenuHomec4science

Makefile
No OneTemporary

File Metadata

Created
Wed, Jul 30, 14:13

Makefile

#
# $Header: /u/gcmpack/MITgcm/pkg/mnc/Makefile,v 1.20 2008/07/20 13:57:49 jmc Exp $
# $Name: $
#
# A Makefile for MNC templates and testing
#
FC = f77
CPP = cpp
.SUFFIXES:
.SUFFIXES: .T .t .F .f .h .o
.t.h:
cat $< > $@
.T.F:
cat $< > $@
.F.f:
$(CPP) $(DEFINES) > $@
.f.o:
$(FC) -DMNC_TEST -c $<
TEST_LINKS = EEPARAMS.h utils.F
TEST_HEADERS = PACKAGES_CONFIG.h CPP_OPTIONS.h SIZE.h
TEST_FILES = mnc_test_utils.F
TEST_DEFINES = -DMNC_DEBUG
FILES = \
mnc_dim.F \
mnc_file.F \
mnc_grid.F \
mnc_init.F \
mnc_utils.F \
mnc_var.F \
mnc_cwrapper.F
TEST_OBJECTS = $(TEST_FILES:.F=.o)
OBJECTS = $(FILES:.F=.o)
ALL_TEST = $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(TEST_OBJECTS)
all: templates
noexe: $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(FILES) $(OBJECTS)
echo "compiled"
EEPARAMS.h:
ln -s ../../eesupp/inc/EEPARAMS.h .
utils.F:
ln -s ../../eesupp/src/utils.F .
TEMPLATE_FILES = \
MNC_CW_READWRITE_RS.F \
MNC_CW_READWRITE_RL.F \
MNC_CW_READWRITE_I.F
TEMPLATE_OBJECTS = $(TEMPLATE_FILES:.F=.o)
mnc_netcdf_stubs.c: mnc_netcdf_stubs.h
-./build_netcdf_stubs > tmp_mnc_netcdf_stubs.c
-cpp -P < tmp_mnc_netcdf_stubs.c > mnc_netcdf_stubs.c
-rm -f tmp_mnc_netcdf_stubs.c
mnc_netcdf_stubs.o: mnc_netcdf_stubs.c
-gcc -c mnc_netcdf_stubs.c
templates: $(TEMPLATE_FILES) MNC_ID_HEADER.h
MNC_CW_READWRITE_RS.F: mnc_cw_readwrite.template
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
MNC_CW_READWRITE_RL.F: mnc_cw_readwrite.template
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
MNC_CW_READWRITE_I.F: mnc_cw_readwrite.template
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
tag = ../../doc/tag-index
MNC_ID_HEADER.h:
-./parse_local_info > $@
test: all mnc_test_001 mnc_test_002
echo "running mnc_test_001 ..."
./mnc_test_001 > t_out_001 && ncdump test_001.nc | head -20
./mnc_test_002 > t_out_002 && tail -15 t_out_002
mnc_test_001: $(ALL_TEST) $(FILES) $(OBJECTS) mnc_test_001.o
$(FC) -o mnc_test_001 mnc_test_001.o $(OBJECTS) $(TEST_OBJECTS) -lnetcdf
mnc_test_002: $(ALL_TEST) $(FILES) $(OBJECTS) mnc_test_002.o
$(FC) -o mnc_test_002 mnc_test_002.o $(OBJECTS) $(TEST_OBJECTS) -lnetcdf
CLEAN:
@make clean
-rm -f mnc_netcdf_stubs.c
Clean:
@make clean
testclean:
-rm -f *.o $(TEST_LINKS) $(TEST_HEADERS) $(TEST_FILES) $(TEST_OBJECTS)
-rm -f mnc_test_???.F mnc_test_??? test_???.nc t_out_???
clean: testclean
-rm -f $(TEMPLATE_FILES) MNC_ID_HEADER.h mnc_id_header.h
-rm -f mnc_netcdf_stubs.o

Event Timeline