MaKL is a simple and light framework for building multi-platform 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. KLone is an example of such usage.
Prepare for Installation
$ ./configure --gnu_make=/path/to/gnu/make
While '--gnu_make=...' parameter is mandatory and must be set to the exact path of an installed GNU make executable (perhaps the same used in the toolchain step, '--prefix=...' is optional and defaults to '/usr/local'.
MaKL template libraries (i.e. mk and cf modules) will be placed into
$(prefix)/share/makl-$(MAKL_VERSION). The 'maklsh' executable and its related symlinks ('makl', 'maklconf' and 'maklhelp') will reside into $(prefix)/bin/
# make install
add $(prefix)/bin/ to your PATH env variable and you will be able to use the
'makl' and 'maklconf' commands to build and configure your C/C++ projects.
If you need to override system-wide settings, perhaps in order to use a specific MaKL version you can create a '.maklrc' file containing the appropriate variables and let 'maklsh' use them. Suppose you have MaKL installed at /share/makl-1.5.0/ and you want to use a newer MaKL version which you have downloaded and installed in your home directory. Then do the following:
$ makl -C /usr/local/share/makl-1.5.0/ env
Pick up a shell [bash]: zsh
Pick a suitable environment file [/share/makl-1.5.0/makl.env]: /home/me/.maklrc
then open '/home/me/.maklrc' in your favourite editor (mine is vim :-)) and
set the variables to match your "private" MaKL setting:
$ vim /home/me/.maklrc
# Set this to expand the config scripts search
What's New in This Release: [ read full changelog ]
· Support was added for Minix3/GCC, Minix3/ACK, OpenSolaris/GCC, and OpenSolaris/SunStudioExpress.