| @@ -91,6 +91,10 @@ ifdef ARCH_WIN | |||
| endif | |||
| DIST_RES := LICENSE* CHANGELOG.md res cacert.pem Core.json template.vcv | |||
| DIST_NAME := Rack-$(VERSION)-$(ARCH) | |||
| DIST_SDK := Rack-SDK-$(VERSION).zip | |||
| # This target is not intended for public use | |||
| dist: $(TARGET) | |||
| rm -rf dist | |||
| @@ -100,65 +104,62 @@ ifdef ARCH_LIN | |||
| mkdir -p dist/Rack | |||
| cp $(TARGET) dist/Rack/ | |||
| $(STRIP) -s dist/Rack/$(TARGET) | |||
| cp -R LICENSE* res Core.json template.vcv cacert.pem dist/Rack/ | |||
| cp -R $(DIST_RES) dist/Rack/ | |||
| # Manually check that no nonstandard shared libraries are linked | |||
| ldd dist/Rack/$(TARGET) | |||
| cp Fundamental.zip dist/Rack/ | |||
| # Make ZIP | |||
| cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip Rack | |||
| cd dist && zip -q -9 -r $(DIST_NAME).zip Rack | |||
| endif | |||
| ifdef ARCH_MAC | |||
| mkdir -p dist/$(TARGET).app | |||
| mkdir -p dist/$(TARGET).app/Contents | |||
| cp Info.plist dist/$(TARGET).app/Contents/ | |||
| $(SED) 's/{VERSION}/$(VERSION)/g' dist/$(TARGET).app/Contents/Info.plist | |||
| mkdir -p dist/$(TARGET).app/Contents/MacOS | |||
| cp $(TARGET) dist/$(TARGET).app/Contents/MacOS/ | |||
| $(STRIP) -S dist/$(TARGET).app/Contents/MacOS/$(TARGET) | |||
| mkdir -p dist/$(TARGET).app/Contents/Resources | |||
| cp -R LICENSE* res Core.json template.vcv cacert.pem icon.icns dist/$(TARGET).app/Contents/Resources/ | |||
| mkdir -p dist/Rack.app | |||
| mkdir -p dist/Rack.app/Contents | |||
| cp Info.plist dist/Rack.app/Contents/ | |||
| $(SED) 's/{VERSION}/$(VERSION)/g' dist/Rack.app/Contents/Info.plist | |||
| mkdir -p dist/Rack.app/Contents/MacOS | |||
| cp $(TARGET) dist/Rack.app/Contents/MacOS/ | |||
| $(STRIP) -S dist/Rack.app/Contents/MacOS/$(TARGET) | |||
| mkdir -p dist/Rack.app/Contents/Resources | |||
| cp -R $(DIST_RES) icon.icns dist/Rack.app/Contents/Resources/ | |||
| # Manually check that no nonstandard shared libraries are linked | |||
| otool -L dist/$(TARGET).app/Contents/MacOS/$(TARGET) | |||
| otool -L dist/Rack.app/Contents/MacOS/$(TARGET) | |||
| cp Fundamental.zip dist/$(TARGET).app/Contents/Resources/Fundamental.txt | |||
| cp Fundamental.zip dist/Rack.app/Contents/Resources/Fundamental.txt | |||
| # Clean up and sign bundle | |||
| xattr -cr dist/$(TARGET).app | |||
| xattr -cr dist/Rack.app | |||
| # This will only work if you have the private key to my certificate | |||
| codesign --verbose --sign "Developer ID Application: Andrew Belt (VRF26934X5)" --options runtime --entitlements Entitlements.plist --deep dist/$(TARGET).app | |||
| codesign --verify --deep --strict --verbose=2 dist/$(TARGET).app | |||
| codesign --verbose --sign "Developer ID Application: Andrew Belt (VRF26934X5)" --options runtime --entitlements Entitlements.plist --deep dist/Rack.app | |||
| codesign --verify --deep --strict --verbose=2 dist/Rack.app | |||
| # Make ZIP | |||
| cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip $(TARGET).app | |||
| cd dist && zip -q -9 -r $(DIST_NAME).zip Rack.app | |||
| endif | |||
| ifdef ARCH_WIN | |||
| mkdir -p dist/Rack | |||
| cp $(TARGET) dist/Rack/ | |||
| $(STRIP) -s dist/Rack/$(TARGET) | |||
| cp -R LICENSE* res Core.json template.vcv cacert.pem dist/Rack/ | |||
| cp -R $(DIST_RES) dist/Rack/ | |||
| cp /mingw64/bin/libwinpthread-1.dll dist/Rack/ | |||
| cp /mingw64/bin/libstdc++-6.dll dist/Rack/ | |||
| cp /mingw64/bin/libgcc_s_seh-1.dll dist/Rack/ | |||
| cp Fundamental.zip dist/Rack/ | |||
| # Make ZIP | |||
| cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip Rack | |||
| cd dist && zip -q -9 -r $(DIST_NAME).zip Rack | |||
| # Make NSIS installer | |||
| # pacman -S mingw-w64-x86_64-nsis | |||
| makensis -DVERSION=$(VERSION) installer.nsi | |||
| mv installer.exe dist/Rack-$(VERSION)-$(ARCH).exe | |||
| mv installer.exe dist/$(DIST_NAME).exe | |||
| endif | |||
| # Rack SDK | |||
| mkdir -p dist/Rack-SDK | |||
| cp LICENSE* dist/Rack-SDK/ | |||
| cp *.mk dist/Rack-SDK/ | |||
| cp -R include dist/Rack-SDK/ | |||
| cp -R LICENSE* *.mk include helper.py dist/Rack-SDK/ | |||
| mkdir -p dist/Rack-SDK/dep/ | |||
| cp -R dep/include dist/Rack-SDK/dep/ | |||
| cp helper.py dist/Rack-SDK/ | |||
| ifdef ARCH_WIN | |||
| cp libRack.a dist/Rack-SDK/ | |||
| endif | |||
| cd dist && zip -q -9 -r Rack-SDK-$(VERSION).zip Rack-SDK | |||
| cd dist && zip -q -9 -r $(DIST_SDK) Rack-SDK | |||
| notarize: | |||
| @@ -175,9 +176,9 @@ ifdef ARCH_MAC | |||
| sleep 10 ; \ | |||
| done | |||
| # Mark app as notarized, check, and re-zip | |||
| xcrun stapler staple dist/$(TARGET).app | |||
| spctl --assess --type execute --ignore-cache --no-cache -vv dist/$(TARGET).app | |||
| cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip $(TARGET).app | |||
| xcrun stapler staple dist/Rack.app | |||
| spctl --assess --type execute --ignore-cache --no-cache -vv dist/Rack.app | |||
| cd dist && zip -q -9 -r $(DIST_NAME).zip Rack.app | |||
| endif | |||
| @@ -185,13 +186,13 @@ UPLOAD_URL := vortico@vcvrack.com:files/ | |||
| upload: | |||
| # This will only work if you have a private key to my server | |||
| ifdef ARCH_MAC | |||
| rsync dist/Rack-$(VERSION)-$(ARCH).zip $(UPLOAD_URL) -zP | |||
| rsync dist/$(DIST_NAME).zip $(UPLOAD_URL) -zP | |||
| endif | |||
| ifdef ARCH_WIN | |||
| rsync dist/Rack-$(VERSION)-$(ARCH).zip Rack-$(VERSION)-$(ARCH).exe Rack-SDK-$(VERSION).zip $(UPLOAD_URL) -P | |||
| rsync dist/$(DIST_NAME).zip dist/$(DIST_NAME).exe dist/$(DIST_SDK) $(UPLOAD_URL) -P | |||
| endif | |||
| ifdef ARCH_LIN | |||
| rsync dist/Rack-$(VERSION)-$(ARCH).zip $(UPLOAD_URL) -zP | |||
| rsync dist/$(DIST_NAME).zip $(UPLOAD_URL) -zP | |||
| endif | |||