3 # $(srcdir)/build-aux/subdirmk-setup SUBDIR...
11 our @allsubdirs = @ARGV;
13 sub write_makefile ($$) {
15 start_output_file("Makefile");
16 my $cd = $depth ? join('/', ('..',) x $depth) : '.';
18 # autogenerated - do not edit
20 \$(MAKE) -C $cd $subdir/\$@
24 sub require_subdir ($) {
25 # => list of descendant subdirs
27 my $prefix = $here eq '.' ? qr{} : qr{$prefix/};
28 my @children = grep { m{^$prefix[^/]+$} } @allsubdirs;
30 foreach my $child (@children) {
31 push @descendants, require_subdir(
33 $subdir, grep { $_ =~ m{^$subdir/} }
34 printf O "include $_/Subdir.mk"
38 sub process_subdir ($$) {
40 my $depth = $subdir eq '.' ? 0 : scalar split m{/+}, $subdir;
41 write_makefile($subdir,$depth);
42 require_subdir($subdir);
45 foreach (@allsubdirs) { process_subdir($_); }