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
) {
String repd;
for (auto &sr: rlist.iter()) for (auto &target: sr.rule->deps.iter()) {
ConstCharRange atgt = target.iter();
repd.clear();
auto lp = ostd::find(atgt, '%');
if (!lp.empty()) {
repd.append(slice_until(atgt, lp));
repd.append(sr.sub);
++lp;
for (auto &sr: rlist.iter()) {
for (auto &target: sr.rule->deps.iter()) {
ConstCharRange atgt = target.iter();
repd.clear();
auto lp = ostd::find(atgt, '%');
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;