BCS wrote:
Hello Yigal,
Georg Wrede wrote:
Yigal Chripun wrote:
Make _is_ a build tool
Yes. But since it's on every Unix since almost 40 years back, it
doesn't count here. :-)
Besides, it has tons of other uses, too. One might as well say that a
text editor is a build tool. You construct (or erect) software with
it. ;-)
Nope. it does count as an external build tool
OK and so can bash because it can run scripts.
No, the main purpose of make is to build software. You probably wouldn't
think to use a makefile to automate converting flac files to ogg files,
for instance. Or look at bashburn -- it has a user interface (albeit
using text menus rather than graphics). You might be able to do that
with a makefile, but it would be seriously awkward, and you'd mainly be
using shell scripting.
And bash does not have any special features to assist in building software.
But that's not the point. Neither make nor VS's equivalent is what this
thread was about. At least not where I was involved. My point is that
the design of c# *requiters* the maintenance (almost certainly by a c#
specific IDE) of some kind of external metadata file that contains
information that can't be derived from the source code its self, where
as with D, no such metadata is *needed*. If you wanted, you could build
a tool to take D source code and generate a makefile or a bash build
script from it
If you wanted, you could create a tool to do the same with C# source
code, assuming there exists a directory containing all and only those
source files that should end up in the resulting assembly. If you follow
C# best practices, this is what you will do -- and your directory
structure will match your namespaces besides. But this is not enforced.