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.
If you do not have make installed, or wish to use the SDK’s bundled version, follow the instructions for your platform:
make
source ./beeb8-env.sh
This prepends ./tool to your PATH, ensuring the included make is used.
xcode-select --install
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.
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)
make clean: Deletes obj/, data/export/, and any intermediate files.make: Builds the .b8 ROM image in obj/.make run: Builds (if needed) and opens the ROM in your default browser for execution.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 in each samplePROJECT and includes makefile.app for common rules.makefile.app.c, .cpp, and converted .png.cpp filespng2c for asset conversion.b8 ROMmakefile.top and makefile.incThese variables can be set when invoking make in each sample’s directory:
EXPORT_LIST=1.lst) alongside the ROM:
EXPORT_LIST=1 make
CFLAGS, LDFLAGS, CPPFLAGSmake CFLAGS="-O3 -g" LDFLAGS="-specs=nano.specs"
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!