WIX_DIR := C:\Program Files (x86)\WiX Toolset v3.11\bin HEAT := "$(WIX_DIR)\heat.exe" CANDLE := "$(WIX_DIR)\candle.exe" -arch x64 -nologo -ext WixUtilExtension LIGHT := "$(WIX_DIR)\light.exe" -nologo -ext WixUtilExtension RSYNC_MINGW_DIR := D:\downloads\apps\rsync-w64 MBACKUP_PUBLISH_DIR := bin\Release\netcoreapp3.0\publish MBACKUPW_PUBLISH_DIR := mbackupw\bin\Release\netcoreapp3.0\publish MSI_DIR := D:\downloads\upload VERSION := $(shell powershell -NoProfile -File GetVersion.ps1) default: build help: @cmd /C echo "Usage: make [build|test|release|clean|dist|all]" version: @cmd /C "echo Version=$(VERSION)" all: test release dist dist: msi release: test dotnet publish --nologo -c Release --self-contained false dotnet publish --nologo -c Release --self-contained false mbackupw cmd /C 'COPY /Y $(MBACKUPW_PUBLISH_DIR)\*.* $(MBACKUP_PUBLISH_DIR)\' test: dotnet test --nologo mbackup-tests check: test build: dotnet build --nologo dotnet build --nologo mbackupw clean: dotnet clean --nologo dotnet clean --nologo mbackupw cmd /C 'del *.wixobj *.wixpdb *.msi rsync-mingw64-files.wxs' %.wixobj: %.wxs $(CANDLE) -dVersion=$(VERSION) $< rsync-mingw64-files.wxs: $(HEAT) dir $(RSYNC_MINGW_DIR) -cg RsyncHeatGenerated -dr MBACKUP_PROGRAM_FILES -var var.RsyncSourceDir -gg -nologo -out $@ -sw5150 rsync-mingw64-files.wixobj: rsync-mingw64-files.wxs $(CANDLE) -dRsyncSourceDir=$(RSYNC_MINGW_DIR) $< mbackup-files.wxs: release $(HEAT) dir $(MBACKUP_PUBLISH_DIR) -cg MbackupHeatGenerated -dr MBACKUP_PROGRAM_FILES -var var.MbackupPublishDir -gg -nologo -out $@ -sw5150 mbackup-files.wixobj: mbackup-files.wxs $(CANDLE) -dMbackupPublishDir=$(MBACKUP_PUBLISH_DIR) $< msi: mbackup.wixobj rsync-mingw64-files.wixobj mbackup-files.wixobj $(LIGHT) $^ -o $(MSI_DIR)\mbackup-$(VERSION).msi .PHONY: default help all dist release test check build clean msi rsync-mingw64-files.wxs mbackup-files.wxs