# Build-Umgebung für die MBMNET-App: devkitARM + makerom + bannertool (für die CIA)
FROM devkitpro/devkitarm

# makerom (Project_CTR) aus dem Quellcode bauen
RUN git clone --depth 1 https://github.com/3DSGuy/Project_CTR.git /tmp/ctr \
 && make -C /tmp/ctr/makerom deps \
 && make -C /tmp/ctr/makerom \
 && find /tmp/ctr/makerom -type f -name makerom -perm -u+x -exec cp {} /usr/local/bin/makerom \; \
 && rm -rf /tmp/ctr

# bannertool aus dem Quellcode bauen (direkt kompiliert, die mitgelieferten
# Build-Skripte kennen ARM-Rechner wie Apple Silicon nicht)
RUN git clone --depth 1 https://github.com/diasurgical/bannertool.git /tmp/bt \
 && cd /tmp/bt && mkdir o \
 && for f in $(find source -name '*.c'); do gcc -O2 -Isource -c "$f" -o "o/$(basename $f).o"; done \
 && for f in $(find source -name '*.cpp'); do g++ -std=gnu++11 -O2 -Isource -DVERSION_MAJOR=1 -DVERSION_MINOR=2 -DVERSION_MICRO=0 -c "$f" -o "o/$(basename $f).o"; done \
 && g++ o/*.o -o /usr/local/bin/bannertool \
 && rm -rf /tmp/bt

RUN makerom -version || true; bannertool 2>&1 | head -1 || true
