sub match() { my ($fn) = @_; @matches = /^(?:([a-zA-Z0-9]+[^\/\t=\s]+)\s*)+:/ and print join(" ", @matches); if (/^include\s+(\S+)/) { my $i = $1;; if ($fn =~ m|/|) { $fn =~ s|/[^/]+$|/$i|; } else { $fn = $i; } &parse($fn); } elsif (/^\.include\s+\/ || /^\.include\s+\".*mk\/bsd\.pkg\.(subdir\.)?mk\"/) { print "fetch fetch-list extract patch configure build install reinstall deinstall package describe checkpatch checksum makesum\n"; } } sub parse() { my ($fn) = @_; my $f; open($f, $fn) || return; while (<$f>) { &match($fn); } close($f); } &parse($ARGV[0]);