I've been for long using VIM as my main editor and never touched an IDE since. This works great for most of the programming languages on the market. When it comes to C, though, I still fell limited to simple projects, because writing makefiles is too cumbersome. How do the Unix as IDE philosophy deal with makefiles? Is there a tool I'm not aware of that does that particular job from the command line, or is everyone just writing the makefiles themselves?
How to deal with C makefiles under the Unix as IDE philosophy?
c;programming;development;ide
There are quite a few tools around to generate makefiles. The two most common ones are CMake and Automake; both of these ask you to describe the components of your project and the desired output, and generate makefiles for you.This is no doubt a matter of opinion, but you'll probably find CMake easier to get to grips with; if you ever need to cross-compile though, you'll end up needing Automake (and Autoconf).For simple projects, the built-in rules provided with GNU Make can help quite a bit; for example, to build a project consisting of two source files, a.c and b.c, the following Makefile works:all: aa: a.o b.oRunning make will figure out that a.c and b.c need to be compiled, and linked to produce a...(As AProgrammer points out, the built-in rules only go so far, and your makefile needs to specify all the relationships between files, including your project's headers; you'll quickly end up reaching for other tools to help manage dependencies etc.)