| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #include "cmMakefile.h"
- #include "cmStandardIncludes.h"
- #include "cmMakeDepend.h"
- #include "cmUnixMakefileGenerator.h"
- // This is the main program used to gentrate makefile fragments
- // from CMakeLists.txt input files.
- int main(int ac, char** av)
- {
- if(ac < 2)
- {
- std::cerr << "Usage: " << av[0] << " Makefile.in -Ipath ..." << std::endl;
- return -1;
- }
- // Create a makefile
- cmMakefile mf;
- mf.AddDefinition("UNIX", "1");
- // Parse the command line
- if(ac > 2)
- {
- for(int i =2; i < ac; i++)
- {
- std::string arg = av[i];
- // Set the current source directory with a -S dir options
- if(arg.find("-S",0) == 0)
- {
- std::string path = arg.substr(2);
- mf.SetCurrentDirectory(path.c_str());
- }
- // Set the output or binary directory with a -B dir option
- if(arg.find("-B",0) == 0)
- {
- std::string path = arg.substr(2);
- mf.SetOutputHomeDirectory(path.c_str());
- }
- // Set the source home directory with a -H dir option
- if(arg.find("-H",0) == 0)
- {
- std::string path = arg.substr(2);
- mf.SetHomeDirectory(path.c_str());
- }
- }
- }
- mf.SetMakefileGenerator(new cmUnixMakefileGenerator);
- // Read and parse the input makefile
- if(!mf.ReadMakefile(av[1]))
- {
- std::cerr << "Usage: " << av[0] << " Makefile.in -Ipath ..." << std::endl;
- return -1;
- }
- mf.GenerateMakefile();
- }
|