chiark
/
gitweb
/
~ian
/
subdirmk.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1d0151d
)
WIP
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 10 Nov 2019 20:28:18 +0000
(20:28 +0000)
committer
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Sun, 10 Nov 2019 20:28:18 +0000
(20:28 +0000)
build-aux/subdirmk-setup
patch
|
blob
|
history
diff --git
a/build-aux/subdirmk-setup
b/build-aux/subdirmk-setup
index f7216219700d2e5fe82416ba19ecb4a1430ebc49..3d8ef7d8221c7fe52f2f41bfd23457398dfd4a83 100644
(file)
--- a/
build-aux/subdirmk-setup
+++ b/
build-aux/subdirmk-setup
@@
-26,6
+26,11
@@
sub build_tree () {
}
}
}
}
+sub target_varname ($$) {
+ my ($var_prefix, $target) = @_;
+ return $vprefix.'TARGETS'.($target eq 'all' ? '' : "_$target");
+}
+
sub write_makefile ($$) {
my ($dir_prefix,$depth) = @_;
start_output_file("${dir_prefix}Makefile");
sub write_makefile ($$) {
my ($dir_prefix,$depth) = @_;
start_output_file("${dir_prefix}Makefile");
@@
-38,8
+43,8
@@
END
}
sub filter_subdir_mk ($$$$$) {
}
sub filter_subdir_mk ($$$$$) {
- my ($dir_prefix, $dir_suffix, $dir_name,
$var_prefix,
- $targets) = @_;
+ my ($dir_prefix, $dir_suffix, $dir_name,
+ $
var_prefix, $
targets) = @_;
my $in = "${srcdir}/${dir_prefix}Subdir.mk.in";
open I, '<' $in or die "open $in: $!\n";
my $in = "${srcdir}/${dir_prefix}Subdir.mk.in";
open I, '<' $in or die "open $in: $!\n";
@@
-93,11
+98,6
@@
sub filter_subdir_mk ($$$$$) {
}
}
}
}
-sub target_varname ($$) {
- my ($var_prefix, $target) = @_;
- return $vprefix.'TARGETS'.($target eq 'all' ? '' : "_$target");
-}
-
sub process_subtree ($$) {
# => list of descendants (in form SUBDIR/)
# recursive, children first
sub process_subtree ($$) {
# => list of descendants (in form SUBDIR/)
# recursive, children first
@@
-138,21
+138,18
@@
END
}
}
}
}
-
- foreach my $descendant (@descendants) {
- foreach my $target (@$targets) {
- print O <<END;
-END
-
-
-sub process_subdir ($$) {
- my ($subdir) = @_;
- my $depth = $subdir eq '.' ? 0 : scalar split m{/+}, $subdir;
- write_makefile($subdir,$depth);
- filter_subdir_mk();
+ return @targets;
}
}
+sub process_tree() {
+ process_subtree($root, [ ]);
+ start_output_file("subdirs.mk");
+ o "include Subdir.mk\n";
+ foreach my $subdir (@ARGV) {
+ o "include $subdir/Subdir.mk";
+ }
+}
-
build_tree();
build_tree();
-process_subtree($root, [ ]);
+process_tree();
+install_output_files();