Skip to content

Conversation

@k0gen
Copy link
Contributor

@k0gen k0gen commented Aug 4, 2025

Makefile Documentation

This Makefile automates building and installing StartOS packages (.s9pk files) with support for multiple architectures.

Basic Usage

Default Build (Universal)

make

Builds a universal package supporting all platforms. Same as running make package.

Platform-Specific Builds

make arm    # Build for ARM architecture only
make x86    # Build for x86 architecture only

Installation

make install    # Build and install to your configured StartOS device

Available Targets

Target Description
make or make all Build universal package for all platforms
make arm Build ARM-only package
make x86 Build x86-only package
make install Build and install package to StartOS device
make clean Remove all build artifacts

Tandem Operations

You can chain multiple targets together:

make clean arm          # Clean then build ARM package
make clean x86 install  # Clean, build x86 package, then install
make clean install      # Clean, build universal, then install

Example Output

Building ARM package:

$ make arm
   Re-evaluating ingredients...
ℹ️ No code changes detected for arm platform build.
📦 Filesize: 7.1M	hello-world.s9pk
✅ Done! (arm only)

Installing universal package:

$ make install
   Re-evaluating ingredients...
   Packing 'hello-world.s9pk' for universal...
📦 Filesize: 13M	hello-world.s9pk

🚀 Installing to working-finalist.local ...
Sideloading 100% ███████████████████████████████ [251/251] [157.4902/s 0s]
  Uploading...
  Validating Headers...
  Unpacking...

Cleaning build artifacts:

$ make clean
Cleaning up build artifacts...

Prerequisites

  • start-cli: StartOS development toolkit
  • npm: Node.js package manager
  • ~/.startos/config.yaml: Must contain your StartOS device host configuration

The Makefile will check for these dependencies and guide you through setup if anything is missing.

@k0gen k0gen requested a review from dr-bonez August 5, 2025 16:15
@k0gen k0gen self-assigned this Aug 5, 2025
@k0gen k0gen requested a review from MattDHill August 7, 2025 10:36
@k0gen
Copy link
Contributor Author

k0gen commented Aug 18, 2025

@dr-bonez Check out my latest Makefile changes:

  • Update LAST_BUILD_STAMP to use .lba outside the startos folder
  • Switch from git ls-files to find for startos sources (allows building without commits)
  • Remove duplicate ingredients target invocation (tested and works as expected)
  • Add .dockerignore to exclude .git and .gitmodules

@dr-bonez dr-bonez merged commit bb00725 into update/040 Aug 19, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants