From 52e30971a314dbbf25f25a381d3d3c056f44929e Mon Sep 17 00:00:00 2001 From: Andrew Belt Date: Tue, 23 Jul 2019 17:05:23 -0400 Subject: [PATCH] Refactor dist Makefile target. --- Makefile | 63 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/Makefile b/Makefile index f8f01b84..c7d19223 100644 --- a/Makefile +++ b/Makefile @@ -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