Makefile Question

Programming, for all ages and all languages.
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Makefile Question

Post by dozniak »

I'm not arguing it, i'm rather surprised why yet another build system with a database, requiring osxfuse to be installed (i'm not kidding) and then instrumenting compiler calls instead of reusing what compiler could tell. It's probably faster, but ninja is fast without all that.
Learn to read.
Octocontrabass
Member
Member
Posts: 5513
Joined: Mon Mar 25, 2013 7:01 pm

Re: Makefile Question

Post by Octocontrabass »

dozniak wrote:perhaps library files and other binaries.
Tup keeps track of all of that and more. I've seen it rebuild things after a change to my environment variables!
Solar wrote:And while a commendable effort, it is still being educated guesswork.
I prefer a build system that guesses too many things are dependencies over one that guesses not enough (or none at all).
Solar wrote:The -M options are making the compiler tell what it's doing, with regards to header files. :wink:
Sure, but that only works for GCC, and you still have to add those rules to your makefile. Tup can do this for any tool you want to automate, and it does it automatically.
User avatar
eryjus
Member
Member
Posts: 286
Joined: Fri Oct 21, 2011 9:47 pm
Libera.chat IRC: eryjus
Location: Tustin, CA USA

Re: Makefile Question

Post by eryjus »

Octocontrabass wrote:I prefer a build system that guesses too many things are dependencies over one that guesses not enough (or none at all).
I prefer a build system that builds the right things -- not too much and not too little. My goal is not to have a build that makes me wait an extra 2 minutes to rebuild the entire object list each time. Like I said earlier, I use make very frequently in my workflow and execute `make xxx` just to check my typing far more frequently than I execute the code to check the logic. tup does not sound like a good fit for that kind of workflow to me.

Also, for the record, I have nothing against tup -- I never heard of it before you mentioned it. Your last comment is a pretty big deal for me, and I know how I work.
Adam

The name is fitting: Century Hobby OS -- At this rate, it's gonna take me that long!
Read about my mistakes and missteps with this iteration: Journal

"Sometimes things just don't make sense until you figure them out." -- Phil Stahlheber
FallenAvatar
Member
Member
Posts: 283
Joined: Mon Jan 03, 2011 6:58 pm

Re: Makefile Question

Post by FallenAvatar »

eryjus wrote:... I use make very frequently in my workflow and execute `make xxx` just to check my typing far more frequently than I execute the code to check the logic. tup does not sound like a good fit for that kind of workflow to me. ...
tup looks like a really good fit for that. It runs faster than make more often than not (and "never" slower), and would speed that process up for you.

- Monk
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Makefile Question

Post by dozniak »

Or ninja, it's probably even faster without those unnecessary rebuilds when your elapsed time changes or whatever else in the environment. (ENV VARS, man, so if you do a cd, the bash will change env var for PWD, does it mean tup will rebuild??)
Learn to read.
Octocontrabass
Member
Member
Posts: 5513
Joined: Mon Mar 25, 2013 7:01 pm

Re: Makefile Question

Post by Octocontrabass »

eryjus wrote:Like I said earlier, I use make very frequently in my workflow and execute `make xxx` just to check my typing far more frequently than I execute the code to check the logic.
I don't think I've ever tried, but the website briefly mentions that tup can do this too.
dozniak wrote:ENV VARS, man, so if you do a cd, the bash will change env var for PWD, does it mean tup will rebuild??
Tup is smarter than that.
User avatar
dozniak
Member
Member
Posts: 723
Joined: Thu Jul 12, 2012 7:29 am
Location: Tallinn, Estonia

Re: Makefile Question

Post by dozniak »

Octocontrabass wrote: Tup is smarter than that.
Nothing about env vars in that page.
Learn to read.
Post Reply