====== KempoMake : Quick Start Guide ====== ===== Check Configuration ===== Here is a simple test to see if KempoMake is properly configured: - Create a projects directory. (ie /proj/) - Unarchive the KempoMake archive into this directory. - Open /proj/KempoMake/default.mk with a text editor and edit the PROJROOT variable for your setup. Modify other defaults as you wish. - Open a shell up. - Change to the KempoMake directory: cd /proj/KempoMake/Project/ - Create a sample library: make -r -R CreateLibrary NAME=SampleLib PLATFORM=Win32 - Open a second shell up. - Change to the KempoMake directory: cd /proj/KempoMake/Project/ - 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: * DEBUG - Generates debug symbols, has all assertion/exception handling code, no optimizations whatsoever * PARTIAL - Generates no debug symbols, has all assertion/exception handling code, all optimizations on * FINAL - Generates no debug symbols, has no assertion/exception handling code, all optimizations on The idea with the build levels is simply this: * DEBUG - Internal builds, run by the programmers to find errors * PARTIAL - Internal/External builds, run by beta testers to find bugs * FINAL - External builds, this is release code, and should therefore have zero chance to assert 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.