diff --git a/src/tools/msvc/pgbison.pl b/src/tools/msvc/pgbison.pl index d6f2444841d7d98c9719c3e5401c758f7d275481..31e75403f594f9e232e5e6e625dbaa4623693ad9 100644 --- a/src/tools/msvc/pgbison.pl +++ b/src/tools/msvc/pgbison.pl @@ -42,7 +42,8 @@ open($mf, $makefile); local $/ = undef; $make = <$mf>; close($mf); -my $headerflag = ($make =~ /\$\(BISON\)\s+-d/ ? '-d' : ''); +my $basetarg = basename($output); +my $headerflag = ($make =~ /^$basetarg:\s+BISONFLAGS\b.*-d/m ? '-d' : ''); system("bison $headerflag $input -o $output"); exit $? >> 8; diff --git a/src/tools/msvc/pgflex.pl b/src/tools/msvc/pgflex.pl index 259f2187ed38acbf009d400237a523cfb0060b60..7e4c0f90b70e22943faf7463975f519c6ae9c6c4 100644 --- a/src/tools/msvc/pgflex.pl +++ b/src/tools/msvc/pgflex.pl @@ -44,7 +44,8 @@ open($mf, $makefile); local $/ = undef; $make = <$mf>; close($mf); -my $flexflags = ($make =~ /^\s*FLEXFLAGS\s*=\s*(\S.*)/m ? $1 : ''); +my $basetarg = basename($output); +my $flexflags = ($make =~ /^$basetarg:\s*FLEXFLAGS\s*=\s*(\S.*)/m ? $1 : ''); system("flex $flexflags -o$output $input"); if ($? == 0)