85 |
85 |
int exporting = 0;
|
86 |
86 |
bool run = false;
|
87 |
87 |
String mkf;
|
|
88 |
String platformFlags;
|
88 |
89 |
|
89 |
90 |
Vector<String> param, runargs;
|
90 |
91 |
|
... | ... | |
129 |
130 |
ide.console.SetSlots(n);
|
130 |
131 |
break;
|
131 |
132 |
}
|
|
133 |
case 't': {
|
|
134 |
if(s[1] == '=') {
|
|
135 |
static const VectorMap<String, String> flags = {
|
|
136 |
{"windows", "WIN32"},
|
|
137 |
{"linux", "POSIX LINUX"},
|
|
138 |
{"android", "POSIX LINUX ANDROID"},
|
|
139 |
{"osx", "POSIX BSD OSX"},
|
|
140 |
{"osx11", "POSIX BSD OSX OSX11 X11"},
|
|
141 |
{"freebsd", "POSIX BSD FREEBSD"},
|
|
142 |
{"openbsd", "POSIX BSD OPENBSD"},
|
|
143 |
{"netbsd", "POSIX BSD NETBSD"},
|
|
144 |
{"dragonfly", "POSIX BSD DRAGONFLY"},
|
|
145 |
{"solaris", "POSIX SOLARIS"}
|
|
146 |
};
|
|
147 |
String p(s += 2);
|
|
148 |
int q = flags.Find(ToLower(p));
|
|
149 |
if(q >= 0)
|
|
150 |
platformFlags = flags[q];
|
|
151 |
else {
|
|
152 |
SilentMode = false;
|
|
153 |
Puts("Invalid target platform option: " << p << '\n');
|
|
154 |
Puts("Available target platform options:\n" << Join(flags.GetKeys(), ", ") << '\n');
|
|
155 |
SetExitCode(3);
|
|
156 |
return;
|
|
157 |
}
|
|
158 |
s += p.GetCount();
|
|
159 |
}
|
|
160 |
break;
|
|
161 |
}
|
132 |
162 |
default:
|
133 |
163 |
SilentMode = false;
|
134 |
|
Puts("Invalid build option(s)");
|
|
164 |
Puts("Invalid build option(s)\n");
|
135 |
165 |
SetExitCode(3);
|
136 |
166 |
return;
|
137 |
167 |
}
|
... | ... | |
202 |
232 |
if(f.GetCount())
|
203 |
233 |
ide.mainconfigparam = f[0].param;
|
204 |
234 |
}
|
|
235 |
if(!IsNull(platformFlags)) {
|
|
236 |
if(!IsNull(ide.mainconfigparam)) {
|
|
237 |
Vector<String> a = Split(platformFlags, ' '),
|
|
238 |
b = Split(ide.mainconfigparam, ' ');
|
|
239 |
const int n = b.GetCount();
|
|
240 |
for(int i = n - 1; i >= 0; --i)
|
|
241 |
for(const String& p : a)
|
|
242 |
if(p == b[i])
|
|
243 |
b.Remove(i);
|
|
244 |
if(n != b.GetCount())
|
|
245 |
ide.mainconfigparam = Join(b, " ");
|
|
246 |
if(!IsNull(ide.mainconfigparam))
|
|
247 |
ide.mainconfigparam.Insert(0, ' ');
|
|
248 |
}
|
|
249 |
ide.mainconfigparam.Insert(0, platformFlags);
|
|
250 |
}
|
205 |
251 |
PutVerbose("Build flags: " << ide.mainconfigparam);
|
206 |
252 |
String m = 2 < param.GetCount() ? param[2] : "CLANG";
|
207 |
253 |
String bp = GetBuildMethodPath(m);
|
... | ... | |
260 |
306 |
SetExitCode(1);
|
261 |
307 |
}
|
262 |
308 |
else
|
263 |
|
Puts("Usage: [-options] umk assembly main_package [build_method] [+flags] [output]\n\n"
|
|
309 |
Puts("Usage: umk assembly main_package [build_method] [-options] [+flags] [output]\n\n"
|
264 |
310 |
"Examples: umk examples Bombs GCC -ab +GUI,SHARED ~/bombs\n"
|
265 |
311 |
" umk examples,uppsrc Bombs ~/GCC.bm -rv +GUI,SHARED ~/bin\n\n"
|
266 |
312 |
"See http://www.ultimatepp.org/app$ide$umk$en-us.html for details\n");
|