I’m currently using a manually designed Makefile for my project and I have never used Makefile generators before. Note that I currently have more than 70 source files (C++, Python and MATLAB combined). The Makefile is mainly used to compile C++ files and the protocol buffers (.proto). I know my project is growing to have more and more files. They are currently all in one director. But I may need to have multiple directories. My fear is that maintaining a Makefile becomes harder and harder.
I used to see automake/autoconf before and I am seeing CMake more and more. What are the options? Are they designed large projects? Which one is preferred? What are pros and cons of each? What are the other good options?
I do see that automake is not listed in any good tool for makefile generation?. Is it outdated?
The 1st coming to mind are
What will fit better might depend on your particular needs. CMake covers a broad bunch of features from auto-building installable packages to unit tests, and is much more easier to understand than autoconf tools IMHO.
For really ‘large’ projects, that need integration of 3rd party stuff, generation of intermediate sources, etc. I’m actually using ant + CMake to steer the C++ compilation parts. This also integrates well with contiguous integration servers like Jenkins.