scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

mkdep (447B)


      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 trap 'rm -f $tmp' EXIT
      6 trap 'exit $?' HUP INT TERM
      7 
      8 tmp=$$.tmp
      9 
     10 (cat Makefile
     11 printf "\n#deps\n"
     12 for i in *.c
     13 do
     14 	if test "$i" = '*.c'
     15 	then
     16 		continue
     17 	fi
     18 		
     19 	file=`basename $i | sed 's/\.c$/.o/'`
     20 	dir=`dirname $i`
     21 
     22 	sed -n "/^#include / {
     23 		s///
     24 		s@\"\(.*\)\"@$dir/$file: $dir/\1@p
     25 		s@<\(scc/.*\)>@$dir/$file: \$(INCDIR)/bits/\1@p
     26 	}" $i
     27 done |
     28 sed -e 's@^\./@@' -e 's@ \./@ @g' |
     29 LC_ALL=C sort -s) > $tmp
     30 
     31 mv $tmp makefile