X-Git-Url: https://git.ladys.computer/Blog/blobdiff_plain/83bc234ec85eb999b0cf22776883611d98de329c..293ef54d756e9c6913d828b9ef7e73035b8dd931:/GNUmakefile diff --git a/GNUmakefile b/GNUmakefile index 91854b9..f97f746 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -6,31 +6,23 @@ SHELL = /bin/sh # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at https://mozilla.org/MPL/2.0/. -BEORN_VERSION = 0.1.0 -BEORN = https://git.ladys.computer/Beorn/blob_plain/$(BEORN_VERSION):/build.js - # This Makefile requires rsync 3 or newer. RSYNC = rsync -RSYNC_FLAGS = -Oclmrtvz +RSYNC_FLAGS = --verbose --checksum --recursive --links --times --omit-dir-times --del --prune-empty-dirs --compress RSYNC_OPTIONS = RSYNC_FILTER = .rsync-filter SOURCE_CHARSET = utf-8-mac DESTINATION_HOST = computer -DESTINATION_PATH = lady/www +DESTINATION_PATH = lady/blog DESTINATION = $(DESTINATION_HOST):$(DESTINATION_PATH) DESTINATION_CHARSET = utf-8 -RSYNC_OPTIONS = -SOURCE_CHARSET = utf-8-mac -DESTINATION_CHARSET = utf-8 -DESTINATION_HOST = computer -DESTINATION_PATH = lady/blog -DESTINATION = $(DESTINATION_HOST):$(DESTINATION_PATH) +GIT_FORCE = build: - deno run --allow-read=. --allow-write=. $(BEORN) + deno run --allow-read=. --allow-write=. ./build.js touch .grass ensure-build: @@ -43,13 +35,12 @@ ensure-branch-up-to-date: ensure-clean: @if output=$$(git status --porcelain) && [ ! -z "$$output" ]; then echo 'Error: There are uncommitted changes!' >&2; echo 'Commit changes and run `make` before syncing.' >&2; exit 1; fi - @if output=$$(git status --porcelain) && [ ! -z "$$output" ]; then echo 'Error: There are uncommitted changes!' >&2; echo 'Commit changes and run `make` before syncing.' >&2; exit 1; fi -dry-sync: ensure-clean ensure-branch-up-to-date ensure-build +dry-sync: ensure-clean$(if $(GIT_FORCE),, ensure-branch-up-to-date) ensure-build $(RSYNC) $(RSYNC_FLAGS) --del --dry-run --filter=". $(RSYNC_FILTER)" --iconv=$(SOURCE_CHARSET),$(DESTINATION_CHARSET) $(RSYNC_OPTIONS) . $(DESTINATION) -sync: ensure-clean ensure-branch-up-to-date ensure-build +sync: ensure-clean$(if $(GIT_FORCE),, ensure-branch-up-to-date) ensure-build $(RSYNC) $(RSYNC_FLAGS) --del --filter=". $(RSYNC_FILTER)" --iconv=$(SOURCE_CHARSET),$(DESTINATION_CHARSET) $(RSYNC_OPTIONS) . $(DESTINATION) - git push --force + git push$(if $(GIT_FORCE), --force,) .PHONY: build dry-sync ensure-branch-up-to-date ensure-build ensure-clean sync;