| Thread overview | |||||||
|---|---|---|---|---|---|---|---|
|
January 15, 2012 Intrusive Makefile for d-programming-language.org | ||||
|---|---|---|---|---|
| ||||
I'm not particularly well versed in Makefile ethics, but this caught me by surprise. Suppose I clone d-programming-language.org into my home directory (as I did), do some work, then later on run make clean. git clone https://.../d-programming-language.org.git cd d-programming-language.org ... do stuff ... make -fposix.mak clean Here's what clean does: rm -rf ../web ../dmd.2.056 2.056.ddoc rm -rf ../druntime.2.056 ../phobos.2.056 If I had a web dir in my home directory (not exactly uncommon), it would have been deleted without warning. Luckily, I didn't. I now have it cloned into a separate dir where it can do no harm. Is it normal for Makefiles to be so intrusive? IMO, Makefiles shouldn't be deleting anything outside their own directory. | ||||
January 15, 2012 Re: Intrusive Makefile for d-programming-language.org | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | > If I had a web dir in my home directory (not exactly uncommon), it would have been deleted without warning. Luckily, I didn't. I now have it cloned into a separate dir where it can do no harm.
>
> Is it normal for Makefiles to be so intrusive? IMO, Makefiles shouldn't be deleting anything outside their own directory.
You're right! Makefiles shouldn't do anything outside their own directory, but building the website is a little bit complicated as d-progamming-language.org relys on the sources of druntime and phobos to generate the documentation.
I think it can not be avoided in this particular case. The Makefile has to do some work in the parent folder.
BUT, it's probably best to add a "README.md" and give a short explanation of how to build the website.
----
mkdir -p /tmp/workdir
cd /tmp/workdir
git checkout ...
git checkout ...
git checkout ...
make -f ....
move BLA to your /var/www/public_html folder
rm -rf /var/workdir
----
| |||
January 15, 2012 Re: Intrusive Makefile for d-programming-language.org | ||||
|---|---|---|---|---|
| ||||
Posted in reply to mta`chrono | On 2012-01-15 14:28, mta`chrono wrote: >> If I had a web dir in my home directory (not exactly uncommon), it would >> have been deleted without warning. Luckily, I didn't. I now have it >> cloned into a separate dir where it can do no harm. >> >> Is it normal for Makefiles to be so intrusive? IMO, Makefiles shouldn't >> be deleting anything outside their own directory. > > You're right! Makefiles shouldn't do anything outside their own > directory, but building the website is a little bit complicated as > d-progamming-language.org relys on the sources of druntime and phobos to > generate the documentation. > > I think it can not be avoided in this particular case. The Makefile has > to do some work in the parent folder. > > BUT, it's probably best to add a "README.md" and give a short > explanation of how to build the website. > > ---- > mkdir -p /tmp/workdir > cd /tmp/workdir > git checkout ... > git checkout ... > git checkout ... > make -f .... > move BLA to your /var/www/public_html folder > rm -rf /var/workdir > ---- Or create a super repository and use git submodules to include all repositories currently at: https://github.com/D-Programming-Language -- /Jacob Carlborg | |||
January 15, 2012 Re: Intrusive Makefile for d-programming-language.org | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Peter Alexander | On 1/15/12 7:09 AM, Peter Alexander wrote:
> I'm not particularly well versed in Makefile ethics, but this caught me
> by surprise.
>
> Suppose I clone d-programming-language.org into my home directory (as I
> did), do some work, then later on run make clean.
>
> git clone https://.../d-programming-language.org.git
> cd d-programming-language.org
> .... do stuff ...
> make -fposix.mak clean
>
>
> Here's what clean does:
>
> rm -rf ../web ../dmd.2.056 2.056.ddoc
> rm -rf ../druntime.2.056 ../phobos.2.056
>
>
> If I had a web dir in my home directory (not exactly uncommon), it would
> have been deleted without warning. Luckily, I didn't. I now have it
> cloned into a separate dir where it can do no harm.
>
> Is it normal for Makefiles to be so intrusive? IMO, Makefiles shouldn't
> be deleting anything outside their own directory.
I'll fix that.
Andrei
| |||
January 22, 2012 Re: Intrusive Makefile for d-programming-language.org | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Andrei Alexandrescu | On 1/15/12 9:19 AM, Andrei Alexandrescu wrote: > On 1/15/12 7:09 AM, Peter Alexander wrote: >> I'm not particularly well versed in Makefile ethics, but this caught me >> by surprise. >> >> Suppose I clone d-programming-language.org into my home directory (as I >> did), do some work, then later on run make clean. >> >> git clone https://.../d-programming-language.org.git >> cd d-programming-language.org >> .... do stuff ... >> make -fposix.mak clean >> >> >> Here's what clean does: >> >> rm -rf ../web ../dmd.2.056 2.056.ddoc >> rm -rf ../druntime.2.056 ../phobos.2.056 >> >> >> If I had a web dir in my home directory (not exactly uncommon), it would >> have been deleted without warning. Luckily, I didn't. I now have it >> cloned into a separate dir where it can do no harm. >> >> Is it normal for Makefiles to be so intrusive? IMO, Makefiles shouldn't >> be deleting anything outside their own directory. > > I'll fix that. > > Andrei Fixed: https://github.com/D-Programming-Language/d-programming-language.org/commit/30545e3ada4bafbed6e246c0b82b0442912955d1 Andrei | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply