annotate src/mkoctfile.in.sh @ 15063:36cbcc37fdb8

Refactor configure.ac to make it more understandable. Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests. * configure.ac, m4/acinclude.m4: Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests.
author Rik <rik@octave.org>
date Tue, 31 Jul 2012 10:28:51 -0700
parents 1bf39e944e43
children 648dabbb4c6b
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
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
2 ##
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
3 ## mkoctfile -- create a .oct file suitable for dynamic linking by
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
4 ## Octave.
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
5 ##
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 13133
diff changeset
6 ## Copyright (C) 1996-2012 John W. Eaton
7017
a1dbe9d80eee [project @ 2007-10-12 21:27:11 by jwe]
jwe
parents: 7016
diff changeset
7 ##
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
8 ## This file is part of Octave.
9187
a3237ae32c0d eliminate last remnants of F2C variables
John W. Eaton <jwe@octave.org>
parents: 7017
diff changeset
9 ##
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
10 ## Octave is free software; you can redistribute it and/or modify it
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
11 ## under the terms of the GNU General Public License as published by the
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
12 ## Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
13 ## your option) any later version.
9187
a3237ae32c0d eliminate last remnants of F2C variables
John W. Eaton <jwe@octave.org>
parents: 7017
diff changeset
14 ##
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but WITHOUT
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
16 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
17 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
18 ## for more details.
9187
a3237ae32c0d eliminate last remnants of F2C variables
John W. Eaton <jwe@octave.org>
parents: 7017
diff changeset
19 ##
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
20 ## You should have received a copy of the GNU General Public License
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6782
diff changeset
22 ## <http://www.gnu.org/licenses/>.
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
23
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
24 # Exit immediately on any error.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
25
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
26 set -e
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
27
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
28 : ${SED=%OCTAVE_CONF_SED%}
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
29
6086
4278b170b9f9 [project @ 2006-10-25 15:11:40 by jwe]
jwe
parents: 6009
diff changeset
30 OCTAVE_VERSION=%OCTAVE_CONF_VERSION%
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
31 OCTAVE_PREFIX=%OCTAVE_CONF_PREFIX%
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
32
6682
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
33 DEFAULT_BINDIR=%OCTAVE_BINDIR%
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
34 DEFAULT_INCLUDEDIR=%OCTAVE_CONF_INCLUDEDIR%
6710
95ecf87531ca [project @ 2007-06-13 06:57:27 by jwe]
jwe
parents: 6682
diff changeset
35 DEFAULT_LIBDIR=%OCTAVE_CONF_LIBDIR%
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
36 DEFAULT_OCTINCLUDEDIR=%OCTAVE_CONF_OCTINCLUDEDIR%
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
37 DEFAULT_OCTLIBDIR=%OCTAVE_CONF_OCTLIBDIR%
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
38
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
39 if [ -n "$OCTAVE_HOME" ]; then
6682
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
40 DEFAULT_BINDIR="`echo $DEFAULT_BINDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`"
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
41 DEFAULT_INCLUDEDIR="`echo $DEFAULT_INCLUDEDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`"
6710
95ecf87531ca [project @ 2007-06-13 06:57:27 by jwe]
jwe
parents: 6682
diff changeset
42 DEFAULT_LIBDIR="`echo $DEFAULT_LIBDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`"
6319
e7e7c338bf99 [project @ 2007-02-16 11:14:44 by jwe]
jwe
parents: 6311
diff changeset
43 DEFAULT_OCTINCLUDEDIR="`echo $DEFAULT_OCTINCLUDEDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`"
e7e7c338bf99 [project @ 2007-02-16 11:14:44 by jwe]
jwe
parents: 6311
diff changeset
44 DEFAULT_OCTLIBDIR="`echo $DEFAULT_OCTLIBDIR | $SED "s,^$OCTAVE_PREFIX,$OCTAVE_HOME,"`"
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
45 fi
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
46
6682
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
47 : ${BINDIR=$DEFAULT_BINDIR}
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
48 : ${INCLUDEDIR=$DEFAULT_INCLUDEDIR}
6710
95ecf87531ca [project @ 2007-06-13 06:57:27 by jwe]
jwe
parents: 6682
diff changeset
49 : ${LIBDIR=$DEFAULT_LIBDIR}
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
50 : ${OCTINCLUDEDIR=$DEFAULT_OCTINCLUDEDIR}
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
51 : ${OCTLIBDIR=$DEFAULT_OCTLIBDIR}
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
52
9794
0d4613a736e9 convert build system to use automake and libtool
John W. Eaton <jwe@octave.org>
parents: 9538
diff changeset
53 DEFAULT_INCFLAGS="-I$OCTINCLUDEDIR/.. -I$OCTINCLUDEDIR"
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
54 if [ "$INCLUDEDIR" != /usr/include ]; then
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
55 DEFAULT_INCFLAGS="$DEFAULT_INCFLAGS -I$INCLUDEDIR"
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
56 fi
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
57
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
58 DEFAULT_LFLAGS="-L$OCTLIBDIR"
6710
95ecf87531ca [project @ 2007-06-13 06:57:27 by jwe]
jwe
parents: 6682
diff changeset
59 if [ "$LIBDIR" != /usr/lib ]; then
95ecf87531ca [project @ 2007-06-13 06:57:27 by jwe]
jwe
parents: 6682
diff changeset
60 DEFAULT_LFLAGS="$DEFAULT_LFLAGS -L$LIBDIR"
95ecf87531ca [project @ 2007-06-13 06:57:27 by jwe]
jwe
parents: 6682
diff changeset
61 fi
5285
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
62
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
63 # Default values for these variables are filled in when Octave is
9187
a3237ae32c0d eliminate last remnants of F2C variables
John W. Eaton <jwe@octave.org>
parents: 7017
diff changeset
64 # compiled.
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
65
6682
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
66 : ${EXEEXT=%OCTAVE_CONF_EXEEXT%}
1e440ccda1ca [project @ 2007-06-01 19:34:56 by jwe]
jwe
parents: 6319
diff changeset
67
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
68 : ${CPPFLAGS=%OCTAVE_CONF_CPPFLAGS%}
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
69 : ${INCFLAGS=$DEFAULT_INCFLAGS}
3590
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
70 : ${F77=%OCTAVE_CONF_F77%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
71 : ${FFLAGS=%OCTAVE_CONF_FFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
72 : ${FPICFLAG=%OCTAVE_CONF_FPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
73 : ${CC=%OCTAVE_CONF_CC%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
74 : ${CFLAGS=%OCTAVE_CONF_CFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
75 : ${CPICFLAG=%OCTAVE_CONF_CPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
76 : ${CXX=%OCTAVE_CONF_CXX%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
77 : ${CXXFLAGS=%OCTAVE_CONF_CXXFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
78 : ${CXXPICFLAG=%OCTAVE_CONF_CXXPICFLAG%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
79 : ${XTRA_CFLAGS=%OCTAVE_CONF_XTRA_CFLAGS%}
a31ee5c3b66c [project @ 2000-02-08 10:09:05 by jwe]
jwe
parents: 3233
diff changeset
80 : ${XTRA_CXXFLAGS=%OCTAVE_CONF_XTRA_CXXFLAGS%}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
81
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
82 : ${DEPEND_FLAGS=%OCTAVE_CONF_DEPEND_FLAGS%}
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
83 : ${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
84
4759
364bbf35dbfa [project @ 2004-02-15 00:08:06 by jwe]
jwe
parents: 4229
diff changeset
85 : ${DL_LD=%OCTAVE_CONF_DL_LD%}
364bbf35dbfa [project @ 2004-02-15 00:08:06 by jwe]
jwe
parents: 4229
diff changeset
86 : ${DL_LDFLAGS=%OCTAVE_CONF_MKOCTFILE_DL_LDFLAGS%}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
87
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
88 : ${RDYNAMIC_FLAG=%OCTAVE_CONF_RDYNAMIC_FLAG%}
4228
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
89 : ${LIBOCTAVE=-loctave}
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
90 : ${LIBOCTINTERP=-loctinterp}
9515
eee9b3150446 more configure tweaks
John W. Eaton <jwe@octave.org>
parents: 9245
diff changeset
91 : ${READLINE_LIBS=-lreadline}
4228
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
92 : ${LIBCRUFT=-lcruft}
11450
5eb10763069f substitute and use LAPACK_LIBS in mkoctfile script
John W. Eaton <jwe@octave.org>
parents: 10901
diff changeset
93 : ${LAPACK_LIBS=%OCTAVE_CONF_LAPACK_LIBS%}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
94 : ${BLAS_LIBS=%OCTAVE_CONF_BLAS_LIBS%}
9538
d0239bddf621 use OCTAVE_CHECK_LIB to check for zlib
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
95 : ${FFTW3_LDFLAGS=%OCTAVE_CONF_FFTW3_LDFLAGS%}
d0239bddf621 use OCTAVE_CHECK_LIB to check for zlib
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
96 : ${FFTW3_LIBS=%OCTAVE_CONF_FFTW3_LIBS%}
d0239bddf621 use OCTAVE_CHECK_LIB to check for zlib
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
97 : ${FFTW3F_LDFLAGS=%OCTAVE_CONF_FFTW3F_LDFLAGS%}
d0239bddf621 use OCTAVE_CHECK_LIB to check for zlib
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
98 : ${FFTW3F_LIBS=%OCTAVE_CONF_FFTW3F_LIBS%}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
99 : ${LIBS=%OCTAVE_CONF_LIBS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
100 : ${FLIBS=%OCTAVE_CONF_FLIBS%}
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
101 : ${OCTAVE_LINK_DEPS=%OCTAVE_CONF_OCTAVE_LINK_DEPS%}
13133
edb015064732 Fix the names of some OCTAVE_CONF variables in mkoctfile.in
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 13025
diff changeset
102 : ${OCTAVE_LINK_OPTS=%OCTAVE_CONF_OCTAVE_LINK_OPTS%}
edb015064732 Fix the names of some OCTAVE_CONF variables in mkoctfile.in
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 13025
diff changeset
103 : ${OCT_LINK_DEPS=%OCTAVE_CONF_OCT_LINK_DEPS%}
edb015064732 Fix the names of some OCTAVE_CONF variables in mkoctfile.in
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 13025
diff changeset
104 : ${OCT_LINK_OPTS=%OCTAVE_CONF_OCT_LINK_OPTS%}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
105 : ${LD_CXX=%OCTAVE_CONF_LD_CXX%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
106 : ${LDFLAGS=%OCTAVE_CONF_LDFLAGS%}
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
107 : ${LD_STATIC_FLAG=%OCTAVE_CONF_LD_STATIC_FLAG%}
6311
e2a1aca62551 [project @ 2007-02-15 21:18:34 by jwe]
jwe
parents: 6294
diff changeset
108 : ${LFLAGS=$DEFAULT_LFLAGS}
10773
cd16c1c3bc73 fix F77_INTEGER_8_FLAG problem in mkoctfile.in
Jaroslav Hajek <highegg@gmail.com>
parents: 10721
diff changeset
109 : ${F77_INTEGER_8_FLAG=%OCTAVE_CONF_F77_INTEGER_8_FLAG%}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
110
10721
4906ccf5d95e use F77_INTEGER8_FLAG in BLAS checking as well as ALL_FFLAGS in mkoctfile
Jaroslav Hajek <highegg@gmail.com>
parents: 9957
diff changeset
111 : ${ALL_FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
112
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3088
diff changeset
113 : ${ALL_CFLAGS="$INCFLAGS $XTRA_CFLAGS $CFLAGS"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
114
3131
9c5160c83bd2 [project @ 1998-01-29 04:46:33 by jwe]
jwe
parents: 3088
diff changeset
115 : ${ALL_CXXFLAGS="$INCFLAGS $XTRA_CXXFLAGS $CXXFLAGS"}
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
116
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents: 3860
diff changeset
117 : ${ALL_LDFLAGS="$LD_STATIC_FLAG $CPICFLAG $LDFLAGS"}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
118
4228
309e799edc5a [project @ 2002-12-18 18:10:13 by jwe]
jwe
parents: 4206
diff changeset
119 : ${OCTAVE_LIBS="$LIBOCTINTERP $LIBOCTAVE $SPECIAL_MATH_LIB $LIBCRUFT"}
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
120
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
121 # Local variables.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
122
9538
d0239bddf621 use OCTAVE_CHECK_LIB to check for zlib
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
123 FFTW_LIBS="$FFTW3_LDFLAGS $FFTW3_LIBS $FFTW3F_LDFLAGS $FFTW3F_LIBS"
d0239bddf621 use OCTAVE_CHECK_LIB to check for zlib
John W. Eaton <jwe@octave.org>
parents: 9515
diff changeset
124
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
125 usage_msg="usage: mkoctfile [options] file ..."
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
126
5285
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
127 version_msg="mkoctfile, version $OCTAVE_VERSION"
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
128
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
129 cfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
130 ccfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
131 f77files=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
132 objfiles=
6294
fa02b0b467b5 [project @ 2007-02-09 22:01:37 by jwe]
jwe
parents: 6187
diff changeset
133 libfiles=
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
134 octfiles=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
135 octfile=
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
136 outputfile=
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
137 incflags=
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
138 defs=
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
139 ldflags=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
140 dbg=:
4873
0358ed4394f5 [project @ 2004-04-22 05:51:20 by jwe]
jwe
parents: 4793
diff changeset
141 pass_on_options=
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
142 strip=false
4199
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
143 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
144 link=true
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
145 link_stand_alone=false
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5669
diff changeset
146 output_ext=".oct"
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
147 depend=false
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
148 compile=true
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
149
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
150 if [ $# -eq 0 ]; then
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
151 echo $usage_msg 1>&2
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
152 exit 1
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
153 fi
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
154
5285
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
155 if [ $# -eq 1 ]; then
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
156 case "$1" in
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
157 -v | -version | --version)
5285
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
158 echo $version_msg 1>&2
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
159 exit 0
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
160 ;;
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
161 esac
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
162 fi
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
163
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
164 while [ $# -gt 0 ]; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
165 file=
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
166 case "$1" in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
167 *.c)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
168 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
169 cfiles="$cfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
170 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
171 *.cc | *.C | *.cpp)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
172 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
173 ccfiles="$ccfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
174 ;;
5970
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
175 *.f | *.F | *.f90 | *.F90)
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
176 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
177 f77files="$f77files $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
178 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
179 *.o)
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
180 file=$1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
181 objfiles="$objfiles $file"
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
182 ;;
6294
fa02b0b467b5 [project @ 2007-02-09 22:01:37 by jwe]
jwe
parents: 6187
diff changeset
183 *.a)
fa02b0b467b5 [project @ 2007-02-09 22:01:37 by jwe]
jwe
parents: 6187
diff changeset
184 file=$1
fa02b0b467b5 [project @ 2007-02-09 22:01:37 by jwe]
jwe
parents: 6187
diff changeset
185 libfiles="$libfiles $file"
fa02b0b467b5 [project @ 2007-02-09 22:01:37 by jwe]
jwe
parents: 6187
diff changeset
186 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
187 -d | -debug | --debug | -v | -verbose | --verbose)
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
188 dbg=echo
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
189 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
190 -h | -\? | -help | --help)
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
191 echo $usage_msg 1>&2
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
192 cat << EOF
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
193
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
194 Options:
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
195
3233
98d0ee053ba4 [project @ 1999-01-27 20:23:40 by jwe]
jwe
parents: 3180
diff changeset
196 -h, -?, --help Print this message.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
197
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
198 -IDIR Add -IDIR to compile commands.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
199
5483
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
200 -idirafter DIR Add -idirafter DIR to compile commands.
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
201
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
202 -DDEF Add -DDEF to compile commands.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
203
12341
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
204 -lLIB Add -lLIB to link command.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
205
3087
dd4a9ab9c2bd [project @ 1997-09-25 16:51:17 by jwe]
jwe
parents: 3058
diff changeset
206 -LDIR Add -LDIR to link command.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
207
12341
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
208 -RDIR Add -RDIR to link command.
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
209
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
210 -g Enable debugging option for all compilers.
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
211
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
212 -pthread Add -pthread to link command.
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
213
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
214 -W... Pass flags to the compiler such as -Wa,OPTION.
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
215
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
216 -Wl,... Pass flags to the linker such as -Wl,-rpath=...
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
217
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
218 -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
219 source files.
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
220
12341
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
221 -c, --compile Compile, but do not link.
5199
16a6247730d9 [project @ 2005-03-10 20:24:45 by jwe]
jwe
parents: 5159
diff changeset
222
12341
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
223 --link-stand-alone Link a stand-alone executable file.
6153
e60688a1ea07 [project @ 2006-11-13 17:30:54 by jwe]
jwe
parents: 6086
diff changeset
224
12341
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
225 -s, --strip Strip output file.
5199
16a6247730d9 [project @ 2005-03-10 20:24:45 by jwe]
jwe
parents: 5159
diff changeset
226
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
227 --mex Create a MEX file.
12341
402456ba3f61 Overhaul usage strings and man pages for octave, octave-config, mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 12174
diff changeset
228 Set the default output extension to ".mex".
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
229
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
230 -o FILE, --output FILE Output file name. Default extension is .oct
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5669
diff changeset
231 (or .mex if --mex is specified) unless linking
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5669
diff changeset
232 a stand-alone executable.
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
233
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
234 -p VAR, --print VAR Print configuration variable VAR. Recognized
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
235 variables are:
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
236
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
237 ALL_CFLAGS FFTW3F_LIBS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
238 ALL_CXXFLAGS FLIBS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
239 ALL_FFLAGS FPICFLAG
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
240 ALL_LDFLAGS INCFLAGS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
241 BLAS_LIBS LAPACK_LIBS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
242 CC LDFLAGS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
243 CFLAGS LD_CXX
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
244 CPICFLAG LD_STATIC_FLAG
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
245 CPPFLAGS LFLAGS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
246 CXX LIBCRUFT
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
247 CXXFLAGS LIBOCTAVE
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
248 CXXPICFLAG LIBOCTINTERP
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
249 DEPEND_EXTRA_SED_PATTERN LIBS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
250 DEPEND_FLAGS OCTAVE_LIBS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
251 DL_LD OCTAVE_LINK_DEPS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
252 DL_LDFLAGS OCT_LINK_DEPS
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
253 EXEEXT RDYNAMIC_FLAG
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
254 F77 READLINE_LIBS
13025
4a86826dbb0e maint: remove remaining references to RLD_FLAG
John W. Eaton <jwe@octave.org>
parents: 13024
diff changeset
255 F77_INTEGER_8_FLAG SED
4a86826dbb0e maint: remove remaining references to RLD_FLAG
John W. Eaton <jwe@octave.org>
parents: 13024
diff changeset
256 FFLAGS XTRA_CFLAGS
4a86826dbb0e maint: remove remaining references to RLD_FLAG
John W. Eaton <jwe@octave.org>
parents: 13024
diff changeset
257 FFTW3_LDFLAGS XTRA_CXXFLAGS
4a86826dbb0e maint: remove remaining references to RLD_FLAG
John W. Eaton <jwe@octave.org>
parents: 13024
diff changeset
258 FFTW3_LIBS
13010
edc5ec6e949b maint: allow --enable-static --disable-dl to work again
John W. Eaton <jwe@octave.org>
parents: 12753
diff changeset
259 FFTW3F_LDFLAGS
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
260
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
261 -v, --verbose Echo commands as they are executed.
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
262
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
263 FILE Compile or link FILE. Recognized file types are:
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
264
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
265 .c C source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
266 .cc C++ source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
267 .C C++ source
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
268 .cpp C++ source
5970
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
269 .f Fortran source (fixed form)
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
270 .F Fortran source (fixed form)
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
271 .f90 Fortran source (free form)
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
272 .F90 Fortran source (free form)
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
273 .o object file
6294
fa02b0b467b5 [project @ 2007-02-09 22:01:37 by jwe]
jwe
parents: 6187
diff changeset
274 .a library file
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
275
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
276 EOF
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
277 exit 0
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
278 ;;
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
279 -I*)
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3131
diff changeset
280 incflags="$incflags $1"
3088
f33738510eb2 [project @ 1997-10-02 06:38:36 by jwe]
jwe
parents: 3087
diff changeset
281 ;;
5483
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
282 -idirafter)
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
283 shift
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
284 if [ $# -gt 0 ]; then
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
285 incflags="$incflags -idirafter $1"
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
286 else
6782
e3f06290847c [project @ 2007-07-20 16:08:21 by jwe]
jwe
parents: 6710
diff changeset
287 echo "mkoctfile: include directory name missing" 1>&2
5483
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
288 fi
d2df058c4319 [project @ 2005-10-05 07:52:10 by dbateman]
dbateman
parents: 5285
diff changeset
289 ;;
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
290 -D*)
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
291 defs="$defs $1"
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3176
diff changeset
292 ;;
6153
e60688a1ea07 [project @ 2006-11-13 17:30:54 by jwe]
jwe
parents: 6086
diff changeset
293 -[lLR]* | -Wl,*)
3176
fccab8e7d35f [project @ 1998-05-18 20:33:31 by jwe]
jwe
parents: 3131
diff changeset
294 ldflags="$ldflags $1"
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
295 ;;
10901
860427ac9b77 Add ability to pass -pthread through to linker in mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 10773
diff changeset
296 -pthread)
860427ac9b77 Add ability to pass -pthread through to linker in mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 10773
diff changeset
297 ldflags="$ldflags $1"
860427ac9b77 Add ability to pass -pthread through to linker in mkoctfile.
Rik <octave@nomad.inbox5.com>
parents: 10773
diff changeset
298 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
299 -M | -depend | --depend)
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
300 depend=true
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
301 compile=false
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
302 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
303 -o | -ouput | --output)
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
304 shift
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
305 if [ $# -gt 0 ]; then
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
306 outputfile="$1"
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
307 else
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
308 echo "mkoctfile: output file name missing" 1>&2
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
309 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
310 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
311 -p | -print | --print)
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
312 shift
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
313 if [ $# -gt 0 ]; then
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
314 eval echo \${$1}
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
315 exit 0
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
316 else
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
317 echo "mkoctfile: --print requires argument" 1>&2
3734
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
318 exit 1
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
319 fi
40574699e4ec [project @ 2000-11-02 01:47:55 by jwe]
jwe
parents: 3733
diff changeset
320 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
321 -s | -strip | --strip)
4199
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
322 if $no_oct_file_strip_on_this_platform; then
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
323 echo "mkoctfile: stripping disabled on this platform" 1>&2
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
324 else
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
325 strip=true
35ec3b95a3ca [project @ 2002-11-21 20:47:49 by jwe]
jwe
parents: 4102
diff changeset
326 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
327 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
328 -c | -compile | --compile)
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
329 link=false
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
330 ;;
5904
80d3933fb8b6 [project @ 2006-07-26 17:19:10 by jwe]
jwe
parents: 5864
diff changeset
331 -g)
80d3933fb8b6 [project @ 2006-07-26 17:19:10 by jwe]
jwe
parents: 5864
diff changeset
332 ALL_CFLAGS="$ALL_CFLAGS -g"
80d3933fb8b6 [project @ 2006-07-26 17:19:10 by jwe]
jwe
parents: 5864
diff changeset
333 ALL_CXXFLAGS="$ALL_CXXFLAGS -g"
80d3933fb8b6 [project @ 2006-07-26 17:19:10 by jwe]
jwe
parents: 5864
diff changeset
334 ALL_FFLAGS="$ALL_FFLAGS -g"
80d3933fb8b6 [project @ 2006-07-26 17:19:10 by jwe]
jwe
parents: 5864
diff changeset
335 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
336 -link-stand-alone | --link-stand-alone)
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
337 link_stand_alone=true
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
338 ;;
9954
de6b6173c990 mkoctfile.in: accept long options with single -
John W. Eaton <jwe@octave.org>
parents: 9794
diff changeset
339 -mex | --mex)
6009
1f5d31edb459 [project @ 2006-09-27 15:42:01 by jwe]
jwe
parents: 5970
diff changeset
340 incflags="$incflags -I."
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5669
diff changeset
341 output_ext=".mex"
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5669
diff changeset
342 ;;
12753
00fbb05f099c Backout 2c54fde0f397 on stable; broke Octave-Forge packages
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 12733
diff changeset
343 -W*)
00fbb05f099c Backout 2c54fde0f397 on stable; broke Octave-Forge packages
Jordi Gutiérrez Hermoso <jordigh@gmail.com>
parents: 12733
diff changeset
344 pass_on_options="$pass_on_options $1"
4873
0358ed4394f5 [project @ 2004-04-22 05:51:20 by jwe]
jwe
parents: 4793
diff changeset
345 ;;
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
346 *)
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
347 echo "mkoctfile: unrecognized argument $1" 1>&2
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
348 exit 1
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
349 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
350 esac
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
351 if [ -n "$file" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
352 if [ -z "$octfile" ]; then
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
353 octfile="$file"
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
354 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
355 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
356 shift
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
357 done
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
358
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
359 if $link_stand_alone; then
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
360 if [ -n "$outputfile" ]; then
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
361 output_option="-o $outputfile"
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
362 fi
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
363 else
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
364 if [ -n "$outputfile" ]; then
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
365 octfile="$outputfile"
9957
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
366 case "$octfile" in
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
367 *$output_ext)
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
368 ;;
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
369 *)
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
370 octfile="$octfile$output_ext"
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
371 ;;
59ed11557715 mkoctfile: if output file is specified and it does not end in output_ext, append output_ext
John W. Eaton <jwe@octave.org>
parents: 9956
diff changeset
372 esac
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
373 else
6187
2a8922007c12 [project @ 2006-11-29 01:59:59 by jwe]
jwe
parents: 6153
diff changeset
374 octfile=`basename $octfile`
5864
e884ab4f29ee [project @ 2006-06-22 00:57:27 by jwe]
jwe
parents: 5669
diff changeset
375 octfile=`echo $octfile | $SED 's,\.[^.]*$,,'`$output_ext
3860
23f6e22426d6 [project @ 2001-11-09 18:11:48 by jwe]
jwe
parents: 3859
diff changeset
376 fi
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
377 fi
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
378
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
379 # Generate dependency files for C and C++ files.
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
380
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
381 if $depend; then
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
382 if [ -n "$cfiles" ]; then
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
383 for f in $cfiles; do
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
384 b=`echo $f | $SED 's,\.c$,,'`
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
385 d=$b.d
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
386 cmd="rm -f $d"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
387 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
388 eval $cmd
4206
fc514e47666e [project @ 2002-11-29 20:13:01 by jwe]
jwe
parents: 4201
diff changeset
389 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
390 $dbg $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
391 eval $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
392 done
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
393 fi
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
394
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
395 if [ -n "$ccfiles" ]; then
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
396 for f in $ccfiles; do
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
397 case $f in
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
398 *.cc)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
399 b=`echo $f | $SED 's,\.cc$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
400 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
401 *.C)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
402 b=`echo $f | $SED 's,\.C$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
403 ;;
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
404 *.cpp)
4084
babc519f245b [project @ 2002-10-03 03:23:14 by jwe]
jwe
parents: 3887
diff changeset
405 b=`echo $f | $SED 's,\.cpp$,,'`
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
406 ;;
3846
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
407 esac
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
408 d=$b.d
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
409 cmd="rm -f $d"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
410 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
411 eval $cmd
4206
fc514e47666e [project @ 2002-11-29 20:13:01 by jwe]
jwe
parents: 4201
diff changeset
412 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
413 $dbg $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
414 eval $cmd
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
415 done
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
416 fi
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
417 # If generating dependencies, that's all we do.
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
418 exit 0
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
419 fi
08cd791cd613 [project @ 2001-07-27 18:19:48 by jwe]
jwe
parents: 3735
diff changeset
420
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
421 # 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
422 # 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
423
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
424 if [ -n "$f77files" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
425 for f in $f77files; do
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
426 case $f in
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
427 *.f)
9956
f26a33e21db9 mkoctfile: when compiling files in subdirectories, place object files in current directory by default
John W. Eaton <jwe@octave.org>
parents: 9954
diff changeset
428 b=`echo $f | $SED 's,.*/,,; s,\.f$,,'`
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
429 ;;
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
430 *.F)
9956
f26a33e21db9 mkoctfile: when compiling files in subdirectories, place object files in current directory by default
John W. Eaton <jwe@octave.org>
parents: 9954
diff changeset
431 b=`echo $f | $SED 's,.*/,,; s,\.F$,,'`
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
432 ;;
5970
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
433 *.f90)
9956
f26a33e21db9 mkoctfile: when compiling files in subdirectories, place object files in current directory by default
John W. Eaton <jwe@octave.org>
parents: 9954
diff changeset
434 b=`echo $f | $SED 's,.*/,,; s,\.f90$,,'`
5970
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
435 ;;
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
436 *.F90)
9956
f26a33e21db9 mkoctfile: when compiling files in subdirectories, place object files in current directory by default
John W. Eaton <jwe@octave.org>
parents: 9954
diff changeset
437 b=`echo $f | $SED 's,.*/,,; s,\.F90$,,'`
5970
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
438 ;;
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
439 esac
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
440 if [ -n "$F77" ]; then
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
441 if [ -n "$outputfile" ]; then
12174
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
442 if $link; then
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
443 o=$b.o
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
444 else
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
445 o=$outputfile
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
446 fi
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
447 else
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
448 o=$b.o
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
449 fi
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
450 objfiles="$objfiles $o"
5970
af3407589a89 [project @ 2006-08-25 18:24:40 by jwe]
jwe
parents: 5904
diff changeset
451 cmd="$F77 -c $FPICFLAG $ALL_FFLAGS $incflags $defs $pass_on_options $f -o $o"
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
452 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
453 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
454 else
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
455 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
456 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
457 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
458 fi
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
459
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
460 if [ -n "$cfiles" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
461 for f in $cfiles; do
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
462 if [ -n "$CC" ]; then
9956
f26a33e21db9 mkoctfile: when compiling files in subdirectories, place object files in current directory by default
John W. Eaton <jwe@octave.org>
parents: 9954
diff changeset
463 b=`echo $f | $SED 's,.*/,,; s,\.c$,,'`
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
464 if [ -n "$outputfile" ]; then
12174
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
465 if $link; then
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
466 o=$b.o
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
467 else
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
468 o=$outputfile
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
469 fi
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
470 else
12174
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
471 o=$b.o
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
472 fi
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
473 objfiles="$objfiles $o"
4873
0358ed4394f5 [project @ 2004-04-22 05:51:20 by jwe]
jwe
parents: 4793
diff changeset
474 cmd="$CC -c $CPPFLAGS $CPICFLAG $ALL_CFLAGS $pass_on_options $incflags $defs $f -o $o"
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
475 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
476 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
477 else
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
478 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
479 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
480 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
481 fi
2163
8901e415035a [project @ 1996-05-13 10:35:04 by jwe]
jwe
parents:
diff changeset
482
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
483 if [ -n "$ccfiles" ]; then
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
484 for f in $ccfiles; do
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
485 if [ -n "$CXX" ]; then
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
486 case $f in
12174
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
487 *.cc)
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
488 b=`echo $f | $SED 's,.*/,,; s,\.cc$,,'`
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
489 ;;
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
490 *.C)
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
491 b=`echo $f | $SED 's,.*/,,; s,\.C$,,'`
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
492 ;;
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
493 *.cpp)
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
494 b=`echo $f | $SED 's,.*/,,; s,\.cpp$,,'`
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
495 ;;
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
496 esac
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
497 if [ -n "$outputfile" ]; then
12174
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
498 if $link; then
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
499 o=$b.o
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
500 else
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
501 o=$outputfile
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
502 fi
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
503 else
12174
db1f49eaba6b whitespace fixes
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
504 o=$b.o
5159
f0f3ccba4388 [project @ 2005-02-23 00:57:13 by jwe]
jwe
parents: 4873
diff changeset
505 fi
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
506 objfiles="$objfiles $o"
4873
0358ed4394f5 [project @ 2004-04-22 05:51:20 by jwe]
jwe
parents: 4793
diff changeset
507 cmd="$CXX -c $CPPFLAGS $CXXPICFLAG $ALL_CXXFLAGS $pass_on_options $incflags $defs $f -o $o"
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
508 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
509 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
510 else
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
511 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
512 fi
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
513 done
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
514 fi
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
515
3660
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
516 ## 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
517 ## 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
518 ## 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
519 ## 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
520 ## rename running programs but not remove them.
2dc265765850 [project @ 2000-04-20 08:22:33 by jwe]
jwe
parents: 3659
diff changeset
521
3663
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
522 ## if [ -f "$octfile" ]; then
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
523 ## cmd="mv $octfile $octfile.bak"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
524 ## $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
525 ## eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
526 ## cmd="rm -f $octfile.bak"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
527 ## $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
528 ## eval $cmd
3663
719cc61d6dc6 [project @ 2000-04-25 08:44:18 by jwe]
jwe
parents: 3660
diff changeset
529 ## fi
3659
e68976912bb5 [project @ 2000-04-19 16:43:56 by jwe]
jwe
parents: 3591
diff changeset
530
3051
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
531 # Link all the object files.
8bc313194436 [project @ 1997-06-11 21:31:31 by jwe]
jwe
parents: 3049
diff changeset
532
5285
fe5ee25a5e6c [project @ 2005-04-19 15:02:49 by jwe]
jwe
parents: 5199
diff changeset
533 if $link && [ -n "$objfiles" ]; then
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
534 if $link_stand_alone; then
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
535 if [ -n "$LD_CXX" ]; then
13025
4a86826dbb0e maint: remove remaining references to RLD_FLAG
John W. Eaton <jwe@octave.org>
parents: 13024
diff changeset
536 cmd="$LD_CXX $CPPFLAGS $ALL_CXXFLAGS $RDYNAMIC_FLAG $ALL_LDFLAGS $pass_on_options $output_option $objfiles $libfiles $ldflags $LFLAGS -loctinterp -loctave -lcruft $OCTAVE_LINK_OPTS $OCTAVE_LINK_DEPS"
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
537 $dbg $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
538 eval $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
539 else
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
540 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
541 exit 1
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
542 fi
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
543 else
13024
f3c53fea9fb5 maint: more linking tweaks
John W. Eaton <jwe@octave.org>
parents: 13010
diff changeset
544 cmd="$DL_LD $DL_LDFLAGS $pass_on_options -o $octfile $objfiles $libfiles $ldflags $LFLAGS -loctinterp -loctave -lcruft $OCT_LINK_OPTS $OCT_LINK_DEPS"
3859
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
545 $dbg $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
546 eval $cmd
890a7e4c1362 [project @ 2001-11-09 17:05:08 by jwe]
jwe
parents: 3847
diff changeset
547 fi
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
548
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
549 # Maybe strip it.
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
550
3847
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
551 if $strip; then
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
552 cmd="strip $octfile"
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
553 $dbg $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
554 eval $cmd
92fb162eba24 [project @ 2001-08-10 17:18:17 by jwe]
jwe
parents: 3846
diff changeset
555 fi
3735
cf69dbe17e59 [project @ 2000-11-04 05:29:09 by jwe]
jwe
parents: 3734
diff changeset
556 fi
3058
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
557
2688b68dd9c1 [project @ 1997-06-20 19:27:36 by jwe]
jwe
parents: 3052
diff changeset
558 exit 0