master
Daniel Kolesa 2016-08-02 22:40:24 +01:00
parent f90a2fe474
commit e22c8074b8
1 changed files with 17 additions and 15 deletions

32
main.cc
View File

@ -357,23 +357,25 @@ private:
ConstCharRange tname ConstCharRange tname
) { ) {
String repd; String repd;
for (auto &sr: rlist.iter()) for (auto &target: sr.rule->deps.iter()) { for (auto &sr: rlist.iter()) {
ConstCharRange atgt = target.iter(); for (auto &target: sr.rule->deps.iter()) {
repd.clear(); ConstCharRange atgt = target.iter();
auto lp = ostd::find(atgt, '%'); repd.clear();
if (!lp.empty()) { auto lp = ostd::find(atgt, '%');
repd.append(slice_until(atgt, lp));
repd.append(sr.sub);
++lp;
if (!lp.empty()) { if (!lp.empty()) {
repd.append(lp); repd.append(slice_until(atgt, lp));
repd.append(sr.sub);
++lp;
if (!lp.empty()) {
repd.append(lp);
}
atgt = repd.iter();
}
subdeps.push(atgt);
int r = exec_rule(atgt, tname);
if (r) {
return r;
} }
atgt = repd.iter();
}
subdeps.push(atgt);
int r = exec_rule(atgt, tname);
if (r) {
return r;
} }
} }
return 0; return 0;