Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/redthing1/dkarm_gba_docker
a docker image for building gba games with devkitarm
https://github.com/redthing1/dkarm_gba_docker
devkitarm docker gameboy-advance gba gba-development
Last synced: 3 months ago
JSON representation
a docker image for building gba games with devkitarm
- Host: GitHub
- URL: https://github.com/redthing1/dkarm_gba_docker
- Owner: redthing1
- Created: 2021-10-01T04:02:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-06T20:28:36.000Z (about 1 year ago)
- Last Synced: 2024-08-04T02:07:51.643Z (6 months ago)
- Topics: devkitarm, docker, gameboy-advance, gba, gba-development
- Language: Dockerfile
- Homepage:
- Size: 31.3 KB
- Stars: 9
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-gba-dev-zh - dkarm_gba_docker
- awesome-gbadev - dkarm_gba_docker - A Docker image that includes DevkitARM and other GBA SDK tools, packaged together to allow a consistent toolchain configuration and reproducibility in builds. Also can be helpful in ensuring a consistent build environment for continuous integration. (Testing / Other places)
README
# DevkitARM GBA for Docker
This repository provides a Docker image for building GBA games with DevkitARM. It offers multiple flavors:
- **Base Image**: What most users typically need.
- **Dusk Image**: Enhanced with additional tools and utilities for a range of projects.## Included Packages
### Base Devkit (default)
- **Build tools**: `devkitarm`, `git`, `make`, `c`, `c++`, `wget`, `curl`
- **DevkitARM package**: `gba-dev`### Dusk Addons (only in `dusk` flavor)
- **Asset packers**: `crunch`, `Tiled2GBA`
- **Programming languages**: `Nelua`, `D`## Building the Docker Image
You can build the Docker images using the provided Makefile targets:
### Base Devkit (recommended)
```sh
make docker-build
```### Dusk Devkit
```sh
make docker-build-dusk
```## Usage
To open a shell inside the container with the current directory mounted:
### Opening a Shell in Your Project
```sh
docker run -it --rm -v $(pwd):/source --user "$(id -u):$(id -g)" dkarm_base:local -l -c bash
```## Examples
### Duster (with dusk flavor)
To build [duster](https://github.com/redthing1/duster) with the Dusk flavor:
```sh
docker run -it --rm -v $(pwd):/source dkarm_dusk:local -l -c "pushd . && git submodule update --init --recursive && cd src/DusterGBA && make clean && make build && popd"
```### Celeste classic
To build the [Celeste Classic](https://github.com/JeffRuLz/Celeste-Classic-GBA) homebrew ROM:
```sh
docker run -it --rm -v $(pwd):/source --user "$(id -u):$(id -g)" dkarm_base:local -l -c "make"
```### Varoom3D from Butano
To build [Varoom3D](https://github.com/GValiente/butano) with the Dusk flavor:
```sh
docker run -it --rm -v $(pwd):/source --user "$(id -u):$(id -g)" -e LIBBUTANOABS=/source/butano dkarm_dusk:local -l -c "cd /source/games/varooom-3d/ && make -j2"
```