WIX_DIR := C:\Program Files (x86)\WiX Toolset v3.11\bin HEAT := "$(WIX_DIR)\heat.exe" CANDLE := "$(WIX_DIR)\candle.exe" -arch x64 -nologo LIGHT := "$(WIX_DIR)\light.exe" -nologo RSYNC_MINGW_DIR := D:\downloads\apps\rsync-w64 MBACKUP_PUBLISH_DIR := bin\Release\netcoreapp3.0\publish default: build help: @cmd /C echo 'Usage: make [build|test|release|clean|dist|all]' all: test release dist dist: mbackup.msi release: test dotnet publish --nologo -c Release --self-contained false test: dotnet test --nologo mbackup-tests check: test build: dotnet build --nologo clean: dotnet clean --nologo cmd /C 'del *.wixobj *.wixpdb *.msi rsync-mingw64-files.wxs' %.wixobj: %.wxs $(CANDLE) $< 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) $< mbackup.msi: mbackup.wixobj rsync-mingw64-files.wixobj mbackup-files.wixobj $(LIGHT) $^ -o $@ .PHONY: default help all dist release test check build clean rsync-mingw64-files.wxs mbackup-files.wxs