Table of Contents

KempoMake : Quick Start Guide

Check Configuration

Here is a simple test to see if KempoMake is properly configured:

  1. Create a projects directory. (ie /proj/)
  2. Unarchive the KempoMake archive into this directory.
  3. Open /proj/KempoMake/default.mk with a text editor and edit the PROJROOT variable for your setup. Modify other defaults as you wish.
  4. Open a shell up.
  5. Change to the KempoMake directory:
    cd /proj/KempoMake/Project/
  6. Create a sample library:
    make -r -R CreateLibrary NAME=SampleLib PLATFORM=Win32
  7. Open a second shell up.
  8. Change to the KempoMake directory:
    cd /proj/KempoMake/Project/
  9. Create a sample application:
    make -r -R CreateApplication NAME=SampleApp PLATFORM=Win32

Sample Library/Application

Now in your first shell:

cd /proj/SampleLib/Project
make -r -R PLATFORM=Win32

Once the first shell is done building, in your second shell:

cd /proj/SampleApp/Project
make -r -R PLATFORM=Win32

The "BUILD" variable

A note, there is a “BUILD” variable, which can be either “DEBUG”, “PARTIAL”, or “FINAL”.

Build Levels Explained

There are three “build levels”, as follows:

The idea with the build levels is simply this:

The default build level is “DEBUG”.

Open a third shell, and type:

z:\proj\SampleApp\Project\Win32\DEBUG\SampleApp.exe

You should then see this:

printFoward: First Statement
printBackwards: tnemetatS dnoceS
printLeet: ThIrD StAtEmEnT

…Which means that the Sample Library and Sample Application are both working. Congratulations.

Platform support

Currently only the Win32 platform is supported at this time.

You may add support for additional platforms similarly.

To add platform support for a library, for instance Linux:

cd /proj/KempoMake/
make -r -R AddLibraryPlatform NAME=SampleLib PLATFORM=Linux

To add platform support for an application, for instance on Linux:

cd /proj/KempoMake/
make -r -R AddApplicationPlatform NAME=SampleApp PLATFORM=Linux

To start your own project, change the NAME variable in the make command line.