scc

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

mkdep (400B)


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