From: Ian Jackson Date: Sun, 10 Nov 2019 13:40:26 +0000 (+0000) Subject: BFORE NOT QUAD X-Git-Tag: subdirmk/0.1~129 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=commitdiff_plain;h=8a218c94fb8d09a8225d1055555aba0a18b0dbc6;ds=sidebyside BFORE NOT QUAD --- diff --git a/build-aux/subdirmk-setup b/build-aux/subdirmk-setup index 6822fe1..11d0f26 100644 --- a/build-aux/subdirmk-setup +++ b/build-aux/subdirmk-setup @@ -10,14 +10,27 @@ use strict; our @allsubdirs = @ARGV; -sub write_makefile () { +sub write_makefile ($$) { + my ($subdir,$depth) start_output_file("Makefile"); + my $cd = $depth ? join('/', ('..',) x $depth) : '.'; print O < list of descendant subdirs + my ($here) = (@_); + my $prefix = $here eq '.' ? qr{} : qr{$prefix/}; + my @children = grep { m{^$prefix[^/]+$} } @allsubdirs; + my @descendants; + foreach my $child (@children) { + push @descendants, require_subdir( - my @thesedirs = $subdir, grep { $_ =~ m{^$subdir/} } @allsubdirs; + $subdir, grep { $_ =~ m{^$subdir/} } printf O "include $_/Subdir.mk" @@ -26,7 +39,7 @@ sub process_subdir ($$) { my ($subdir) = @_; my $depth = $subdir eq '.' ? 0 : scalar split m{/+}, $subdir; write_makefile($subdir,$depth); - filter_subdir_mk(); + require_subdir($subdir); } foreach (@allsubdirs) { process_subdir($_); }