#!/usr/bin/perl # # Calculate dependencies # (c) Emil Mikulic, 2002. # # Example: ./deps.pl -I. >> Makefile # $arg = join(" ", @ARGV); $deps = `gcc $arg -M *.c *.cpp`; $deps =~ s/\\\n//gm; @lines = split(/\n/, $deps); foreach $line (@lines) { ($obj, $dep) = split(/:/, $line); @tmp = split(/ /, $dep); undef @sources; foreach $x (@tmp) { push @sources, $x unless $x =~ /^\// || $x eq ""; } push @sources, "Makefile"; $sp = length($obj)+2; print "$obj: "; foreach $x (@sources) { if (length($x) + 2 + $sp > 72) { $sp = length($obj) + 2; print "\\\n"; print " " x $sp; } $sp += length($x) + 1; print "$x "; } print "\n"; }