.PHONY: build release full
.NOTPARALLEL:

# Site-profile defaults. Edit RELEASE_SITE_ENV for release, or PUBLIC_SITE_ENV
# for build and full. Environment and command-line make values take precedence
# without being expanded into shell source by make.
RELEASE_SITE_ENV = \
	SITE_TITLE="$${SITE_TITLE:-arachnopress}" \
	SITE_ICON="$${SITE_ICON:-䷖}" \
	SITE_ICON_COLOUR="$${SITE_ICON_COLOUR:-}" \
	SITE_ICON_PATH="$${SITE_ICON_PATH:-}" \
	SITE_ICON_PATH_THEME="$${SITE_ICON_PATH_THEME:-false}" \
	SITE_URL_STYLE="$${SITE_URL_STYLE:-html}" \
	SITE_MODE="$${SITE_MODE:-single-page}" \
	SITE_MODE_UNLISTED="$${SITE_MODE_UNLISTED:-false}" \
	DEFAULT_THEME="$${DEFAULT_THEME:-solarized-dark}" \
	DEFAULT_THEME_AUTO="$${DEFAULT_THEME_AUTO:-false}" \
	DEFAULT_THEME_SELECTOR="$${DEFAULT_THEME_SELECTOR:-true}"

PUBLIC_SITE_ENV = \
	SITE_TITLE="$${SITE_TITLE:-arachnogoat}" \
	SITE_ICON="$${SITE_ICON:-䷪}" \
	SITE_ICON_COLOUR="$${SITE_ICON_COLOUR:-}" \
	SITE_ICON_PATH="$${SITE_ICON_PATH-articles/arachnopress/arachnogoatsundual.svg}" \
	SITE_ICON_PATH_THEME="$${SITE_ICON_PATH_THEME:-true}" \
	SITE_URL_STYLE="$${SITE_URL_STYLE:-extensionless}" \
	SITE_MODE="$${SITE_MODE:-single-page}" \
	SITE_MODE_UNLISTED="$${SITE_MODE_UNLISTED:-true}" \
	DEFAULT_THEME="$${DEFAULT_THEME:-everforest-hard-dark}" \
	DEFAULT_THEME_AUTO="$${DEFAULT_THEME_AUTO:-true}" \
	DEFAULT_THEME_SELECTOR="$${DEFAULT_THEME_SELECTOR:-true}"

BUILD_ENV = \
	GENERATOR_LABEL="$${GENERATOR_LABEL:-arachnopress}" \
	GENERATOR_VERSION="$${GENERATOR_VERSION:-1.0.53}" \
	ARTICLE_ORDER="$${ARTICLE_ORDER:-title}" \
	HIGHLIGHTER="$${HIGHLIGHTER:-pygments}" \
	CODE_FOOTER_LINES="$${CODE_FOOTER_LINES:-23}"

RUNTIME_FILES = \
	THIRD_PARTY_NOTICES.txt \
	styles.css \
	licenses

RELEASE_FILES = \
	Makefile \
	README.arachnopress \
	$(RUNTIME_FILES) \
	tools/build.sh \
	tools/build-profile.sh \
	tools/html-fragment.outlang \
	tools/license.txt \
	tools/theme-menu.html

build:
	$(PUBLIC_SITE_ENV) $(BUILD_ENV) \
		sh tools/build-profile.sh build $(RUNTIME_FILES) articles

release:
	$(RELEASE_SITE_ENV) $(BUILD_ENV) \
		sh tools/build-profile.sh release \
		$(RELEASE_FILES) articles/arachnopress

full:
	$(PUBLIC_SITE_ENV) $(BUILD_ENV) \
		sh tools/build-profile.sh full $(RELEASE_FILES) articles
