(linenum→info "unix/slp.c:2238")

bsd-games/2.17/mkdep

    1: #!/bin/sh
    2: # mkdep - create dependencies.
    3: #
    4: # Copyright (c) 1998, 2001 Joseph Samuel Myers.
    5: # All rights reserved.
    6: #
    7: # Redistribution and use in source and binary forms, with or without
    8: # modification, are permitted provided that the following conditions
    9: # are met:
   10: # 1. Redistributions of source code must retain the above copyright
   11: #    notice, this list of conditions and the following disclaimer.
   12: # 2. Redistributions in binary form must reproduce the above copyright
   13: #    notice, this list of conditions and the following disclaimer in the
   14: #    documentation and/or other materials provided with the distribution.
   15: # 3. The name of the author may not be used to endorse or promote products
   16: #    derived from this software without specific prior written permission.
   17: #
   18: # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   19: # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   20: # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   21: # IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   22: # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
   23: # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   24: # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
   25: # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   26: # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   27: # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   28: # SUCH DAMAGE.
   29: 
   30: # usage: mkdep source output compiler flags
   31: # e.g. mkdep foo/bar.c foo/bar.d gcc -g -O2 -DFOOBAR
   32: 
   33: set -e
   34: 
   35: source_file=$1
   36: base_name=${source_file%%.c}
   37: base_base_name=`basename $base_name`
   38: output_file=$2
   39: compiler=$3
   40: shift 3
   41: 
   42: "$compiler" -M "$@" "$source_file" >"$output_file".tmp
   43: 
   44: sed "s!^$base_base_name.o *:!$base_name.o :!g
   45: s!$base_name.o *:!$base_name.o $base_name.d:!g" <"$output_file".tmp >"$output_file"
   46: 
   47: rm -f "$output_file".tmp
Syntax (Markdown)