beep8-sdk

Advanced Build with Make

Each sample directory also contains a run.sh script for quick Bash-based builds, but this document covers instructions specifically for using make. BEEP-8 SDK includes a prebuilt make binary under beep8-sdk/tool/make, though you can also use any make already installed on your system.


Prerequisites


Bundled Make & Environment Setup

If you do not have make installed, or wish to use the SDK’s bundled version, follow the instructions for your platform:

macOS

  1. Use the bundled make
    source ./beeb8-env.sh
    

    This prepends ./tool to your PATH, ensuring the included make is used.

  2. Install Xcode Command Line Tools
    xcode-select --install
    

Windows MS-DOS

If you are on MS-DOS (not PowerShell or WSL):

beep8-env.bat

This sets up make.exe and busybox from the SDK for use in the command prompt.


Build a Single Sample

Navigate to the sample directory (e.g., pico8_example) and run:

cd sdk/app/pico8_example
make clean       # Remove generated files
make             # Compile sources, convert assets, link, and generate ROM
make run         # Build and launch the ROM in your default web browser (e.g., Google Chrome)

Build All Samples

From the sdk/app/ directory, you can build every sample at once:

./build_all.sh

This script iterates through each sample subdirectory, invoking make for each.


Makefile Structure


Environment Variables & Options

These variables can be set when invoking make in each sample’s directory:


CI Integration Example

In a headless CI environment on Linux:

cd sdk/app/pico8_example
make -j6              # Parallel build
make run              # Launch in browser (or mock upload)

Or disable upload in CI by commenting out the run target and only generate the ROM:

make clean
make

Happy building!