KMK(1)
π KMK(1) β simple makefiles for complex tasks π
okay bestie, sit down, hydrate, because we're talking about kmk β a whole framework for writing simple makefiles for complex tasks. yes the manual name is right there in the title, we're not being mysterious about it. let's go π
β¨ SYNOPSIS β¨
kmk [OPTIONS]
that's it. that's the whole vibe. <pink>OPTIONS</pink> are optional, as options so often are π
πΈ DESCRIPTION πΈ
so kmk and its helper tools? they're an extension to GNU make whose whole entire job is making it easier to write portable Makefile. like, portable-portable. across platforms. no cap π
here are the goals of the kBuild framework, in a cute lil list because we love structure:
- Similar behavior cross all supported platforms. same energy everywhere, bestie π
- Flexibility, don't create unnecessary restrictions preventing ad-hoc solutions. don't box me in, I'm a free spirit π¦
- Makefile can very simple to write and maintain. (that's the original wording, I'm not fixing it, I'm respecting it, periodt π)
and there are four concepts being tried out in the current kBuild incarnation β yes, four, count 'em:
- One configuration file for a subtree automatically included. it just shows up. main character energy, honestly.
- Target configuration templates as the primary mechanism for makefile simplification. templates doing the heavy lifting so you don't have to π
- Tools and SDKs for helping out the templates with flexibility. the templates have a support system π«Ά
- Non-recursive makefile method by using sub-makefiles. yes, non-recursive, with sub-makefiles, that's the whole trick, iykyk
π¨ important vibe check: kBuild does not provide any facilities for checking compiler/library/header configurations, that's not in its scope. not its lane, not its problem π
if that checking is important for your project? bestie, go check out the autoconf tool in the GNU build system. and yes, it is possible to use kBuild together with autoconf if you like β but you might just as well use the full GNU package. your call, no judgement πΈ
debian girlies, this one's for you: on Debian systems, the kBuild binaries can be found in /usr/bin and its data files in /usr/share/kBuild. πβ¨
π SEE ALSO π
π HOMEPAGE π
more information about the kBuild project can be found at <http://svn.netlabs.org/kbuild/>. go peek, it's giving vintage svn chic π
π AUTHOR π
kBuild was written by Knut St. Osmundsen <bird-kBuild-spam@anduin.net>.
This manual page was written by Daniel Baumann <daniel@debian.org>, for the Debian project (but may be used by others). iconic behavior, honestly π
okay that's the whole page, you're officially a kBuild expert now, go write a portable Makefile and slay πβ¨
version 0.1.98svn2318, dated 2009-04-09 β yes she's an elder millennial of a release but she still ate, mwah ππ
π¦ where this page comes from
- debian bookworm: kbuild 1:0.1.9998svn3572+dfsg-1 Β· GPL-3.0-or-later
- debian trixie: kbuild 1:0.1.9998svn3614+dfsg-2 Β· GPL-3.0-or-later
- ubuntu jammy: kbuild 1:0.1.9998svn3564+dfsg-1 Β· GPL-3.0-or-later
- ubuntu noble: kbuild 1:0.1.9998svn3604+dfsg-1 Β· GPL-3.0-or-later
- ubuntu resolute: kbuild 1:0.1.9998svn3686+dfsg-2 Β· GPL-3.0-or-later
- ubuntu stonking: kbuild 1:0.1.9998svn3686+dfsg-2 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms