File: expand-includes.pl

package info (click to toggle)
samba 2%3A3.6.6-6%2Bdeb7u7
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 160,976 kB
  • sloc: ansic: 1,764,536; xml: 114,867; python: 78,119; perl: 27,633; sh: 13,802; makefile: 4,704; asm: 3,281; cpp: 2,281; yacc: 1,949; exp: 1,784; ada: 1,681; pascal: 1,089; cs: 879; awk: 756; lex: 566; csh: 58; sed: 45; php: 6
file content (30 lines) | stat: -rwxr-xr-x 559 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/usr/bin/perl
# Expand the include lines in a Makefile
# Copyright (C) 2009 Jelmer Vernooij <jelmer@samba.org>
# Published under the GNU GPLv3 or later

my $depth = 0;

sub process($)
{
	my ($f) = @_;
	$depth++;
	die("Recursion in $f?") if ($depth > 100);
	open(IN, $f) or die("Unable to open $f: $!");
	foreach (<IN>) {
		my $l = $_;
		if ($l =~ /^include (.*)$/) {
			process($1);
		} else {
			print $l;
		}
	}
	$depth--;
}

my $path = shift;
unless ($path) {
	print STDERR "Usage: $0 Makefile.in > Makefile-noincludes.in\n";
	exit(1);
}
process($path);