Jump to content
  • Advertisement
Sign in to follow this  
implicit

Fed up with Make. Is there a better way?

This topic is 3182 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

As the title says I've had it with Make. As my homebrew projects have grown over the years I've found myself stringing together dozens of little custom converters, utilities and assemblers into these fragile monolithic Makefiles, typically with data and code being baked in fifteen different ways with dependencies going left and right before finally producing some output image. Not to mention all of the little peculiarities of the language, or at least of GNU Make on Windows. Why can't I have a hash mark within a quoted variable definition? Why does a parallel build freak over rules with multiple targets? And who's bright idea was it to use tabs to identify commands anyway? I'm not expecting any other tool to remove my dependencies for me, but surely there must be a better language out there for expressing this sort of thing? Note that I have little interest in trying to manage builds for a hundred and three different environments. Furthermore I'm looking for a small standalone executable that I can painlessly package together with my code and other tools to send to artists and such, not something that needs a gazillion other utilities or some "run-time" installed.

Share this post


Link to post
Share on other sites
Advertisement
Hopefully I'm not asking the obvious, but you already said you're on windows, so why can't you use Visual Studio Express edition?

Share this post


Link to post
Share on other sites
Quote:
Original post by cache_hit
Hopefully I'm not asking the obvious, but you already said you're on windows, so why on earth can't you use Visual Studio Express edition?
I do use Visual Studio for C++ development. However I mostly use Make for cross-compiling homebrew projects (e.g. my current project is a C64 game.)

Still... Wouldn't I have to resort to some external Make-like utility when baking data in intricate ways for any platform?

Quote:
Original post by bubu LV
Waf
Quote:
Original post by Hyrcan
I am quite happy with SCons.

Thank you. I'll check those out.

Share this post


Link to post
Share on other sites
Quote:
Original post by implicit
Quote:
Original post by cache_hit
Hopefully I'm not asking the obvious, but you already said you're on windows, so why on earth can't you use Visual Studio Express edition?
I do use Visual Studio for C++ development. However I mostly use Make for cross-compiling homebrew projects (e.g. current project is a C64 game.)

Still... Wouldn't I have to resort to some external Make-like utility when baking data in intricate ways for any platform?


Ahh gotcha, didn't realize there was cross-compiling going on.

Have you considered CMake? It's a script system built on top of make (and visual studio, for that matter) that sits at a higher level and generates makefiles, visual studio projects, etc automatically.

Share this post


Link to post
Share on other sites
Quote:
Original post by cache_hit
Have you considered CMake? It's a script system built on top of make (and visual studio, for that matter) that sits at a higher level and generates makefiles, visual studio projects, etc automatically.
++ for CMake. I use it to compile on Mac/Windows/Linux, and I have had considerably less trouble than with automake/scons/etc. For the most part, CMake's ability to generate Visual Studio/XCode projects allows much better integration with native tools.

Share this post


Link to post
Share on other sites
Quote:
Original post by cache_hit
Have you considered CMake? It's a script system built on top of make (and visual studio, for that matter) that sits at a higher level and generates makefiles, visual studio projects, etc automatically.
Not really. It seemed geared towards solving a different problem from the one I am having. That is smoothly compiling C projects on multiple platforms as opposed to assembling code for a very specific machine and massaging data in byzantine ways (not to mention that the ten-megabyte installer kind of put me off.)
But perhaps it's worth taking a second look?

Share this post


Link to post
Share on other sites
Quote:
Original post by Antheus
Hudson is often used for CI infrastructure.

The fact that it's Java shouldn't be used to dismiss it early.
I'll check it out. I don't have a problem with Java as long as it works out-of-the-box on whatever run-time comes bundled with Windows.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!