Skip to content
Makefile 1.86 KiB
Newer Older
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)"
Yuanle Song's avatar
Yuanle Song committed
all: test release dist
	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)\'
Yuanle Song's avatar
Yuanle Song committed
test:
	dotnet test --nologo mbackup-tests
Yuanle Song's avatar
Yuanle Song committed
check: test
build:
	dotnet build --nologo
	dotnet build --nologo mbackupw
Yuanle Song's avatar
Yuanle Song committed
clean:
	dotnet clean --nologo
	dotnet clean --nologo mbackupw
	cmd /C 'del *.wixobj *.wixpdb *.msi rsync-mingw64-files.wxs'
Yuanle Song's avatar
Yuanle Song committed
%.wixobj: %.wxs
	$(CANDLE) -dVersion=$(VERSION) $<
Yuanle Song's avatar
Yuanle Song committed
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