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:
mkg
is a statically-compiled executable that relies on no external runtimePortable:
mkg
itself 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.