chiark / gitweb /
6822fe12aa27d8d285b1775dbbc7bbebcd242ad9
[subdirmk.git] / build-aux / subdirmk-setup
1 #!/usr/bin/perl -w
2 #
3 # $(srcdir)/build-aux/subdirmk-setup SUBDIR...
4 #
5 # generates
6 #   Subdir.mk.tmp
7 #   Makefile.tmp
8
9 use strict;
10
11 our @allsubdirs = @ARGV;
12
13 sub write_makefile () {
14     start_output_file("Makefile");
15     print O <<END;
16 %:
17         $(MAKE) -C @top $subdir/$@
18 END
19
20     my @thesedirs = $subdir, grep { $_ =~ m{^$subdir/} } @allsubdirs;
21     printf O "include $_/Subdir.mk"
22         
23
24
25 sub process_subdir ($$) {
26     my ($subdir) = @_;
27     my $depth = $subdir eq '.' ? 0 : scalar split m{/+}, $subdir;
28     write_makefile($subdir,$depth);
29     filter_subdir_mk();
30 }
31
32 foreach (@allsubdirs) { process_subdir($_); }