The Mako Server

The Mako Server is a Barracuda Application Server (BAS) derivative product designed for operating systems such as Linux, including Embedded Linux, QNX, Windows, and Windows CE. We provide pre-compiled versions for select operating systems on the following site:

https://makoserver.net/

Building the Mako Server

The make directory contains a generic makefile. You may use the makefile for building the server. The make directory also contains a few ready-to-use build scripts, which calls the makefile. See the README file in the make directory for details.

As an option to using the makefile, you may include the source files directly in your build-process and/or IDE.

Mako Server Source Files:

src/makoMain.cRequired The Mako Server startup code sets up a configurable standalone server using BAS.c.
../../amalgamation/BAS.cRequired The Barracuda App Server library. See ../../amalgamation/README.txt for details.
src/SendError.cOptional Traps errors and optionally reports the errors, including asserts, if enabled. You may use another error handler or remove the call in makoMain.c.
obj/LspZip.cOptional Zip file converted to C array by bin2c and assembled by running BuildInternalZip. Exclude by compiling with macro USE_EMBEDDED_ZIP=0.
../../xrc/sql/ls_sqlite3.cOptional Lua SQLite Lua bindings.
../../xrc/sql/luasql.cOptional Lua SQLite Lua bindings.
../../xrc/sql/sqlite3.cOptional SQLite database.

* When compiled for Windows, include all C files in the src/Windows subdirectory. These files enable the server to be installed as a Windows service.

Resource Files

The Mako Server requires a few resource files. The make directory includes two scripts for assembling and zipping together the resource files.

In general, you should always include the external resource file mako.zip with the Mako Server executable since this resource file includes additional resources that make components such as the TraceLogger and the File Manager work. The internal ZIP file, which may be removed, should only be used as a fallback if mako.zip is not found. The server aborts if the Mako Server is compiled without the internal ZIP file and if the Mako Server fails to mount mako.zip.

SQL Databases

The default is to include SQLite, however, you may compile the Mako Server with no built-in SQL support. You may also include the ITTIA embeddable database.