X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=subdirmk%2Fgenerate;h=3208c8d9b333b0ec47355342c244fbd2ce994e5c;hp=7b8727b1988c254968889387fb5c402a8f7965b6;hb=9afe863051fe0ae9d2d4e88db5fd95071fb9e7c4;hpb=6e55ff3751f385c20194a313a2e939f2a1af2677 diff --git a/subdirmk/generate b/subdirmk/generate index 7b8727b..3208c8d 100755 --- a/subdirmk/generate +++ b/subdirmk/generate @@ -125,6 +125,9 @@ sub process_input_mk ($$$$$$$$) { return; } while (<$input>) { + if (s#^\s*$esc\:##) { + $buffering_output=''; + } for (;;) { unless (s{^(.*?)(\\)?(?=$esc)}{}) { o $_; last; } o $1; @@ -165,6 +168,20 @@ sub process_input_mk ($$$$$$$$) { die "bad escape $$esclitr$_ "; } } + if (defined $buffering_output) { + $_=$buffering_output; + $buffering_output=undef; + if (m#^(-?)include\s+(\S+)\s+$#) { + my $subf = "$srcdir/$2"; + o "MAKEFILE_TEMPLATES += $subf\n"; + process_input_mk($dir_prefix, $dir_suffix, $dir_name, + $var_prefix, $targets, + $subf, $esclitr, $subf); + o "\n"; + } else { + die "unknown directive $_ "; + } + } } $input->error and die "read $f: $!\n"; close $input or die "close $f: $!\n";