.PHONY: all clean norm help VENV := .venv PY := $(VENV)/bin/python PIP := $(VENV)/bin/pip PERM_DIR := /home/zaine/master-folder/projects/scripts/bash-scripts all: set-perms clean-output build search clean-venv build: @echo "Building project..." emacs -Q --script build-site.el set-perms: @echo "Setting permissions for output directory..." cd $(PERM_DIR) && sudo ./master-perms.sh search: $(VENV) @echo "Generating search index" $(PY) search-index-json.py $(VENV): @echo "Generating virtual environment" python3 -m venv $(VENV) $(PIP) install -r requirements.txt clean-output: @echo "Cleaning output directory..." rm -rf output/ clean-venv: @echo "Cleaning virtual environment..." rm -rf $(VENV) norm: @echo "sorting out the backups..." find . -path ./backups -prune -o -type f -name '*~' -exec mv {} backups/ \; # Show help message help: @echo "Available targets:" @echo " make - Full rebuild" @echo " make build - Rebuild the output directory" @echo " make set-perms - Set permissions for output directory" @echo " make clean-output - Remove output directory" @echo " make clean-venv - Remove venv directory" @echo " make norm - Move all files that end with ~ to the backup folder" @echo " make search - creates the search index" @echo " make help - Show this help message!"