2 |
# |
# |
3 |
# Apply code parsing programs to a set of source files |
# Apply code parsing programs to a set of source files |
4 |
# |
# |
5 |
set SRCDIR = work |
set SRCDIR = ./work |
6 |
set CURDIR = `pwd` |
set CURDIR = `pwd` |
7 |
|
|
8 |
echo 'Parsing code' |
echo 'Parsing code' |
9 |
echo 'Code revision requested is '$1 |
#eh3 echo 'Code revision requested is '$1 |
10 |
|
|
11 |
\rm -fr $SRCDIR |
\rm -f $SRCDIR |
12 |
|
|
13 |
# A simple example |
# A simple example |
14 |
#mkdir -p $SRCDIR |
#mkdir -p $SRCDIR |
19 |
#cp -pr ${CURDIR}/callTree.header . |
#cp -pr ${CURDIR}/callTree.header . |
20 |
|
|
21 |
# Applying it to the whole code ( first -d will only work on local 18.24.3 system ) |
# Applying it to the whole code ( first -d will only work on local 18.24.3 system ) |
22 |
cvs -d /u/gcmpack co -d $SRCDIR -P -r $1 MITgcm > checkout.log |
#eh3 Replace CVS checkout with a soft-link |
23 |
|
#eh3 cvs -d /u/gcmpack co -d $SRCDIR -P -r $1 MITgcm > checkout.log |
24 |
|
if (-d ../../../../../MITgcm) then |
25 |
|
ln -s ../../../../../MITgcm work |
26 |
|
else |
27 |
|
echo "ERROR: please get a copy of the MITgcm code and locate it at:" |
28 |
|
echo " "`pwd`"../../../../../MITgcm" |
29 |
|
endif |
30 |
|
#eh3 |
31 |
|
cp -fpr callTree.F $SRCDIR |
32 |
|
cp -fpr callTree.header $SRCDIR |
33 |
cd $SRCDIR |
cd $SRCDIR |
|
cp -pr ${CURDIR}/callTree.F . |
|
|
cp -pr ${CURDIR}/callTree.header . |
|
34 |
|
|
35 |
set fl = `find . -name '*.F'` |
set fl = `/usr/bin/find . -name '*.F'` |
36 |
set hl = `find . -name '*.h'` |
set hl = `/usr/bin/find . -name '*.h'` |
37 |
|
|
38 |
# Extract definition information |
# Extract definition information |
39 |
echo "o Extracting definition information" |
### echo "o Extracting definition information" |
40 |
( cd ${CURDIR}/../DefinitionParser; make ) |
### ( cd ${CURDIR}/../DefinitionParser; make ) |
41 |
cat $fl $hl | ${CURDIR}/../DefinitionParser/a.out > thedefs |
### cat $fl $hl | ${CURDIR}/../DefinitionParser/a.out > thedefs |
42 |
|
|
43 |
# Generate hyperlinked code and browser files. |
# Generate hyperlinked code and browser files. |
44 |
echo "o Generating hyperlinked code (this takes a few minutes)" |
echo "o Generating hyperlinked code (this takes a few minutes)" |
45 |
( cd ${CURDIR}/../F90Mapper; make ) |
( cd ${CURDIR}/../F90Mapper; make ) |
46 |
${CURDIR}/../F90Mapper/f90mapper -d thedefs $fl $hl >& mapper.log |
${CURDIR}/../F90Mapper/f90mapper -d thedefs $fl $hl >& mapper.log |
47 |
|
|
48 |
|
#cnh debugging |
49 |
|
#cnh exit |
50 |
|
|
51 |
# Make the calling tree hyperlinked |
# Make the calling tree hyperlinked |
52 |
# callTree.F was hand-extracted from model/src/the_model_main.F |
# callTree.F was hand-extracted from model/src/the_model_main.F |
53 |
echo "o Generating hyperlinked call tree" |
echo "o Generating hyperlinked call tree" |