Before creating a complex software system one needs to create a solid foundation. General Responsibility Assignment Software Principles (GRASP) are guidelines to assign responsibilities to software classes in object-oriented programming.
DOCS=docs
all: web
web: setup $(DEPENDENCIES) @cp $(DOCS)/toc/index.html $(DOCS)
setup: @mkdir -p $(DOCS) @cp -r assets $(DOCS)
$(DEPENDENCIES):
@mkdir -p $(DOCS)/$@
@pandoc -s –toc web-metadata.yaml parts/$@.md
-c /assets/pandoc.css -o $(DOCS)/$@/index.html
clean: @rm -rf $(DOCS)
.PHONY: all clean web setup