/[grub]/grub/compile
ViewVC logotype

Diff of /grub/compile

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by okuji, Wed Jul 4 07:33:48 2001 UTC revision 1.3 by okuji, Sat Oct 27 16:04:24 2001 UTC
# Line 2  Line 2 
2    
3  # Wrapper for compilers which do not understand `-c -o'.  # Wrapper for compilers which do not understand `-c -o'.
4    
5  # Copyright (C) 1999, 2000 Free Software Foundation, Inc.  # Copyright 1999, 2000 Free Software Foundation, Inc.
6  # Written by Tom Tromey <tromey@cygnus.com>.  # Written by Tom Tromey <tromey@cygnus.com>.
7  #  #
8  # This program is free software; you can redistribute it and/or modify  # This program is free software; you can redistribute it and/or modify
# Line 19  Line 19 
19  # along with this program; if not, write to the Free Software  # along with this program; if not, write to the Free Software
20  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21    
22    # As a special exception to the GNU General Public License, if you
23    # distribute this file as part of a program that contains a
24    # configuration script generated by Autoconf, you may include it under
25    # the same distribution terms that you use for the rest of that program.
26    
27  # Usage:  # Usage:
28  # compile PROGRAM [ARGS]...  # compile PROGRAM [ARGS]...
29  # `-o FOO.o' is removed from the args passed to the actual compile.  # `-o FOO.o' is removed from the args passed to the actual compile.
# Line 32  args= Line 37  args=
37  while test $# -gt 0; do  while test $# -gt 0; do
38     case "$1" in     case "$1" in
39      -o)      -o)
40           # configure might choose to run compile as `compile cc -o foo foo.c'.
41           # So we do something ugly here.
42         ofile=$2         ofile=$2
43         shift         shift
44           case "$ofile" in
45            *.o | *.obj)
46               ;;
47            *)
48               args="$args -o $ofile"
49               ofile=
50               ;;
51           esac
52         ;;         ;;
53      *.c)      *.c)
54         cfile=$1         cfile=$1
# Line 46  while test $# -gt 0; do Line 61  while test $# -gt 0; do
61     shift     shift
62  done  done
63    
64  test -z "$ofile" && {  if test -z "$ofile" || test -z "$cfile"; then
65     echo "compile: no \`-o' option seen" 1>&2     # If no `-o' option was seen then we might have been invoked from a
66     exit 1     # pattern rule where we don't need one.  That is ok -- this is a
67  }     # normal compilation that the losing compiler can handle.  If no
68       # `.c' file was seen then we are probably linking.  That is also
69  test -z "$cfile" && {     # ok.
70     echo "compile: no \`.c' file seen" 1>&2     exec "$prog" $args
71     exit 1  fi
 }  
72    
73  # Name of file we expect compiler to create.  # Name of file we expect compiler to create.
74  cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`  cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
75    
76  # Create the lock directory.  # Create the lock directory.
77  lockdir=`echo $ofile | sed -e 's|/|_|g'`  # Note: use `[/.-]' here to ensure that we don't use the same name
78    # that we are using for the .o file.  Also, base the name on the expected
79    # object file name, since that is what matters with a parallel build.
80    lockdir=`echo $cofile | sed -e 's|[/.-]|_|g'`.d
81  while true; do  while true; do
82     if mkdir $lockdir > /dev/null 2>&1; then     if mkdir $lockdir > /dev/null 2>&1; then
83        break        break

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26