define pathListSep = ":";
#endif
+#if defined(_DEBUG) && defined(__WIN32__)
+extern int getch(void);
+#endif
+
void ParseDirList(char * string, Container<String> list)
{
int c;
bool noGlobalSettings = false;
bool noResources = false;
bool noWarnings = false;
- char * overrideObjDir = null;
- char * includemkPath = null;
+ const char * overrideObjDir = null;
+ const char * includemkPath = null;
/*
for(c = 0; c < this.argc; c++)
for(c = 1; c < argc; c++)
{
- char * arg = argv[c];
+ const char * arg = argv[c];
if(arg[0] == '-')
{
if(!strcmpi(arg+1, "make"))
else if(arg[1] == 'i')
{
if(++c < argc)
- ParseDirList(argv[c], optionsCompiler.includeDirs);
+ ParseDirList((char *)argv[c], optionsCompiler.includeDirs);
else
valid = false;
}
else if(arg[1] == 'l')
{
if(++c < argc)
- ParseDirList(argv[c], optionsCompiler.libraryDirs);
+ ParseDirList((char *)argv[c], optionsCompiler.libraryDirs);
else
valid = false;
}
else
{
valid = false;
- printf("invalid option: %s\n", arg);
+ printf($"invalid option: %s\n", arg);
}
}
else
}
if(!epjPath)
valid = false;
-
+
if(!valid)
{
- printf("Syntax:\n");
- printf(" epj2make [-t <target platform>] [-c <configuration>] [toolchain] [directories] [options] [-o <output>] <input>\n");
- printf(" toolchain:\n");
- printf(" [-make <make tool>]\n");
- printf(" [-cpp <c preprocessor>]\n");
- printf(" [-cc <c compiler>]\n");
- printf(" [-ecp <eC preprocessor>]\n");
- printf(" [-ecc <eC compiler>]\n");
- printf(" [-ecs <eC symbol generator>]\n");
- printf(" [-ear <Ecere Archiver>]\n");
- printf(" directories:\n");
- printf(" [-i <include dir[;inc dir[...]]>]\n");
- printf(" [-l <library dir[;lib dir[...]]>]\n");
- printf(" options:\n");
- printf(" [-noglobalsettings]\n");
- printf(" [-noresources]\n");
- printf(" [-d <intermediate objects directory>]\n");
- printf(" [-includemk <include.mk path>]\n");
+ printf($"Syntax:\n");
+ printf($" epj2make [-t <target platform>] [-c <configuration>] [toolchain] [directories] [options] [-o <output>] <input>\n");
+ printf($" toolchain:\n");
+ printf($" [-make <make tool>]\n");
+ printf($" [-cpp <c preprocessor>]\n");
+ printf($" [-cc <c compiler>]\n");
+ printf($" [-ecp <eC preprocessor>]\n");
+ printf($" [-ecc <eC compiler>]\n");
+ printf($" [-ecs <eC symbol generator>]\n");
+ printf($" [-ear <Ecere Archiver>]\n");
+ printf($" directories:\n");
+ printf($" [-i <include dir[;inc dir[...]]>]\n");
+ printf($" [-l <library dir[;lib dir[...]]>]\n");
+ printf($" options:\n");
+ printf($" [-noglobalsettings]\n");
+ printf($" [-noresources]\n");
+ printf($" [-d <intermediate objects directory>]\n");
+ printf($" [-includemk <crossplatform.mk path>]\n");
}
else
{
}
else
{
+ const char * compiler = getenv("COMPILER");
+ if(!compiler) compiler = "Default";
settingsContainer.Load();
//incref ideSettings;
delete settingsContainer;
// TODO: Command line option to choose between the two
- // or a command line option to not use global settings
+ // or a command line option to not use global settings
//defaultCompiler = MakeDefaultCompiler();
- defaultCompiler = ideSettings.GetCompilerConfig("Default");
+ defaultCompiler = ideSettings.GetCompilerConfig(compiler);
// possible TODO: use the workspace to select the active compiler
// TODO: option to specify compiler name when using global settings
}
defaultCompiler.libraryDirs.Add(dir);
delete optionsCompiler;
- project = LoadProject(epjPath);
+ project = LoadProject(epjPath, null);
if(project)
{
ProjectConfig defaultConfig = null;
}
}
if(!valid)
- printf("Error: Project configuration (%s) was not found.\n", configName);
+ printf($"Error: Project configuration (%s) was not found.\n", configName);
}
else
{
if(!releaseConfig && project.configurations.count)
{
releaseConfig = project.configurations[0];
- printf("Notice: Project configuration (%s) will be used.\n", releaseConfig.name);
+ printf($"Notice: Project configuration (%s) will be used.\n", releaseConfig.name);
}
if(releaseConfig)
}
if(valid)
{
- if(project.GenerateMakefile(makePath, noResources, includemkPath))
+ project.GenerateCompilerCf(defaultCompiler, project.topNode.ContainsFilesWithExtension("ec", project.config));
+ project.GenerateCrossPlatformMk(null);
+ if(project.GenerateMakefile(makePath, noResources, includemkPath, project.config))
{
if(makePath)
printf("%s\n", makePath);
delete project;
}
else
- printf("Error: Unable to open project file (%s) due to unknown error.\n", epjPath);
+ printf($"Error: Unable to open project file (%s) due to unknown error.\n", epjPath);
}
}
else
- printf("Error: Input file (%s) does not exist.\n", epjPath);
+ printf($"Error: Input file (%s) does not exist.\n", epjPath);
}
//if(optionsCompiler) // how to fix those leaks?
// CheckMemory();
delete ideSettings;
-#ifdef _DEBUG
+#if defined(_DEBUG) && defined(__WIN32__)
getch();
#endif
}