first epoch pass
Some checks failed
Build Go/Fyne App for macOS ARM64 / build (pull_request) Has been cancelled

This commit is contained in:
2025-07-20 21:45:38 -07:00
parent 9b04ad7fd0
commit c735a3f90e
27 changed files with 216 additions and 402 deletions

View File

@@ -7,11 +7,11 @@ all: build-release
build-dev:
GOOS=darwin GOARCH=arm64 fyne package
@echo "Copying additional resources to app bundle..."
@mkdir -p TurtleSilicon.app/Contents/Resources/rosettax87
@mkdir -p TurtleSilicon.app/Contents/Resources/winerosetta
@cp -R rosettax87/* TurtleSilicon.app/Contents/Resources/rosettax87/
@cp -R winerosetta/* TurtleSilicon.app/Contents/Resources/winerosetta/
@cp -R Icon.png TurtleSilicon.app/Contents/Resources/
@mkdir -p EpochSilicon.app/Contents/Resources/rosettax87
@mkdir -p EpochSilicon.app/Contents/Resources/winerosetta
@cp -R rosettax87/* EpochSilicon.app/Contents/Resources/rosettax87/
@cp -R winerosetta/* EpochSilicon.app/Contents/Resources/winerosetta/
@cp -R Icon.png EpochSilicon.app/Contents/Resources/
@echo "Development build complete!"
build: build-dev
@@ -22,33 +22,33 @@ build-release:
-ldflags="-s -w -X main.appVersion=$$(grep Version FyneApp.toml | cut -d'"' -f2)" \
-trimpath \
-tags=release \
-o turtlesilicon .
-o epochsilicon .
@echo "Packaging with fyne..."
GOOS=darwin GOARCH=arm64 fyne package --release --executable turtlesilicon
GOOS=darwin GOARCH=arm64 fyne package --release --executable epochsilicon
@echo "Copying additional resources to app bundle..."
@mkdir -p TurtleSilicon.app/Contents/Resources/rosettax87
@mkdir -p TurtleSilicon.app/Contents/Resources/winerosetta
@cp -R rosettax87/* TurtleSilicon.app/Contents/Resources/rosettax87/
@cp -R winerosetta/* TurtleSilicon.app/Contents/Resources/winerosetta/
@cp -R Icon.png TurtleSilicon.app/Contents/Resources/
@mkdir -p EpochSilicon.app/Contents/Resources/rosettax87
@mkdir -p EpochSilicon.app/Contents/Resources/winerosetta
@cp -R rosettax87/* EpochSilicon.app/Contents/Resources/rosettax87/
@cp -R winerosetta/* EpochSilicon.app/Contents/Resources/winerosetta/
@cp -R Icon.png EpochSilicon.app/Contents/Resources/
@echo "Stripping additional symbols..."
strip -x TurtleSilicon.app/Contents/MacOS/turtlesilicon
strip -x EpochSilicon.app/Contents/MacOS/epochsilicon
@echo "Optimized release build complete!"
@echo "Binary size: $$(ls -lah TurtleSilicon.app/Contents/MacOS/turtlesilicon | awk '{print $$5}')"
@echo "Binary size: $$(ls -lah EpochSilicon.app/Contents/MacOS/epochsilicon | awk '{print $$5}')"
# Clean build artifacts
clean:
rm -rf TurtleSilicon.app
rm -f TurtleSilicon.dmg
rm -f turtlesilicon
rm -rf EpochSilicon.app
rm -f EpochSilicon.dmg
rm -f epochsilicon
dmg: build-release
@echo "Preparing DMG staging directory..."
@rm -rf dmg-staging
@mkdir dmg-staging
@cp -R TurtleSilicon.app dmg-staging/
@cp -R EpochSilicon.app dmg-staging/
@ln -s /Applications dmg-staging/Applications
@echo "Creating DMG file..."
@hdiutil create -volname TurtleSilicon -srcfolder dmg-staging -ov -format UDZO TurtleSilicon.dmg
@echo "DMG created: TurtleSilicon.dmg"
@hdiutil create -volname EpochSilicon -srcfolder dmg-staging -ov -format UDZO EpochSilicon.dmg
@echo "DMG created: EpochSilicon.dmg"
@rm -rf dmg-staging