annotate mkoctfile.in @ 3734:40574699e4ec

[project @ 2000-11-02 01:47:55 by jwe]
author jwe
date Thu, 02 Nov 2000 01:47:55 +0000
parents 9265596fe0d1
children cf69dbe17e59
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
1 #! /bin/sh
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
2 #
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
3 # mkoctfile -- create a .oct file suitable for dynamic linking by
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
4 # Octave.
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
5
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
6 # Exit immediately on any error.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
7
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
8 set -e
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
9
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
10 # Default values for these variables are filled in when Octave is
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
11 # compiled.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
12
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
13 : ${CPPFLAGS=%OCTAVE_CONF_CPPFLAGS%}
3591
b35c6af4c49c [project @ 2000-02-08 19:19:17 by jwe]
jwe
parents: 3590
diff changeset
14 : ${INCFLAGS=%OCTAVE_CONF_MKOCTFILE_INCFLAGS%}
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
15 : ${F77=%OCTAVE_CONF_F77%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
16 : ${FFLAGS=%OCTAVE_CONF_FFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
17 : ${FPICFLAG=%OCTAVE_CONF_FPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
18 : ${CC=%OCTAVE_CONF_CC%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
19 : ${CFLAGS=%OCTAVE_CONF_CFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
20 : ${CPICFLAG=%OCTAVE_CONF_CPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
21 : ${CXX=%OCTAVE_CONF_CXX%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
22 : ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
23 : ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
24 : ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
25 : ${XTRA_CXXFLAGS=%OCTAVE_CONF_XTRA_CXXFLAGS%}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
26
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
27 : ${SH_LD=%OCTAVE_CONF_SH_LD%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
28 : ${SH_LDFLAGS=%OCTAVE_CONF_SH_LDFLAGS%}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
29
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
30 : ${ALL_FFLAGS="$FFLAGS"}
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
31
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3088
diff changeset
32 : ${ALL_CFLAGS="$INCFLAGS $XTRA_CFLAGS $CFLAGS"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
33
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3088
diff changeset
34 : ${ALL_CXXFLAGS="$INCFLAGS $XTRA_CXXFLAGS $CXXFLAGS"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
35
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
36 # Local variables.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
37
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
38 usage_msg="usage: mkoctfile [options] file ..."
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
39
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
40 cfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
41 ccfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
42 f77files=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
43 objfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
44 octfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
45 octfile=
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
46 incflags=
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
47 defs=
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
48 ldflags=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
49 dbg=:
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
50 strip=false
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
51
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
52 if [ $# -eq 0 ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
53 echo $usage_msg
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
54 exit 1;
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
55 fi
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
56
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
57 while [ $# -gt 0 ]; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
58 file=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
59 case "$1" in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
60 *.c)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
61 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
62 cfiles="$cfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
63 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
64 *.cc | *.C | *.cpp)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
65 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
66 ccfiles="$ccfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
67 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
68 *.f | *.F)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
69 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
70 f77files="$f77files $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
71 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
72 *.o)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
73 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
74 objfiles="$objfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
75 ;;
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
76 -d | --debug | -v | --verbose)
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
77 dbg=echo
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
78 ;;
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3180
diff changeset
79 -h | -\? | --help)
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
80 echo $usage_msg
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
81 cat << EOF
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
82
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
83 Options:
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
84
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3180
diff changeset
85 -h, -?, --help Print this message.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
86
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
87 -IDIR Add -IDIR to compile commands.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
88
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
89 -DDEF Add -DDEF to compile commands.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
90
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
91 -lLIB Add library LIB to link command.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
92
3087
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
93 -LDIR Add -LDIR to link command.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
94
3052
2be7cb1a8be6 [project @ 1997-06-12 17:44:17 by jwe]
jwe
parents: 3051
diff changeset
95 -o FILE, --output FILE Output file name. Default extension is .oct.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
96
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
97 -p VAR, --print VAR Print configuration variable VAR. Recognized
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
98 variables are:
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
99
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
100 CPPFLAGS CXX
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
101 INCFLAGS CXXFLAGS
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
102 F77 CXXPICFLAG
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
103 FFLAGS XTRA_CFLAGS
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
104 FPICFLAG XTRA_CXXFLAGS
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
105 CC SHLEXT
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
106 CFLAGS SH_LD
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
107 CPICFLAG SH_LDFLAGS
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
108
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
109 -s, --strip Strip output file.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
110
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
111 -v, --verbose Echo commands as they are executed.
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
112
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
113 FILE Compile or link FILE. Recognized file types are:
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
114
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
115 .c C source
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
116 .cc C++ source
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
117 .C C++ source
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
118 .cpp C++ source
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
119 .f Fortran source
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
120 .F Fortran source
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
121 .o object file
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
122
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
123 EOF
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
124 exit 0
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
125 ;;
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
126 -I*)
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3131
diff changeset
127 incflags="$incflags $1"
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
128 ;;
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
129 -D*)
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
130 defs="$defs $1"
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
131 ;;
3087
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
132 -[lL]*)
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3131
diff changeset
133 ldflags="$ldflags $1"
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
134 ;;
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
135 -o | --output)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
136 shift
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
137 if [ $# -gt 0 ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
138 octfile=`echo $1 | sed 's,\.[^.]*$,,'`.oct
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
139 else
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
140 echo "mkoctfile: output file name missing"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
141 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
142 ;;
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
143 -p | --print)
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
144 shift
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
145 if [ $# -gt 0 ]; then
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
146 eval echo \${$1}
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
147 exit 0
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
148 else
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
149 echo "mkprdmod: --print requires argument"
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
150 exit 1
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
151 fi
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
152 ;;
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
153 -s | --strip)
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
154 strip=true
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
155 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
156 *)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
157 echo "mkoctfile: unrecognized argument $1"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
158 exit 1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
159 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
160 esac
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
161 if [ -n "$file" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
162 if [ -z "$octfile" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
163 octfile=`echo $file | sed 's,\.[^.]*$,,'`.oct
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
164 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
165 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
166 shift
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
167 done
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
168
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
169 # Compile Fortran, C, and C++ files. Add the name of each object file
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
170 # that is produced to the overall list of object files.
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
171
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
172 if [ -n "$f77files" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
173 for f in $f77files; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
174 case $f in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
175 *.f)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
176 b=`echo $f | sed 's,\.f$,,'`
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
177 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
178 *.F)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
179 b=`echo $f | sed 's,\.F$,,'`
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
180 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
181 esac
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
182 o=$b.o
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
183 objfiles="$objfiles $o"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
184 $dbg $F77 -c $FPICFLAG $ALL_FFLAGS $f -o $o
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
185 eval $F77 -c $FPICFLAG $ALL_FFLAGS $f -o $o
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
186 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
187 fi
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
188
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
189 if [ -n "$cfiles" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
190 for f in $cfiles; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
191 b=`echo $f | sed 's,\.c$,,'`
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
192 o=$b.o
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
193 objfiles="$objfiles $o"
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
194 $dbg $CC -c $CPPFLAGS $CPICFLAG $ALL_CFLAGS $incflags $defs $f -o $o
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
195 eval $CC -c $CPPFLAGS $CPICFLAG $ALL_CFLAGS $incflags $defs $f -o $o
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
196 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
197 fi
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
198
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
199 if [ -n "$ccfiles" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
200 for f in $ccfiles; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
201 case $f in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
202 *.cc)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
203 b=`echo $f | sed 's,\.cc$,,'`
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
204 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
205 *.C)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
206 b=`echo $f | sed 's,\.C$,,'`
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
207 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
208 *.cpp)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
209 b=`echo $f | sed 's,\.cpp$,,'`
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
210 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
211 esac
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
212 o=$b.o
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
213 objfiles="$objfiles $o"
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
214 $dbg $CXX -c $CPPFLAGS $CXXPICFLAG $ALL_CXXFLAGS $incflags $defs $f -o $o
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
215 eval $CXX -c $CPPFLAGS $CXXPICFLAG $ALL_CXXFLAGS $incflags $defs $f -o $o
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
216 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
217 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
218
3660
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
219 ## Uncomment the following group of lines if you get `Text file busy'
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
220 ## errors from ld. This may happen if the .oct file is currently
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
221 ## running while you are trying to recompile it. We try moving first,
3733
9265596fe0d1 [project @ 2000-11-01 18:59:44 by jwe]
jwe
parents: 3663
diff changeset
222 ## since on some systems (HP-UX, maybe others) it is possible to
3660
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
223 ## rename running programs but not remove them.
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
224
3663
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
225 ## if [ -f "$octfile" ]; then
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
226 ## $dbg "mv $octfile $octfile.bak"
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
227 ## mv $octfile $octfile.bak
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
228 ## $dbg "rm -f $octfile.bak"
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
229 ## rm -f $octfile.bak
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
230 ## fi
3659
e68976912bb5 [project @ 2000-04-19 16:43:56 by jwe]
jwe
parents: 3591
diff changeset
231
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
232 # Link all the object files.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
233
3087
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
234 $dbg $SH_LD $SH_LDFLAGS -o $octfile $objfiles $ldflags
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
235 eval $SH_LD $SH_LDFLAGS -o $octfile $objfiles $ldflags
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
236
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
237 # Maybe strip it.
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
238
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
239 if $strip; then
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
240 $dbg strip $octfile
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
241 eval strip $octfile
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
242 fi
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
243
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
244 exit 0