genmake, the Not so Simple Makefile Generator Bash Script, is now hosted on Google Code (for older version, check this post).
The version 2 now supports:
- executables, static libraries, and dynamic link libraries, based on the output file name format,
- automatic increment of build number on each build (the header file including the version and build number is automatically generated; requires Awk),
- several build targets – debug, debug profile, release, release profile,
- easily specifying additional flags passed to compiler,
- passing list of link libraries used for build,
- selectively excluding files from build, and more…
Happy coding! 🙂
BASH, aka Bourne Again SHell, is probably the most wide-spread shell for *nix like systems (no discussions about this, please; if you prefer some other, just enjoy, I’m not making anyone use bash).
There are many intros out there, but most of them are more about syntax etc., with just a little practical use.
I wrote quite a few bash scripts, but it’s not my primary “language” of choice; so I often need a fast reminder, rather than textbook. That’s why I compiled this simple “list” or “intro” to use as a reference. Maybe someone else will find this useful also.
Update: For a much more advanced version of this script, see Makefile Generator, version 2 post.
Presented here is a simple bash script for automatic Makefile generating.
This script simply takes all .c, .cpp, .c++ and .cxx files in the current folder, and generates Makefile that builds an executeable from all these sources.
Dependencies are generated using the gcc‘s -MM functionality.
About the script
This script is provided under BSD-style license.
Of course, any comments, reports of use, and suggestions are very much welcome – just leave me a comment! It takes just a moment, and makes me know I didn’t put all the work in posting and updating this for nothing.