diff options
author | Sebastien Barre <sebastien.barre@kitware.com> | 2002-04-11 09:53:41 -0400 |
---|---|---|
committer | Sebastien Barre <sebastien.barre@kitware.com> | 2002-04-11 09:53:41 -0400 |
commit | e455a83969be5ff4642a9c505f2f1c23248b01f7 (patch) | |
tree | a40fe7fb31079af7e0c3d83776d801c8ac053e0d /Source/cmUnixMakefileGenerator.cxx | |
parent | 9d0a4b8a5f45a6c8884c1a386c21b39bda9c3739 (diff) | |
download | cmake-e455a83969be5ff4642a9c505f2f1c23248b01f7.tar.gz |
FIX: echo pb, make Nmake gen use Unix gen, factorize stuff in Unix gen
Diffstat (limited to 'Source/cmUnixMakefileGenerator.cxx')
-rw-r--r-- | Source/cmUnixMakefileGenerator.cxx | 70 |
1 files changed, 20 insertions, 50 deletions
diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index 417fb3b982..28fc5f2e20 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -2026,13 +2026,15 @@ void cmUnixMakefileGenerator::OutputMakeRule(std::ostream& fout, replace = comment; m_Makefile->ExpandVariablesInString(replace); fout << "#---------------------------------------------------------\n"; - fout << "# " << comment; + fout << "# " << replace; fout << "\n#\n"; } fout << "\n"; + replace = target; m_Makefile->ExpandVariablesInString(replace); fout << this->ConvertToOutputPath(replace.c_str()) << ": "; + if(depends) { replace = depends; @@ -2040,62 +2042,30 @@ void cmUnixMakefileGenerator::OutputMakeRule(std::ostream& fout, fout << replace.c_str(); } fout << "\n"; - if(command) - { - replace = command; - m_Makefile->ExpandVariablesInString(replace); - if(replace[0] != '-' && replace.find("echo") != 0 - && replace.find("$(MAKE)") != 0) - { - std::string echostring = replace; - cmSystemTools::ReplaceString(echostring, "\n", "\\n"); - fout << "\t" << "echo \"" << echostring.c_str() << "\"\n"; - } - fout << "\t" << replace.c_str() << "\n"; - } - if(command2) - { - replace = command2; - m_Makefile->ExpandVariablesInString(replace); - if(replace[0] != '-' && replace.find("echo") != 0 - && replace.find("$(MAKE)") != 0) - { - std::string echostring = replace; - cmSystemTools::ReplaceString(echostring, "\n", "\\n"); - fout << "\t" << "echo \"" << echostring.c_str() << "\"\n"; - } - fout << "\t" << replace.c_str() << "\n"; - } - if(command3) - { - replace = command3; - m_Makefile->ExpandVariablesInString(replace); - if(replace[0] != '-' && replace.find("echo") != 0 - && replace.find("$(MAKE)") != 0) - { - std::string echostring = replace; - cmSystemTools::ReplaceString(echostring, "\n", "\\n"); - fout << "\t" << "echo \"" << echostring.c_str() << "\"\n"; - } - fout << "\t" << replace.c_str() << "\n"; - } - if(command4) + + const char* commands[] = { command, command2, command3, command4 }; + + for (int i = 0; i < sizeof(commands) / sizeof(commands[0]); ++i) { - replace = command4; - m_Makefile->ExpandVariablesInString(replace); - if(replace[0] != '-' && replace.find("echo") != 0 - && replace.find("$(MAKE)") != 0) + if(commands[i]) { - std::string echostring = replace; - cmSystemTools::ReplaceString(echostring, "\n", "\\n"); - fout << "\t" << "echo \"" << echostring.c_str() << "\"\n"; + replace = commands[i]; + m_Makefile->ExpandVariablesInString(replace); + if(replace[0] != '-' && replace.find("echo") != 0 + && replace.find("$(MAKE)") != 0) + { + std::string echostring = replace; + cmSystemTools::ReplaceString(echostring, "\n\t", "\n\techo "); + // let's try to see what happens without \" + // fout << "\techo \"" << echostring.c_str() << "\"\n"; + fout << "\techo " << echostring.c_str() << "\n"; + } + fout << "\t" << replace.c_str() << "\n"; } - fout << "\t" << replace.c_str() << "\n"; } fout << "\n"; } - void cmUnixMakefileGenerator::SetLocal (bool local) { if (local) |