# 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:
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;