diff --git a/dockerbuild/build.sh b/dockerbuild/build.sh index 3c681b4..38e0c5d 100755 --- a/dockerbuild/build.sh +++ b/dockerbuild/build.sh @@ -1,5 +1,5 @@ #!/bin/bash cd "$( dirname $0)" -docker build . -t apple2builder +docker build . -t apple2builder --platform linux/amd64 mkdir -p ${PWD}/build docker run --rm -it -v ${PWD}/build:/build apple2builder diff --git a/dockerbuild/build_all.sh b/dockerbuild/build_all.sh new file mode 100755 index 0000000..7715fad --- /dev/null +++ b/dockerbuild/build_all.sh @@ -0,0 +1,27 @@ +#!/bin/bash +cd "$( dirname $0)" +mkdir -p ${PWD}/build + +# MacOS builds +echo "Building MacOS console frontend" +CGO_ENABLED=1 go build -tags static -ldflags "-s -w" ../frontend/console +mv console build/izapple2console_mac_arm64 + +echo "Building MacOS SDL frontend" +CGO_ENABLED=1 go build -tags static -ldflags "-s -w" ../frontend/a2sdl +mv a2sdl build/izapple2sdl_mac_arm64 + +echo "Building MacOS Fyne frontend" +CGO_ENABLED=1 go build -tags static -ldflags "-s -w" ../frontend/a2fyne +mv a2fyne build/izapple2fyne_mac_arm64 + +# Linux and Windows dockerized builds +echo "Building docker container for the Linux and Windows builds" +docker build . -t apple2builder --platform linux/amd64 +docker run --rm -it -v ${PWD}/build:/build apple2builder + +cd build +cp ../../README.md . +zip izapple2sdl_windows_amd64.zip izapple2sdl_windows_amd64.exe README-SDL.txt README.md SDL2.dll + + diff --git a/dockerbuild/buildindocker.sh b/dockerbuild/buildindocker.sh index 5b05a63..04c0b5e 100644 --- a/dockerbuild/buildindocker.sh +++ b/dockerbuild/buildindocker.sh @@ -3,40 +3,46 @@ cd /tmp git clone https://github.com/ivanizag/izapple2 # Build izapple2console for Linux +echo "Building Linux console frontend" cd /tmp/izapple2/frontend/console -go build . +env CGO_ENABLED=1 go build -tags static -ldflags "-s -w" . chown --reference /build console -cp console /build/izapple2console +cp console /build/izapple2console_linux_amd64 # Build izapple2console.exe for Windows +echo "Building Windows console frontend" cd /tmp/izapple2/frontend/console -env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows CGO_LDFLAGS="-L/usr/x86_64-w64-mingw32/lib" CGO_FLAGS="-I/usr/x86_64-w64-mingw32/include -D_REENTRANT" go build -o izapple2console.exe . +env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows CGO_LDFLAGS="-L/usr/x86_64-w64-mingw32/lib" CGO_FLAGS="-I/usr/x86_64-w64-mingw32/include -D_REENTRANT" go build -tags static -ldflags "-s -w" -o izapple2console.exe . chown --reference /build izapple2console.exe -cp izapple2console.exe /build +cp izapple2console.exe /build/izapple2console_windows_amd64.exe # Build izapple2sdl for Linux +echo "Building Linux SDL frontend" cd /tmp/izapple2/frontend/a2sdl -go build . +env CGO_ENABLED=1 go build -tags static -ldflags "-s -w" . chown --reference /build a2sdl -cp a2sdl /build/izapple2sdl +cp a2sdl /build/izapple2sdl_linux_amd64 # Build izapple2sdl.exe for Windows +echo "Building Windows SDL frontend" cd /tmp/izapple2/frontend/a2sdl -env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows CGO_LDFLAGS="-L/usr/x86_64-w64-mingw32/lib -lSDL2" CGO_FLAGS="-I/usr/x86_64-w64-mingw32/include -D_REENTRANT" go build -o izapple2sdl.exe . +env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows CGO_LDFLAGS="-L/usr/x86_64-w64-mingw32/lib -lSDL2" CGO_FLAGS="-I/usr/x86_64-w64-mingw32/include -D_REENTRANT" go build -tags static -ldflags "-s -w" -o izapple2sdl.exe . chown --reference /build izapple2sdl.exe -cp izapple2sdl.exe /build +cp izapple2sdl.exe /build/izapple2sdl_windows_amd64.exe # Build izapple2fyne for Linux +echo "Building Linux Fyne frontend" cd /tmp/izapple2/frontend/a2fyne -go build . +env CGO_ENABLED=1 go build -tags static -ldflags "-s -w" . chown --reference /build a2fyne -cp a2fyne /build/izapple2fyne +cp a2fyne /build/izapple2fyne_linux_amd64 # Build izapple2fyne.exe for Windows +echo "Building Windows Fyne frontend" cd /tmp/izapple2/frontend/a2fyne -env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows CGO_LDFLAGS="-L/usr/x86_64-w64-mingw32/lib " CGO_FLAGS="-I/usr/x86_64-w64-mingw32/include -D_REENTRANT" go build -o izapple2fyne.exe . +env CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc GOOS=windows CGO_LDFLAGS="-L/usr/x86_64-w64-mingw32/lib " CGO_FLAGS="-I/usr/x86_64-w64-mingw32/include -D_REENTRANT" go build -tags static -ldflags "-s -w" -o izapple2fyne.exe . chown --reference /build izapple2fyne.exe -cp izapple2fyne.exe /build +cp izapple2fyne.exe /build/izapple2fyne_windows_amd64.exe # Copy SDL2 Runtime