add docker config

master
Andrew Houts 2020-03-31 20:11:48 -07:00
parent 06ec56df7f
commit a48d6b03d6
2 changed files with 40 additions and 0 deletions

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM ubuntu:latest
RUN apt update
RUN apt install -y wget build-essential pkg-config git binutils-mips-linux-gnu python3 zlib1g-dev libaudiofile-dev bsdmainutils
RUN wget https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb
RUN dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb
RUN mkdir /sm64
WORKDIR /sm64
ENV PATH="/sm64/tools:${PATH}"
CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=<version> -j4'

View File

@ -16,6 +16,33 @@ A prior copy of the game is required to extract the required assets.
## Installation
### Docker
#### 1. Copy baserom(s) for asset extraction
For each version (jp/us/eu) that you want to build a ROM for, put an existing ROM at
`./baserom.<version>.z64` for asset extraction.
#### 2. Create docker image
```bash
docker build -t sm64 .
```
#### 3. Build
To build we simply have to mount our local filesystem into the docker container and build.
```bash
# for example if you have baserom.us.z64 in the project root
docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=us -j4
# if your host system is linux you need to tell docker what user should own the output files
docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 --user "$(id -u):$(id -g)" sm64 make VERSION=us -j4
```
Resulting artifacts can be found in the `build` directory.
### Linux
#### 1. Copy baserom(s) for asset extraction