From 9f9e885a168a6280cb5d0244cb9415eff09cb6ad Mon Sep 17 00:00:00 2001 From: relikd Date: Mon, 27 Feb 2023 01:35:11 +0100 Subject: [PATCH] chore: update Makefile --- Makefile | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 9030e6c..a610663 100644 --- a/Makefile +++ b/Makefile @@ -1,67 +1,71 @@ PROJDIR := src -TEXER := lualatex LEKTOR := lektor --project $(PROJDIR) BUILD_DIR := $$($(LEKTOR) project-info --output-path) -.PHONY: help dev dist clean plugins clean-all server build deploy pdf-clean pdf find-links - +.PHONY: help help: @echo @echo ' dev - Switch to development branch' @echo ' dist - Switch to distribution branch' @echo ' clean - Removes all temporary server-build files (not ./bin)' @echo ' plugins - Clean and rebuild plugin cache' - @echo ' clean-all - Rebuild everything (not ./bin)' @echo @echo ' server - Start lektor server with live change updates' - @echo ' build - Build deployable website into ./bin' + @echo ' build - Build deployable website into ./bin (incl. PDF)' @echo ' deploy - Custom rsync command to sync ./bin to remote server' - @echo ' pdf - Generate PDF from tex (after build)' + @echo ' pdf - Generate PDF from tex (not needed if `make build`)' @echo @echo ' find-links - Search for cross reference between recipes' + @echo ' find-yield - Print unique `yield:` attribute values' + @echo ' find-time - Print unique `time:` attribute values' @echo -define switch_to - @echo Set source to $(1) - @rm $(PROJDIR)/content/recipes; ln -s $(1) $(PROJDIR)/content/recipes -endef - # Clean +.PHONY: dev dev: - $(call switch_to, '../../data/development/') + @echo Set source to '../../data/development/' + @rm $(PROJDIR)/content/recipes + @ln -s '../../data/development/' $(PROJDIR)/content/recipes -dist: - $(call switch_to, '../../data/distribution/') +.PHONY: dist +dist: + @echo Set source to '../../data/distribution/' + @rm $(PROJDIR)/content/recipes + @ln -s '../../data/distribution/' $(PROJDIR)/content/recipes +.PHONY: clean clean: @echo 'Cleaning output' @rm -rf "$(BUILD_DIR)/.lektor/buildstate"* @$(LEKTOR) clean --yes -v +.PHONY: plugins plugins: @echo 'Cleaning plugins' @$(LEKTOR) plugins flush-cache @$(LEKTOR) plugins list -clean-all: clean plugins - # Build +.PHONY: server server: @$(LEKTOR) server # -f ENABLE_PDF_EXPORT +.PHONY: server-v server-v: @$(LEKTOR) server -v # --output-path is relative to project file # --buildstate-path is relative to current working directory +.PHONY: build build: dist @$(LEKTOR) build --output-path ../bin --buildstate-path build-state -f ENABLE_PDF_EXPORT @echo @echo 'Checking dead links ...' @python3 extras/find-dead-links.py +.PHONY: deploy deploy: @echo @echo 'Warning: This will not(!) build but sync all files in ./bin' @@ -69,6 +73,7 @@ deploy: @echo # --dry-run rsync -rclzv --exclude=.lektor --exclude=.DS_Store --delete bin/ vps:/srv/http/recipe-lekture +.PHONY: pdf pdf: @SECONDS=0; \ "$(PROJDIR)/_tex-to-pdf/build_manually.sh" \ @@ -76,6 +81,7 @@ pdf: # Helper methods on all recipes +.PHONY: find-links find-links: @echo @cd '$(PROJDIR)/content/recipes' && \ @@ -83,6 +89,7 @@ find-links: || echo 'nothing found.' @echo +.PHONY: find-yield find-yield: @echo @cd '$(PROJDIR)/content/recipes' && \ @@ -91,6 +98,7 @@ find-yield: || echo 'nothing found.' @echo +.PHONY: find-time find-time: @cd '$(PROJDIR)/content/recipes' && \ find */*.lr -exec grep "^time: .*" -o {} \; \