Skip to content

Commit b72d96b

Browse files
committed
Revamp and modernize
1 parent e569fc1 commit b72d96b

File tree

4 files changed

+47
-15
lines changed

4 files changed

+47
-15
lines changed

Dockerfile

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,44 @@
1-
FROM debian:stretch
1+
FROM debian:trixie-slim AS wav2c_builder
22

3-
MAINTAINER Aaron Hansen <[email protected]>
3+
LABEL maintainer="Aaron Hansen <[email protected]>"
44
# Copied/adapted from https://github.com/devkitPro/docker/blob/master/devkitarm/Dockerfile
55

66
ENV DEBIAN_FRONTEND=noninteractive
77

8+
WORKDIR /wav2c
9+
10+
RUN apt-get update && \
11+
apt-get install -y build-essential wget unzip
12+
13+
RUN wget https://github.com/aaaronic/wav2c/archive/refs/heads/master.zip && \
14+
unzip -j master.zip && \
15+
make
16+
17+
FROM debian:trixie-slim
18+
819
RUN apt-get update && \
9-
apt-get install -y apt-utils vim && \
10-
apt-get install -y --no-install-recommends sudo ca-certificates pkg-config curl wget bzip2 xz-utils make git bsdtar doxygen gnupg && \
20+
apt-get install -y --no-install-recommends apt-utils && \
21+
apt-get install -y --no-install-recommends sudo ca-certificates wget && \
1122
apt-get clean
1223

13-
RUN wget https://github.com/devkitPro/pacman/releases/download/devkitpro-pacman-1.0.2/devkitpro-pacman.deb && \
14-
dpkg -i devkitpro-pacman.deb && \
15-
rm devkitpro-pacman.deb && \
16-
dkp-pacman -Scc --noconfirm
24+
RUN ln -s /proc/self/mounts /etc/mtab
25+
26+
RUN wget https://apt.devkitpro.org/install-devkitpro-pacman && \
27+
chmod +x ./install-devkitpro-pacman && \
28+
sudo yes | ./install-devkitpro-pacman && \
29+
apt-get clean
1730

1831
ENV DEVKITPRO=/opt/devkitpro
1932
ENV PATH=${DEVKITPRO}/tools/bin:$PATH
2033

21-
RUN dkp-pacman -Syyu --noconfirm gba-dev && \
22-
dkp-pacman -Scc --noconfirm
34+
RUN dkp-pacman -Syyu --noconfirm --needed gba-dev && \
35+
yes | dkp-pacman -Scc
2336
ENV DEVKITARM=${DEVKITPRO}/devkitARM
24-
RUN mkdir /gba
25-
COPY wav2c /usr/local/bin
37+
38+
ADD entrypoint.sh /usr/local/bin
39+
ADD Makefile /usr/default/Makefile
40+
COPY --from=wav2c_builder /wav2c/wav2c /usr/local/bin
41+
2642
VOLUME ["/gba"]
27-
CMD cd /gba && make
43+
WORKDIR /gba
44+
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,12 @@ build : $(ROM_NAME)
5656

5757
# --- Build .elf file into .gba ROM file
5858
$(ROM_NAME) : $(ELF_NAME)
59-
$(OBJCOPY) $(OBJCOPYFLAGS) $(ELF_NAME) $(ROM_NAME)
59+
$(OBJCOPY) $(OBJCOPYFLAGS) $^ $(ROM_NAME)
6060
$(GBAFIX) $(ROM_NAME)
6161

6262
# --- Build .o files into .elf file
6363
$(ELF_NAME) : $(OBJECTS)
64-
$(LD) $(OBJECTS) $(LDFLAGS) -o $@
64+
$(LD) $^ $(LDFLAGS) -o $@
6565

6666
# -- Build .asm files into .o files
6767
$(ASMOBJECTS) : %.o : %.asm

entrypoint.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#! /bin/bash
2+
# entrypoint.sh
3+
4+
CLEANUP_MAKEFILE=
5+
if [[ ! -f /gba/Makefile ]]; then
6+
echo "Using default Makefile"
7+
cp /usr/default/Makefile /gba
8+
CLEANUP_MAKEFILE=1
9+
fi
10+
11+
make "$@"
12+
13+
if [[ -n "$CLEANUP_MAKEFILE" ]]; then
14+
rm /gba/Makefile
15+
fi
File renamed without changes.

0 commit comments

Comments
 (0)