Introduction¶
mkg is still at early stage. We may introduce compatibility-breaking changes without any warning.
mkg stands for Makefile Generator, a opinionated GNU Make-based project generator.
The utility aims to simplify the routines to write boilerplate code for cross-platform
Makefile and to create common project structures. Currently, mkg supports console
application and library projects for either C or C++.
mkg is hosted on the following sites:
Main: mkg on GitHub
Mirror: mkg on GitLab
We re-invent a wheel that is
Green:
mkgis a statically-compiled executable that relies on no external runtimePortable:
mkgitself and generated projects are portable across major desktop platformsSimple: no yet another Makefile generating language but the dead simple Makefile
There have been several software projects with similar objective of mkg.
Autotools
is a well-known Makefile-generating tool but only feasible on Unix-like systems.
CMake is famous and cross-platform, but CMake users needs another full
language to utilize this tool. Bakefile is a less famous alternative to
CMake, sharing similar pros and cons of CMake. There are some community Makefile generators like
PyMake and vfnmake but
they rely on some external runtimes and provide no support for Windows-family systems. Therefore,
we made our own wheel.
mkg doesn’t intend to compete with Autotools or CMake but works as a simple tool.
In the future, we may add the following features:
Fortran projects based on gFortran
Objective-C projects based on GNUStep
Vala projects
LaTeX projects
CMake-based projects besides GNU Make-based ones
mkg is licensed under the MIT License. Nevertheless, the project generated by mkg is not restricted by any license, able to use for any purpose, either commercial or non-commercial. We set a license chooser in mkg just for convenience. mkg users may use their own licenses when proper.