scc

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

mkdep (356B)


      1 #!/bin/sh
      2 
      3 set -e
      4 
      5 echo '#deps' > deps.mk
      6 
      7 cat <<EOF | ed -s deps.mk
      8 a
      9 $(for i in `find . -name '*.c'`
     10 do
     11 	file=`basename $i | sed 's/\.c$/.o/'`
     12 	dir=`dirname $i`
     13 
     14 	sed -n "/^#include / {
     15 		s///
     16 		s@\"\(.*\)\"@$dir/$file: $dir/\1@p
     17 		s@<\(scc/.*\)>@$dir/$file: \$(INCDIR)/bits/\1@p
     18 	}" $i
     19 done | LC_ALL=C sort -s)
     20 .
     21 g@^\./@ s///
     22 g@ \./@ s// /
     23 g/^$/d
     24 w
     25 EOF