<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><br>With Microsoft Visual C++, it is very much faster to say:<br> cl -c 1.c 2.c 3.c 4.c <br> than <br> cl -c 1.c <br> cl -c 2.c <br> cl -c 3.c <br> cl -c 4.c <br><br><br><br> I'm assuming the same pattern works with other <br> compilers, and is generally never slower. <br><br><br><br> This requires the output names followed an assumed <br> pattern -- replace ".c" with ".o" or ".obj". <br><br><br>When compiling a single file you can specify an arbitrary output name.<br>When compiling multiple files, you can only specify an output directory.<br><br><br><br> It also requires the same command line switches <br> for compiling each file, i.e. -I, -D, etc. <br><br><br><br> Traditionally this didn't matter much <br> because we have relatively little C.<br><br><br><br> I would like to "fix" this. <br> I would like to change the build to record <br> what all C files need compiling, then compile <br> them all "at once". <br><br><br><br> And for foo.m3 => foo.m3.c => foo.m3.obj or foo.m3.o <br> instead of the current foo.m3 => foo.m3.c -> foo.mo <br><br><br><br> And, might as well do similar for the gcc backend? <br> foo.m3 => foo.mc => foo.m3.o instead of <br> foo.m3 => foo.mc => foo.mo <br><br><br><br> Or, for some purported MS-DOS compatibility (only one dot): <br> foo.m3 => foo_m3.c => foo_m3.obj or foo_m3.o <br> foo.m3 => foo.mc => foo_m3.obj or foo_m3.o <br> <br><br><br>Ok?<br>I think nix the MS-DOS part.<br>(Is anyone interested in a DJGPP version?)<br><br><br><br><br> - Jay<br> </div></body>
</html>