I just meant putting together all your development/debug tools. Not nessecairly compiling them. I'm a fan of "do one thing well" command line tools over something like eclipse and it's integrated tools. It takes some time and looking around at other people's tools before you get your own debug tools and template files set up so that you don't have to re-learn everything once you start a new project.
My bag of tricks is made up from:
The least defensible tool in the list is Emacs, but it's also the one I'm most attached to. Been using it for more than 30 years. I swear, the nerve impulses for typing obscure commands like esc-minus-1-ctrl-x-o never make it to my head and are handled somewhere in the elbow region. Sorry.
![Tongue :P](https://www.eevblog.com/forum/Smileys/default/tongue.gif)
Modern mcu development environments always seem to come packaged with some kind of IDE. Aside from getting in the way of my emacs addiction, the other thing I don't like about IDEs is that the build systems tend to be non-searchable. E.g., I know I want to turn on -O3 optimization, but figuring out which dialog to open, and which nested list of little triangle thingies to drill into to is entirely non-obvious. If you look at the documentation for these things, they're filled with pages upon pages of screen shots interspersed with "click this", "press Continue", etc. Very annoying! I'll admit emacs is worse, but at least you only have to learn it once. Every new IDE is a fresh helping of GUI pain.
![Banging Head |O](https://www.eevblog.com/forum/Smileys/default/bangheadonwall.gif)
In contrast, you can open up a Makefile in your text editor and search for stuff. Plus, with a little bit of effort your Makefiles will run equally well on Windows/Linux/OS X without modification. You can even bury setup commands for your debug probe and gdb inside a Makefile, so it becomes the first place to look at for configuration information. Here's an
example. In most of my repos (but not that last one), "make flashit" compiles, links, and programs the mcu assuming the hardware bits are plugged in. Fortunately, all of the hardware/firmware teams I've worked with have been open to using Makefiles, and all the IDEs I've touched are able to run Make directly.