PKG = txt2web SCRIPT = $(PKG).ros ifeq ($(OS),Windows_NT) BIN = $(PKG).exe DIST = $(PKG).zip ARCMD = "zip" ARARGS = "-r" else BIN = $(PKG) DIST = $(PKG).tar.xz ARCMD = "tar" ARARGS = "cfvJ" endif BLACK := $(shell tput setaf 0) RED := $(shell tput setaf 1) GREEN := $(shell tput setaf 2) YELLOW := $(shell tput setaf 3) LIGHTPURPLE := $(shell tput setaf 4) PURPLE := $(shell tput setaf 5) BLUE := $(shell tput setaf 6) WHITE := $(shell tput setaf 7) RESET := $(shell tput sgr0) all: $(BIN) run: bin/${SCRIPT} dist: $(DIST) graphs: diagrams.png $(BIN): bin/$(BIN) ln -f $< bin/$(BIN): *.asd src/*.lisp src/*.ps strings/*.sexp bin/$(PKG).ros @echo @echo "* ${GREEN}Building ${YELLOW}${BIN} ${GREEN}binary${RESET}..." ros build bin/$(SCRIPT) %.png: %.dot dot $< -T png -o $@ $(DIST): $(BIN) extras/* @echo @echo "* ${GREEN}Packaging${RESET}..." $(ARCMD) $(ARARGS) $@ $< extras clean: rm -f $(BIN) bin/$(BIN) $(DIST) clean-cache: -rm -rf ~/.cache/common-lisp fresh: clean clean-cache all .PHONY: all run graphs clean clean-cache fresh