annotate mkoctfile.in @ 4720:e759d01692db ss-2-1-53

[project @ 2004-01-23 04:13:37 by jwe]
author jwe
date Fri, 23 Jan 2004 04:13:37 +0000
parents 40153a2affd6
children 364bbf35dbfa
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
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
13 : ${SED=%OCTAVE_CONF_SED%}
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
14
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
15 : ${CPPFLAGS=%OCTAVE_CONF_CPPFLAGS%}
3591
b35c6af4c49c [project @ 2000-02-08 19:19:17 by jwe]
jwe
parents: 3590
diff changeset
16 : ${INCFLAGS=%OCTAVE_CONF_MKOCTFILE_INCFLAGS%}
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
17 : ${F2C=%OCTAVE_CONF_F2C%}
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
18 : ${F2CFLAGS=%OCTAVE_CONF_F2CFLAGS%}
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
19 : ${F77=%OCTAVE_CONF_F77%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
20 : ${FFLAGS=%OCTAVE_CONF_FFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
21 : ${FPICFLAG=%OCTAVE_CONF_FPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
22 : ${CC=%OCTAVE_CONF_CC%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
23 : ${CFLAGS=%OCTAVE_CONF_CFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
24 : ${CPICFLAG=%OCTAVE_CONF_CPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
25 : ${CXX=%OCTAVE_CONF_CXX%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
26 : ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
27 : ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
28 : ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
29 : ${XTRA_CXXFLAGS=%OCTAVE_CONF_XTRA_CXXFLAGS%}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
30
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
31 : ${DEPEND_FLAGS=%OCTAVE_CONF_DEPEND_FLAGS%}
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
32 : ${DEPEND_EXTRA_SED_PATTERN=%OCTAVE_CONF_DEPEND_EXTRA_SED_PATTERN%}
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
33
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
34 : ${SH_LD=%OCTAVE_CONF_SH_LD%}
4199
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
35 : ${SH_LDFLAGS=%OCTAVE_CONF_MKOCTFILE_SH_LDFLAGS%}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
36
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
37 : ${RLD_FLAG=%OCTAVE_CONF_RLD_FLAG%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
38 : ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%}
4228
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
39 : ${LIBOCTAVE=-loctave}
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
40 : ${LIBOCTINTERP=-loctinterp}
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
41 : ${LIBREADLINE=-lreadline}
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
42 : ${LIBCRUFT=-lcruft}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
43 : ${BLAS_LIBS=%OCTAVE_CONF_BLAS_LIBS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
44 : ${FFTW_LIBS=%OCTAVE_CONF_FFTW_LIBS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
45 : ${LIBS=%OCTAVE_CONF_LIBS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
46 : ${FLIBS=%OCTAVE_CONF_FLIBS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
47 : ${LD_CXX=%OCTAVE_CONF_LD_CXX%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
48 : ${LDFLAGS=%OCTAVE_CONF_LDFLAGS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
49 : ${LD_STATIC_FLAG=%OCTAVE_CONF_LD_STATIC_FLAG%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
50 : ${LFLAGS=%OCTAVE_CONF_MKOCTFILE_LFLAGS%}
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
51 : ${INCLUDE_LINK_DEPS=%OCTAVE_CONF_INCLUDE_LINK_DEPS%}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
52
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
53 : ${ALL_FFLAGS="$FFLAGS"}
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
54
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3088
diff changeset
55 : ${ALL_CFLAGS="$INCFLAGS $XTRA_CFLAGS $CFLAGS"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
56
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3088
diff changeset
57 : ${ALL_CXXFLAGS="$INCFLAGS $XTRA_CXXFLAGS $CXXFLAGS"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
58
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3860
diff changeset
59 : ${ALL_LDFLAGS="$LD_STATIC_FLAG $CPICFLAG $LDFLAGS"}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
60
4228
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
61 : ${OCTAVE_LIBS="$LIBOCTINTERP $LIBOCTAVE $SPECIAL_MATH_LIB $LIBCRUFT"}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
62
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
63 # Local variables.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
64
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
65 usage_msg="usage: mkoctfile [options] file ..."
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
66
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
67 cfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
68 ccfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
69 f77files=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
70 objfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
71 octfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
72 octfile=
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
73 outputfile=
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
74 incflags=
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
75 defs=
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
76 ldflags=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
77 dbg=:
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
78 strip=false
4199
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
79 no_oct_file_strip_on_this_platform=%NO_OCT_FILE_STRIP%
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
80 link=true
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
81 link_stand_alone=false
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
82 depend=false
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
83 compile=true
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
84
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
85 if [ $# -eq 0 ]; then
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
86 echo $usage_msg 1>&2
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
87 exit 1
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
88 fi
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
89
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
90 while [ $# -gt 0 ]; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
91 file=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
92 case "$1" in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
93 *.c)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
94 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
95 cfiles="$cfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
96 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
97 *.cc | *.C | *.cpp)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
98 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
99 ccfiles="$ccfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
100 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
101 *.f | *.F)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
102 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
103 f77files="$f77files $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
104 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
105 *.o)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
106 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
107 objfiles="$objfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
108 ;;
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
109 -d | --debug | -v | --verbose)
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
110 dbg=echo
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
111 ;;
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3180
diff changeset
112 -h | -\? | --help)
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
113 echo $usage_msg 1>&2
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
114 cat << EOF
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
115
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
116 Options:
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
117
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3180
diff changeset
118 -h, -?, --help Print this message.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
119
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
120 -IDIR Add -IDIR to compile commands.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
121
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
122 -DDEF Add -DDEF to compile commands.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
123
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
124 -lLIB Add library LIB to link command.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
125
3087
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
126 -LDIR Add -LDIR to link command.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
127
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
128 -M, --depend Generate dependency files (.d) for C and C++
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
129 source files.
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
130
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
131 -c, --compile Compile, but do not link.
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
132
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
133 -o FILE, --output FILE Output file name. Default extension is .oct
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
134 unless linking a stand-alone executable.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
135
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
136 -p VAR, --print VAR Print configuration variable VAR. Recognized
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
137 variables are:
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
138
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
139 CPPFLAGS CPICFLAG
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
140 INCFLAGS CXX
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
141 F2C CXXFLAGS
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
142 F2CFLAGS CXXPICFLAG
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
143 F77 XTRA_CFLAGS
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
144 FFLAGS XTRA_CXXFLAGS
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
145 FPICFLAG SHLEXT
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
146 CC SH_LD
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
147 CFLAGS SH_LDFLAGS
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
148
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
149 INCLUDE_LINK_DEPS
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
150
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
151 LD_CXX LFLAGS
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
152 LDFLAGS LD_STATIC_FLAG
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
153 RLD_FLAG RDYNAMIC_FLAG
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
154
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
155 LIBOCTAVE LIBCRUFT
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
156 LIBOCTINTERP OCTAVE_LIBS
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
157 BLAS_LIBS FFTW_LIBS
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
158 LIBS FLIBS
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
159
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
160 --link-stand-alone Link a stand-alone executable file.
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
161
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
162 -s, --strip Strip output file.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
163
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
164 -v, --verbose Echo commands as they are executed.
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
165
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
166 FILE Compile or link FILE. Recognized file types are:
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
167
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
168 .c C source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
169 .cc C++ source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
170 .C C++ source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
171 .cpp C++ source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
172 .f Fortran source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
173 .F Fortran source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
174 .o object file
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
175
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
176 EOF
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
177 exit 0
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
178 ;;
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
179 -I*)
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3131
diff changeset
180 incflags="$incflags $1"
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
181 ;;
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
182 -D*)
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
183 defs="$defs $1"
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
184 ;;
3087
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
185 -[lL]*)
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3131
diff changeset
186 ldflags="$ldflags $1"
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
187 ;;
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
188 -M | --depend)
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
189 depend=true
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
190 compile=false
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
191 ;;
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
192 -o | --output)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
193 shift
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
194 if [ $# -gt 0 ]; then
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
195 outputfile="$1"
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
196 else
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
197 echo "mkoctfile: output file name missing" 1>&2
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
198 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
199 ;;
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
200 -p | --print)
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
201 shift
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
202 if [ $# -gt 0 ]; then
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
203 eval echo \${$1}
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
204 exit 0
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
205 else
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
206 echo "mkoctfile: --print requires argument" 1>&2
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
207 exit 1
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
208 fi
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
209 ;;
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
210 -s | --strip)
4199
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
211 if $no_oct_file_strip_on_this_platform; then
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
212 echo "mkoctfile: stripping disabled on this platform" 1>&2
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
213 else
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
214 strip=true
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
215 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
216 ;;
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
217 -c | --compile)
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
218 link=false
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
219 ;;
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
220 --link-stand-alone)
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
221 link_stand_alone=true
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
222 ;;
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
223 *)
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
224 echo "mkoctfile: unrecognized argument $1" 1>&2
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
225 exit 1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
226 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
227 esac
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
228 if [ -n "$file" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
229 if [ -z "$octfile" ]; then
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
230 octfile="$file"
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
231 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
232 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
233 shift
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
234 done
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
235
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
236 if $link_stand_alone; then
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
237 if [ -n "$outputfile" ]; then
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
238 output_option="-o $outputfile"
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
239 fi
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
240 else
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
241 if [ -n "$outputfile" ]; then
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
242 octfile="$outputfile"
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
243 else
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
244 octfile=`echo $octfile | $SED 's,\.[^.]*$,,'`.oct
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
245 fi
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
246 fi
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
247
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
248 # Generate dependency files for C and C++ files.
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
249
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
250 if $depend; then
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
251 if [ -n "$cfiles" ]; then
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
252 for f in $cfiles; do
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
253 b=`echo $f | $SED 's,\.c$,,'`
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
254 d=$b.d
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
255 cmd="rm -f $d"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
256 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
257 eval $cmd
4206
fc514e47666e [project @ 2002-11-29 20:13:01 by jwe]
jwe
parents: 4201
diff changeset
258 cmd="$CC $DEPEND_FLAGS $CPPFLAGS $ALL_CFLAGS $incflags $def $f | $SED $DEPEND_EXTRA_SED_PATTERN -e 's,^[^:]*/\(.*\.o\):,\1:,' -e 's,$b\.o,pic/& & $d,g' > $d-t && mv $d-t $d"
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
259 $dbg $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
260 eval $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
261 done
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
262 fi
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
263
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
264 if [ -n "$ccfiles" ]; then
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
265 for f in $ccfiles; do
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
266 case $f in
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
267 *.cc)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
268 b=`echo $f | $SED 's,\.cc$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
269 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
270 *.C)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
271 b=`echo $f | $SED 's,\.C$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
272 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
273 *.cpp)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
274 b=`echo $f | $SED 's,\.cpp$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
275 ;;
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
276 esac
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
277 d=$b.d
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
278 cmd="rm -f $d"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
279 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
280 eval $cmd
4206
fc514e47666e [project @ 2002-11-29 20:13:01 by jwe]
jwe
parents: 4201
diff changeset
281 cmd="$CXX $DEPEND_FLAGS $CPPFLAGS $ALL_CXXFLAGS $incflags $defs $f | $SED $DEPEND_EXTRA_SED_PATTERN -e 's,^[^:]*/\(.*\.o\):,\1:,' -e 's,$b\.o,pic/& & $d,g' > $d-t && mv $d-t $d"
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
282 $dbg $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
283 eval $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
284 done
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
285 fi
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
286 # If generating dependencies, that's all we do.
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
287 exit 0
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
288 fi
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
289
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
290 # 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
291 # 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
292
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
293 if [ -n "$f77files" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
294 for f in $f77files; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
295 case $f in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
296 *.f)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
297 b=`echo $f | $SED 's,\.f$,,'`
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
298 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
299 *.F)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
300 b=`echo $f | $SED 's,\.F$,,'`
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
301 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
302 esac
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
303 if [ -n "$F77" ]; then
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
304 o=$b.o
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
305 objfiles="$objfiles $o"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
306 cmd="$F77 -c $FPICFLAG $ALL_FFLAGS $f -o $o"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
307 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
308 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
309 elif [ -n "$F2C" ]; then
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
310 c=$b.c
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
311 cfiles="$cfiles $c"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
312 cmd="$F2C $F2CFLAGS < $f > $c"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
313 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
314 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
315 else
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
316 echo "mkoctfile: no way to compile Fortran file $f" 1>&2
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
317 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
318 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
319 fi
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
320
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
321 if [ -n "$cfiles" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
322 for f in $cfiles; do
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
323 if [ -n "$CC" ]; then
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
324 b=`echo $f | $SED 's,\.c$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
325 o=$b.o
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
326 objfiles="$objfiles $o"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
327 cmd="$CC -c $CPPFLAGS $CPICFLAG $ALL_CFLAGS $incflags $defs $f -o $o"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
328 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
329 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
330 else
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
331 echo "mkoctfile: no way to compile C++ file $f" 1>&2
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
332 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
333 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
334 fi
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
335
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
336 if [ -n "$ccfiles" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
337 for f in $ccfiles; do
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
338 if [ -n "$CXX" ]; then
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
339 case $f in
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
340 *.cc)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
341 b=`echo $f | $SED 's,\.cc$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
342 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
343 *.C)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
344 b=`echo $f | $SED 's,\.C$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
345 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
346 *.cpp)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
347 b=`echo $f | $SED 's,\.cpp$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
348 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
349 esac
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
350 o=$b.o
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
351 objfiles="$objfiles $o"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
352 cmd="$CXX -c $CPPFLAGS $CXXPICFLAG $ALL_CXXFLAGS $incflags $defs $f -o $o"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
353 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
354 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
355 else
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
356 echo "mkoctfile: no way to compile C++ file $f" 1>&2
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
357 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
358 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
359 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
360
3660
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
361 ## 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
362 ## 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
363 ## 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
364 ## 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
365 ## rename running programs but not remove them.
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
366
3663
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
367 ## if [ -f "$octfile" ]; then
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
368 ## cmd="mv $octfile $octfile.bak"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
369 ## $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
370 ## eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
371 ## cmd="rm -f $octfile.bak"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
372 ## $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
373 ## eval $cmd
3663
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
374 ## fi
3659
e68976912bb5 [project @ 2000-04-19 16:43:56 by jwe]
jwe
parents: 3591
diff changeset
375
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
376 # Link all the object files.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
377
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
378 if $link; then
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
379 if $link_stand_alone; then
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
380 if [ -n "$LD_CXX" ]; then
4229
40153a2affd6 [project @ 2002-12-18 20:37:32 by jwe]
jwe
parents: 4228
diff changeset
381 cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS $output_option $objfiles $ldflags $LFLAGS $RLD_FLAG $OCTAVE_LIBS $BLAS_LIBS $FFTW_LIBS $LIBREADLINE $LIBS $FLIBS"
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
382 $dbg $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
383 eval $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
384 else
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
385 echo "mkoctfile: no way to link stand-alone executable file" 1>&2
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
386 exit 1
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
387 fi
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
388 else
4102
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
389 LINK_DEPS=
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
390 if $INCLUDE_LINK_DEPS ; then
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
391 LINK_DEPS="$LFLAGS $LIBOCTAVE $LIBCRUFT $LIBOCTINTERP $BLAS_LIBS $FFTW_LIBS"
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
392 fi
cbac6756967e [project @ 2002-10-14 20:16:44 by jwe]
jwe
parents: 4084
diff changeset
393 cmd="$SH_LD $SH_LDFLAGS -o $octfile $objfiles $ldflags $LINK_DEPS"
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
394 $dbg $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
395 eval $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
396 fi
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
397
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
398 # Maybe strip it.
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
399
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
400 if $strip; then
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
401 cmd="strip $octfile"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
402 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
403 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
404 fi
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
405 fi
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
406
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
407 exit 0