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.inc
These 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
, CPPFLAGS
make 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!