Loading executor.cpp +16 −1 Changes for executor.cpp: 16 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -215,9 +215,23 @@ int Executor::execute_rule(const std::string& target, const Rule* rule, } for (const auto& recipe : rule->recipes) { std::string cmd = parser_.expand_with_automatic( std::string expanded = parser_.expand_with_automatic( recipe, *mfp, target, first_prereq, prereqs, newer, stem); // A recipe line may expand (e.g. via a canned 'define' sequence) into // several physical lines. GNU make runs each as its own command with // independent @/-/+ prefix handling and its own shell. std::vector<std::string> sublines; { std::string cur; for (char ch : expanded) { if (ch == '\n') { sublines.push_back(cur); cur.clear(); } else cur += ch; } sublines.push_back(cur); } for (auto& cmd : sublines) { bool is_silent = silent_; bool ignore_error = false; bool force_exec = false; Loading Loading @@ -248,6 +262,7 @@ int Executor::execute_rule(const std::string& target, const Rule* rule, } } } } return 0; } Loading Loading
executor.cpp +16 −1 Changes for executor.cpp: 16 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -215,9 +215,23 @@ int Executor::execute_rule(const std::string& target, const Rule* rule, } for (const auto& recipe : rule->recipes) { std::string cmd = parser_.expand_with_automatic( std::string expanded = parser_.expand_with_automatic( recipe, *mfp, target, first_prereq, prereqs, newer, stem); // A recipe line may expand (e.g. via a canned 'define' sequence) into // several physical lines. GNU make runs each as its own command with // independent @/-/+ prefix handling and its own shell. std::vector<std::string> sublines; { std::string cur; for (char ch : expanded) { if (ch == '\n') { sublines.push_back(cur); cur.clear(); } else cur += ch; } sublines.push_back(cur); } for (auto& cmd : sublines) { bool is_silent = silent_; bool ignore_error = false; bool force_exec = false; Loading Loading @@ -248,6 +262,7 @@ int Executor::execute_rule(const std::string& target, const Rule* rule, } } } } return 0; } Loading