| @@ -91,6 +91,10 @@ ifdef ARCH_WIN | |||||
| endif | 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 | # This target is not intended for public use | ||||
| dist: $(TARGET) | dist: $(TARGET) | ||||
| rm -rf dist | rm -rf dist | ||||
| @@ -100,65 +104,62 @@ ifdef ARCH_LIN | |||||
| mkdir -p dist/Rack | mkdir -p dist/Rack | ||||
| cp $(TARGET) dist/Rack/ | cp $(TARGET) dist/Rack/ | ||||
| $(STRIP) -s dist/Rack/$(TARGET) | $(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 | # Manually check that no nonstandard shared libraries are linked | ||||
| ldd dist/Rack/$(TARGET) | ldd dist/Rack/$(TARGET) | ||||
| cp Fundamental.zip dist/Rack/ | cp Fundamental.zip dist/Rack/ | ||||
| # Make ZIP | # Make ZIP | ||||
| cd dist && zip -q -9 -r Rack-$(VERSION)-$(ARCH).zip Rack | |||||
| cd dist && zip -q -9 -r $(DIST_NAME).zip Rack | |||||
| endif | endif | ||||
| ifdef ARCH_MAC | 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 | # 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 | # 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 | # 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 | # 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 | endif | ||||
| ifdef ARCH_WIN | ifdef ARCH_WIN | ||||
| mkdir -p dist/Rack | mkdir -p dist/Rack | ||||
| cp $(TARGET) dist/Rack/ | cp $(TARGET) dist/Rack/ | ||||
| $(STRIP) -s dist/Rack/$(TARGET) | $(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/libwinpthread-1.dll dist/Rack/ | ||||
| cp /mingw64/bin/libstdc++-6.dll dist/Rack/ | cp /mingw64/bin/libstdc++-6.dll dist/Rack/ | ||||
| cp /mingw64/bin/libgcc_s_seh-1.dll dist/Rack/ | cp /mingw64/bin/libgcc_s_seh-1.dll dist/Rack/ | ||||
| cp Fundamental.zip dist/Rack/ | cp Fundamental.zip dist/Rack/ | ||||
| # Make ZIP | # 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 | # Make NSIS installer | ||||
| # pacman -S mingw-w64-x86_64-nsis | # pacman -S mingw-w64-x86_64-nsis | ||||
| makensis -DVERSION=$(VERSION) installer.nsi | makensis -DVERSION=$(VERSION) installer.nsi | ||||
| mv installer.exe dist/Rack-$(VERSION)-$(ARCH).exe | |||||
| mv installer.exe dist/$(DIST_NAME).exe | |||||
| endif | endif | ||||
| # Rack SDK | # Rack SDK | ||||
| mkdir -p dist/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/ | mkdir -p dist/Rack-SDK/dep/ | ||||
| cp -R dep/include dist/Rack-SDK/dep/ | cp -R dep/include dist/Rack-SDK/dep/ | ||||
| cp helper.py dist/Rack-SDK/ | |||||
| ifdef ARCH_WIN | ifdef ARCH_WIN | ||||
| cp libRack.a dist/Rack-SDK/ | cp libRack.a dist/Rack-SDK/ | ||||
| endif | endif | ||||
| cd dist && zip -q -9 -r Rack-SDK-$(VERSION).zip Rack-SDK | |||||
| cd dist && zip -q -9 -r $(DIST_SDK) Rack-SDK | |||||
| notarize: | notarize: | ||||
| @@ -175,9 +176,9 @@ ifdef ARCH_MAC | |||||
| sleep 10 ; \ | sleep 10 ; \ | ||||
| done | done | ||||
| # Mark app as notarized, check, and re-zip | # 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 | endif | ||||
| @@ -185,13 +186,13 @@ UPLOAD_URL := vortico@vcvrack.com:files/ | |||||
| upload: | upload: | ||||
| # This will only work if you have a private key to my server | # This will only work if you have a private key to my server | ||||
| ifdef ARCH_MAC | ifdef ARCH_MAC | ||||
| rsync dist/Rack-$(VERSION)-$(ARCH).zip $(UPLOAD_URL) -zP | |||||
| rsync dist/$(DIST_NAME).zip $(UPLOAD_URL) -zP | |||||
| endif | endif | ||||
| ifdef ARCH_WIN | 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 | endif | ||||
| ifdef ARCH_LIN | ifdef ARCH_LIN | ||||
| rsync dist/Rack-$(VERSION)-$(ARCH).zip $(UPLOAD_URL) -zP | |||||
| rsync dist/$(DIST_NAME).zip $(UPLOAD_URL) -zP | |||||
| endif | endif | ||||