fix incorrect rule find logic (always prefer "exact" rules)

master
Daniel Kolesa 2015-11-14 01:08:27 +00:00
parent 5461815ae3
commit 3f80d998a2
2 changed files with 5 additions and 9 deletions

10
main.cc
View File

@ -282,14 +282,10 @@ struct ObState {
return error(1, "redefinition of rule '%s'",
target);
if (sub.size() < frule->sub.size()) {
if (!frule)
frule = &sr;
else {
*frule = sr;
rlist.pop();
}
*frule = sr;
rlist.pop();
}
}
} else frule = &sr;
}
}
return 0;

View File

@ -14,12 +14,12 @@ rule obuild $FILES [
shell $CXX $OB_CXXFLAGS -o obuild_ob $sources
]
rule cubescript_ob.o [@CUBESCRIPT_PATH/cubescript.cc] [
rule %_ob.o %.cc [
echo " CXX" $target
shell $CXX $OB_CXXFLAGS -c -o $target $source
]
rule %_ob.o %.cc [
rule cubescript_ob.o [@CUBESCRIPT_PATH/cubescript.cc] [
echo " CXX" $target
shell $CXX $OB_CXXFLAGS -c -o $target $source
]