Loading parser.cpp +6 −4 Changes for parser.cpp: 6 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -616,7 +616,9 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { if (name_end > 0 && line[name_end - 1] == ':') name_end--; } else if (prev == '+') { name_end = eq_pos - 1; std::string name = trim(line.substr(0, name_end)); // GNU make expands the variable name on the LHS, so e.g. // "syshdr-$(CONFIG_X86_64) += x" becomes "syshdr-y += x". std::string name = expand(trim(line.substr(0, name_end)), mf); std::string value = line.substr(eq_pos + 1); if (!value.empty() && value[0] == ' ') value = value.substr(1); auto it = mf.variables.find(name); Loading @@ -639,7 +641,7 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { return true; } else if (prev == '?') { name_end = eq_pos - 1; std::string name = trim(line.substr(0, name_end)); std::string name = expand(trim(line.substr(0, name_end)), mf); std::string value = line.substr(eq_pos + 1); if (!value.empty() && value[0] == ' ') value = value.substr(1); if (mf.variables.find(name) == mf.variables.end()) { Loading @@ -649,7 +651,7 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { } else if (prev == '!') { // != shell assignment name_end = eq_pos - 1; std::string name = trim(line.substr(0, name_end)); std::string name = expand(trim(line.substr(0, name_end)), mf); std::string cmd = trim(line.substr(eq_pos + 1)); cmd = expand(cmd, mf); std::string value = func_shell(cmd); Loading @@ -661,7 +663,7 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { } } std::string name = trim(line.substr(0, name_end)); std::string name = expand(trim(line.substr(0, name_end)), mf); std::string value = line.substr(eq_pos + 1); if (!value.empty() && value[0] == ' ') value = value.substr(1); Loading Loading
parser.cpp +6 −4 Changes for parser.cpp: 6 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -616,7 +616,9 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { if (name_end > 0 && line[name_end - 1] == ':') name_end--; } else if (prev == '+') { name_end = eq_pos - 1; std::string name = trim(line.substr(0, name_end)); // GNU make expands the variable name on the LHS, so e.g. // "syshdr-$(CONFIG_X86_64) += x" becomes "syshdr-y += x". std::string name = expand(trim(line.substr(0, name_end)), mf); std::string value = line.substr(eq_pos + 1); if (!value.empty() && value[0] == ' ') value = value.substr(1); auto it = mf.variables.find(name); Loading @@ -639,7 +641,7 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { return true; } else if (prev == '?') { name_end = eq_pos - 1; std::string name = trim(line.substr(0, name_end)); std::string name = expand(trim(line.substr(0, name_end)), mf); std::string value = line.substr(eq_pos + 1); if (!value.empty() && value[0] == ' ') value = value.substr(1); if (mf.variables.find(name) == mf.variables.end()) { Loading @@ -649,7 +651,7 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { } else if (prev == '!') { // != shell assignment name_end = eq_pos - 1; std::string name = trim(line.substr(0, name_end)); std::string name = expand(trim(line.substr(0, name_end)), mf); std::string cmd = trim(line.substr(eq_pos + 1)); cmd = expand(cmd, mf); std::string value = func_shell(cmd); Loading @@ -661,7 +663,7 @@ bool Parser::try_parse_assignment(const std::string& line, Makefile& mf) { } } std::string name = trim(line.substr(0, name_end)); std::string name = expand(trim(line.substr(0, name_end)), mf); std::string value = line.substr(eq_pos + 1); if (!value.empty() && value[0] == ' ') value = value.substr(1); Loading