use strict;
+our $srcdir;
+our @subdirs = @ARGV;
+
+die unless $ARGV[0] eq '--srcdir';
+die unless @ARGV>=2;
+shift @ARGV;
+($srcdir, @subdirs) = @ARGV;
+
our $root = [ '.', [ ] ];
# each node is [ 'relative subdir name', \@children ]
sub build_tree () {
- foreach my $subdir (@ARGV) {
+ foreach my $subdir (@subdirs) {
my @path = $subdir eq '.' ? () : split m{/+}, $subdir;
my $node = $root;
foreach my $d (@path) {
o <<END;
default: all
%:
- $(MAKE) -C $cd ${dir_prefix}$@
+ \$(MAKE) -C $cd ${dir_prefix}$@
END
}
process_subtree($root, [ ]);
start_output_file("subdirs.mk");
o "include Subdir.mk\n";
- foreach my $subdir (@ARGV) {
+ foreach my $subdir (@subdirs) {
o "include $subdir/Subdir.mk";
}
}