DotN64-web/Makefile

36 lines
1011 B
Makefile

SOURCE_DIRECTORY := src
SOURCE_EXTENSION := .md
SOURCE_TYPE := markdown
OUTPUT_DIRECTORY := site
OUTPUT_EXTENSION := .html
OUTPUT_TYPE := html5
TEMPLATE_FILE := templates/layout.html
ASSETS_DIRECTORY := assets
SOURCE_FILES = $(shell find $(SOURCE_DIRECTORY) -type f -name '*$(SOURCE_EXTENSION)')
OUTPUT_FILES = $(patsubst $(SOURCE_DIRECTORY)/%$(SOURCE_EXTENSION),$(OUTPUT_DIRECTORY)/%$(OUTPUT_EXTENSION), $(SOURCE_FILES))
GENERATOR := pandoc
GENERATOR_FLAGS = --standalone --from $(SOURCE_TYPE) --to $(OUTPUT_TYPE) --template=$(TEMPLATE_FILE)
DEPLOY_SERVER := 192.168.1.51
DEPLOY_PATH := /var/www/nabile.duckdns.org/DotN64
$(OUTPUT_DIRECTORY)/%$(OUTPUT_EXTENSION): $(SOURCE_DIRECTORY)/%$(SOURCE_EXTENSION)
mkdir -p $(OUTPUT_DIRECTORY)
$(GENERATOR) $(GENERATOR_FLAGS) $< -o $@
all: $(OUTPUT_FILES)
cp -r $(ASSETS_DIRECTORY)/. $(OUTPUT_DIRECTORY)
deploy: all
rsync -rz --info=progress2 $(OUTPUT_DIRECTORY)/ $(DEPLOY_SERVER):$(DEPLOY_PATH)
clean:
rm -r $(OUTPUT_DIRECTORY)
.PHONY: all deploy clean