BUILD_DIR ?= build EXPORT_DIR ?= public BUILD_STAMP_HUGO = $(BUILD_DIR)/.stamp-hugo BUILD_STAMP_THEME = $(BUILD_DIR)/.stamp-theme SOURCE_DIRS = content data resources static THEME_DIR ?= themes/hugo-geekdoc BUILD_DEPS = config.toml $(shell find $(wildcard $(SOURCE_DIRS)) -type f) HUGO_OPTS ?= --destination=$(EXPORT_DIR) UPLOAD_SSH_HOST = hosting.sao UPLOAD_TARGET_DIRECTORY = /data/webserver/hilfe.systemausfall.org/public .PHONY: help help: @echo "Mögliche Ziele:" @echo " build - Webseite erzeugen" @echo " build-theme - Theme-Assets erzeugen" @echo " upload - erzeugte Webseite hochladen" @echo .PHONY: build build: $(BUILD_STAMP_HUGO) $(BUILD_STAMP_HUGO): $(BUILD_DEPS) $(BUILD_STAMP_THEME) Makefile @mkdir -p "$(dir $@)" @HUGO_ENV=production hugo $(HUGO_OPTS) @touch "$@" .PHONY: build-theme build-theme: $(BUILD_STAMP_THEME) $(BUILD_STAMP_THEME): @mkdir -p "$(dir $@)" cd "$(THEME_DIR)" \ && npm install \ && npm run build touch "$@" .PHONY: upload upload: $(BUILD_STAMP_HUGO) @rsync -ax --delete \ "$(EXPORT_DIR)/" \ "$(UPLOAD_SSH_HOST):$(UPLOAD_TARGET_DIRECTORY)/" .PHONY: clean clean: $(RM) -r "$(BUILD_DIR)"