diff --git a/Handbook/GNUmakefile b/Handbook/GNUmakefile index 216d1df5..629c1e07 100644 --- a/Handbook/GNUmakefile +++ b/Handbook/GNUmakefile @@ -52,7 +52,9 @@ SG_DOCUMENTATION_PDF_FILE := $(SG_DOCUMENTATION_PDF_DIR)/output.pdf SG_BROWSER_BINARY_PATH_LINUX := $(shell which brave-bin 2>/dev/null) SG_BROWSER_BINARY_PATH_WINDOWS := C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe -SG_RSYNC_BINARY_PATH_WINDOWS := /c/Program\ Files/cwrsync/bin/rsync.exe +SG_RSYNC_BIN_PATH_WINDOWS := C:\Program Files\cwrsync\bin +SG_RSYNC_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\rsync.exe +SG_RSYNC_SSH_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\ssh.exe ################################################################################ # Platform Detection @@ -213,7 +215,10 @@ SG_WINPYTHON_DIR := $(SG_DIST_DIR)/winpython SG_WINPYTHON_BIN_DIR := $(SG_WINPYTHON_DIR)//python-3.12.4.amd64 SG_WINPYTHON_BIN_SCRIPTS_DIR := $(SG_WINPYTHON_BIN_DIR)/Scripts SG_WINPYTHON_SCRIPTS_DIR := $(SG_WINPYTHON_DIR)/scripts -export PATH := $(SG_WINPYTHON_BIN_DIR);$(SG_WINPYTHON_BIN_SCRIPTS_DIR);$(SG_WINPYTHON_SCRIPTS_DIR);$(PATH) +export PATH := $(SG_WINPYTHON_SCRIPTS_DIR);$(PATH) +export PATH := $(SG_WINPYTHON_BIN_SCRIPTS_DIR);$(PATH) +export PATH := $(SG_WINPYTHON_BIN_DIR);$(PATH) +export PATH := $(SG_RSYNC_BIN_PATH_WINDOWS);$(PATH) else # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX)) $(error The target operating system is not supported!) endif # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX)) @@ -450,12 +455,22 @@ _deploy: @echo "Loading the Handbook deployment configuration file..." @$(call load_env, $(SG_HANDBOOK_DEPLOY_CONFIG_FILE)) @echo "Deploying '$(SG_HANDBOOK_DIR)' to '$(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION)'..." +ifeq ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX)) + @rsync \ + -avze "ssh -p $(SG_HANDBOOK_SSH_PORT)" \ + --perms \ + --chmod=u+rwx,g+rx,o+rx,g-w,o-wx \ + --delete $(SG_DOCUMENTATION_HTML_DIR)/ \ + $(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION) +else # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX)) @cd $(SG_DOCUMENTATION_DIR) \ - && rsync -avze "ssh -p $(SG_HANDBOOK_SSH_PORT)" \ + && "$(SG_RSYNC_BINARY_PATH_WINDOWS)" \ + -avze "\"$(SG_RSYNC_SSH_BINARY_PATH_WINDOWS)\" -p $(SG_HANDBOOK_SSH_PORT)" \ --perms \ - --chmod=u+rwx,g+rx,o+rx,g-w,o-wx\ + --chmod=u+rwx,g+rx,o+rx,g-w,o-wx \ --delete $(SG_DOCUMENTATION_HTML_DIR_NAME)/ \ $(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION) +endif # ($(SG_BUILD_PLATFORM),$(SG_BUILD_PLATFORM_LINUX)) @echo "Copying '$(SG_DOCUMENTATION_PDF_FILE)' to '$(SG_HANDBOOK_DEPLOY_GENERATED_PDF_FILE)'..." @cp -vr $(SG_DOCUMENTATION_PDF_FILE) $(SG_HANDBOOK_DEPLOY_GENERATED_PDF_FILE) @echo "Uploading '$(SG_HANDBOOK_DEPLOY_GENERATED_PDF_FILE)' to '$(SG_HANDBOOK_SSH_USER)@$(SG_HANDBOOK_SSH_HOST):$(SG_HANDBOOK_SSH_REMOTE_DIR)/$(SG_HANDBOOK_REVISION)'..." diff --git a/Handbook/README.md b/Handbook/README.md index 459f1f3c..72d692e2 100644 --- a/Handbook/README.md +++ b/Handbook/README.md @@ -69,3 +69,11 @@ _Noete_: Building on Windows requires sourcing the deployment configuration file ```sh $ source /c/Users/mamadou/AppData/Local/SenseGlove/ue-handbook/deploy.conf && make deploy ``` + +Also, on Windows you probably need to adjust the follwoing variables at the top of the `GNUmakefile`: + +```make +SG_RSYNC_BIN_PATH_WINDOWS := C:\Program Files\cwrsync\bin +SG_RSYNC_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\rsync.exe +SG_RSYNC_SSH_BINARY_PATH_WINDOWS := $(SG_RSYNC_BIN_PATH_WINDOWS)\ssh.exe +``` \ No newline at end of file