kconfig/streamline-config.pl: Simplify backslash line concatination
Simplify the way lines ending with backslashes (continuation) in Makefiles is parsed. This is needed to implement a necessary fix. Tested-by: Thomas Lange <thomas-lange2@gmx.de> Cc: stable@vger.kernel.org Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
805a6af8db
commit
d060d963e8
|
@ -253,17 +253,22 @@ if ($kconfig) {
|
|||
# Read all Makefiles to map the configs to the objects
|
||||
foreach my $makefile (@makefiles) {
|
||||
|
||||
my $cont = 0;
|
||||
my $line = "";
|
||||
|
||||
open(MIN,$makefile) || die "Can't open $makefile";
|
||||
while (<MIN>) {
|
||||
my $objs;
|
||||
|
||||
# is this a line after a line with a backslash?
|
||||
if ($cont && /(\S.*)$/) {
|
||||
$objs = $1;
|
||||
# if this line ends with a backslash, continue
|
||||
chomp;
|
||||
if (/^(.*)\\$/) {
|
||||
$line .= $1;
|
||||
next;
|
||||
}
|
||||
$cont = 0;
|
||||
|
||||
$line .= $_;
|
||||
$_ = $line;
|
||||
$line = "";
|
||||
|
||||
my $objs;
|
||||
|
||||
# collect objects after obj-$(CONFIG_FOO_BAR)
|
||||
if (/obj-\$\((CONFIG_[^\)]*)\)\s*[+:]?=\s*(.*)/) {
|
||||
|
@ -271,12 +276,6 @@ foreach my $makefile (@makefiles) {
|
|||
$objs = $2;
|
||||
}
|
||||
if (defined($objs)) {
|
||||
# test if the line ends with a backslash
|
||||
if ($objs =~ m,(.*)\\$,) {
|
||||
$objs = $1;
|
||||
$cont = 1;
|
||||
}
|
||||
|
||||
foreach my $obj (split /\s+/,$objs) {
|
||||
$obj =~ s/-/_/g;
|
||||
if ($obj =~ /(.*)\.o$/) {
|
||||
|
|
Loading…
Reference in New Issue