MaKL is a simple and light framework for building multi-platform C/C++ projects, purely based on the Bourne Shell and GNU Make. It is much easier to install and use than other typical building systems, while maintaining the essential functionality. It is ideal for embedded systems due to its cross-compilation, multiplatform toolchaining mechanisms, and minimal external dependencies.
| Tags | Software Development Build Tools |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | GNU/Linux *BSD QNX Solaris vxWorks Windows (Cygwin/MinGW) Minix3 OpenSolaris |
| Implementation | bourne shell GNU make |
Recent releases


Release Notes: MK: a fix for a bug in the mkdep.gcc.sh helper that was causing a compilation error on new versions of GCC (e.g. Ubuntu Oneiric with GCC 4.6.1). CF: makl_test_dir() to specify custom directory for test files; a couple of --help fixes and cleanup; a fix for the featx varname parameter; and command line args for dash-separated ids are now working. TC: the clang toolchain has been added on Darwin (darwin-clang.tc); an OpenSolaris toolchains fix; a QNX momentics 6.5.0 toolchain fix; and the QNX GNU toolchain for ARMv7 has been added.


Release Notes: Support was added for Minix3/GCC, Minix3/ACK, OpenSolaris/GCC, and OpenSolaris/SunStudioExpress.


Release Notes: /bin/bash has been set as the default shell on Linux to avoid the "can't shift that many" bug with Ubuntu's dash. Intermediate file removal is forced during lex/yacc dependencies execution.


Release Notes: This release completes the revamp of the makl* tools, adds Unix man pages for all makl* commands, supports Solaris/GCC and DragonFly BSD, simplifies the auto-configuration procedure, supports the Intel C/C++ compiler on Linux, produces dynamic libraries (DLLs) on Windows via MinGW and Cygwin, sets the OBJDIR variable to prog and lib templates for multiple target builds, and adds a host of --makl-* commandline flags to maklsh.


Release Notes: Usage of toolchain variables from configure scripts was fixed.