Common makefile (gasp) stuff

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 14 02:58:02 PST 2015


On 1/14/15 2:09 AM, Daniel Murphy wrote:
> "Andrei Alexandrescu"  wrote in message
> news:m95ds3$2vm4$1 at digitalmars.com...
>
>> I agree that make sucks etc. but duplication sucks more (and would
>> suck regardless of what tool we use). Here we do have a simple method
>> (include files) that is suitable for addressing that. I'd assume we'd
>> use something similar with whichever tool we'd use.
>
> I don't mind using include files, I mind adding more dependencies
> between projects.

Why? Druntime depends on dmd. Phobos depends on dmd and druntime. 
Dlang.org and tools depend on dmd, druntime, and phobos. It's a fact of 
life.

>> Great. As an aside I just ran that and got:
>>
>> error: unknown option `rebase'
>> usage: ...
>
> Maybe it's 'git pull --rebase upstream master', I didn't try it and I
> don't type it manually very often because I have a script to do this.
>
>> Whether it's a command or a couple, that doesn't change the fact that
>> I need to run the same command four times, and in parallel if at all
>> possible. It's a perfect candidate for automation, and I haven't seen
>> an argument the makefile isn't a good place for that.
>
> I guess we have different usage patterns, which isn't really a surprise.
> Anyway putting rebase in the makefile is a secondary issue, that's
> probably not worth discussing now.
>
>> > I've managed to get by fine with using shell scripts for stuff like
>> > this.
>>
>> Do you need to upload the dlang.org website quickly and without error?
>
> Do enough people need to that it warrants being in the makefile instead
> of a local shell script?  Does everyone do it the same way?

Yes.

Currently I'm the site build master by default. In the near future 
there'll be several. I'd rather have anyone run a simple command than 
telling them to write their scripts.

So if next month I transfer this responsibility to Martin, I can tell: 
"to update dlang.org, run 'make rebase -j && make rsync -j'" as opposed 
to "yeah, I have some scripts somewhere, do your own or let me email 
them to you".

I don't really understand your position here. It's like you reject 
robust automation over tribal knowledge and folklore.

>> Overall I have difficulty understanding counterarguments.
>>
>> Challenge: "We should eliminate some unpleasant duplication."
>>
>> Response: "Make sucks. Make includes are unreliable for mythical
>> unexplained reasons. You don't know git. You should do scripts instead."
>>
>> The response just doesn't follow. Care to clarify what you think we
>> should be doing here?
>
> Apologies for not being clear.
>
> Challenge: "We should eliminate some unpleasant duplication."
>
> Response:  "We should avoid adding more dependencies between projects at
> all costs."

Why? As an aside, "at all costs" is suspicious in many contexts.


Andrei



More information about the Digitalmars-d mailing list