Compiling with gdc vs. gdmd

Jacob Carlborg doob at me.com
Wed Apr 4 02:43:04 PDT 2012


On 2012-04-04 10:19, Leandro Lucarella wrote:
> Fair enough. But I guess that's just personal taste, I really like Make
> syntax better (the only thing that annoys me is $(variables) and
> $(function call) syntax, that could be definitely better).
>
> But to me this:
> file "prog" =>  ["a.o", "b.o"] do |t|
>    sh "cc -o #{t.name} #{t.prerequisites.join(' ')}"
> end
>
> Looks much complicated (and with way much more syntax overhead) than
> this:
> prog: a.o b.o
> 	cc -o $@ $^

Sure, I guess makefiles both have their pros and cons. One of the 
advantage is that you can invoke shell commands. This is at the same 
time a disadvantage, that makes the language syntax complicated. In my 
opinion it's just too many symbols.

When you need to do more complicate stuff that requires if-statements 
and functions then I think Ruby is superior.

But it might be as I've said, too many people uses Make as a build 
system and not a tracking system.

> BTW, I took a look at Rake and it lacks a lot of Make features (well
> GMake at least, I usually stick to GMake because it's usually available
> anywhere), just for the command-line: --jobs (!), --question, --what-if,
> --always-make, --keep-going. Also I didn't see anything about the
> secondary expansion, rebuilding the Makefile itself, target-specific
> variables, implicit rules, pattern rules with multiple targets, ....
> Also for me using a declarative language instead of a imperative one is
> a better choice for this kind of applications.

I've actually never done a direct comparison. It just the feel I've got 
when I've used the tools.

-- 
/Jacob Carlborg


More information about the D.gnu mailing list