X-Git-Url: https://git.ladys.computer/Langdev/blobdiff_plain/2669b8bc6f67a258f4b7354976e0168c80a36a82..0532f8cdb2ebe2aaf8245e789c6bf1b0f848dfbc:/GNUmakefile diff --git a/GNUmakefile b/GNUmakefile index 48cca59..ee2f301 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,40 +1,16 @@ SHELL = /bin/sh -# This Makefile requires rsync 3 or newer. -RSYNC = rsync -RSYNC_FLAGS = -Oclmrtvz -RSYNC_OPTIONS = -RSYNC_FILTER = .rsync-filter - -SOURCE_CHARSET = utf-8-mac - -DESTINATION_HOST = computer -DESTINATION_PATH = lady/langdev -DESTINATION = $(DESTINATION_HOST):$(DESTINATION_PATH) -DESTINATION_CHARSET = utf-8 - -GIT_FORCE = +YSEME := .👥📤 +YSEMEOPTS := DESTDIR='public' SERVERPATH='lady/langdev' build: # Put any necessary build scripts in here! touch .grass -ensure-build: - @if [ ! -f .grass ]; then echo 'Error: The website has not been built yet!' >&2; echo 'Run `make` before syncing.' >&2; exit 1; fi - @if buildtime=$$(stat -f '%m' .grass) && committime=$$(git log -1 --format='%ct' | awk '{print $$NF}') && [ "$$committime" -gt "$$buildtime" ]; then echo 'Error: A commit was made after the last build!' >&2; echo 'Run `make` before syncing.' >&2; exit 1; fi - -ensure-branch-up-to-date: - git fetch - @if ! git merge-base --is-ancestor @{u} HEAD; then echo 'Error: This branch is currently out‐of‐date!' >&2; echo 'Pull in changes with `git pull` before syncing.' >&2; exit 1; fi - -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 - -dry-sync: ensure-clean$(if $(GIT_FORCE),, ensure-branch-up-to-date) ensure-build - cd public && $(RSYNC) $(RSYNC_FLAGS) --del --dry-run --filter=". ../$(RSYNC_FILTER)" --iconv=$(SOURCE_CHARSET),$(DESTINATION_CHARSET) $(RSYNC_OPTIONS) . $(DESTINATION) +$(YSEME)/GNUmakefile: + git submodule update --init $(YSEME) -sync: ensure-clean$(if $(GIT_FORCE),, ensure-branch-up-to-date) ensure-build - cd public && $(RSYNC) $(RSYNC_FLAGS) --del --filter=". ../$(RSYNC_FILTER)" --iconv=$(SOURCE_CHARSET),$(DESTINATION_CHARSET) $(RSYNC_OPTIONS) . $(DESTINATION) - git push$(if $(GIT_FORCE), --force,) +dry-sync sync: + $(MAKE) -f $(YSEME)/GNUmakefile $@ $(YSEMEOPTS) -.PHONY: build dry-sync ensure-branch-up-to-date ensure-build ensure-clean sync; +.PHONY: build dry-sync sync;