All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Modules Pages
Getting Started

Quickly build and run your first app


If you don't have it already, grab the latest version of the SDK at https://www.sifteo.com/developers


The Sifteo SDK is distributed as a zip archive, and can be unpacked anywhere on your machine.

It is recommended to unpack the SDK archive to a path with no spaces in the name - make is used as the default build tool, which does not handle paths with spaces very well.


What's Inside?

The Sifteo SDK doesn't dictate any build tools or IDE that must be used to develop applications. This guide, as well as the examples included with the SDK, will assume you're building with good old Makefiles, but you may configure your IDE of choice to build Sifteo applications as long as it can use the compiler and linker we provide.

Build & Run

Now we'll build and run stars, one of the example applications in the SDK.

First, ensure your SDK is on a path with no spaces in the name, otherwise make will report errors.

Now, open the appropriate shell, depending on your platform:

The shell opens to the sdk/examples folder within the SDK distribution. From here, navigate into the stars demo, and run make to build the project.

cd stars

This should create stars.elf in the current folder - this is the binary that contains the stars application.

The name of the .elf file is specified by the line APP = stars in the Makefile in the stars folder.

Finally, let's run stars.elf in the Siftulator.

siftulator stars.elf

The simulator should start up and run stars, which should look like the following:


Congratulations! You've just run your first Sifteo Cubes application. Try building the other examples in the examples folder, and modifying them to expore the API.

You may also use any of the examples as a template to create an application of your own.

Other Build Environments

If you set up your own build system from scratch, be sure to use the same compiler flags that we provide by default in the Makefiles.
  • Compile for a minimal environment, and generate LLVM object files:
    -emit-llvm -ffreestanding -nostdinc -msoft-float
  • Disable unavailable C++ features:
    -fno-exceptions -fno-threadsafe-statics -fno-rtti -fno-stack-protector
  • Recommended flags for warnings and debugging:
    -g -Wall -Werror -Wno-unused -Wno-gnu -Wno-c++11-extensions