# --- Variables --- CCFLAGS = -Wall -Wextra -std=c++2b -g CC = clang++ .PHONY: all clean run docs serve all: main build: mkdir -p build main: main.cc build/grim.o build/parser.o ${CC} ${CCFLAGS} main.cc -Iinclude/ build/grim.o build/parser.o -o main build/grim.o: src/grim.cc include/grim.h | build ${CC} ${CCFLAGS} -Iinclude/ -c src/grim.cc -o build/grim.o build/parser.o: src/parser.cc include/parser.h | build ${CC} ${CCFLAGS} -Iinclude/ -c src/parser.cc -o build/parser.o # --- Tests --- build/html_node_test: tests/html_node.cc build/grim.o build/catch.o build/parser.o | build ${CC} ${CCFLAGS} -Iinclude/ tests/html_node.cc build/grim.o build/catch.o build/parser.o -o build/html_node_test build/css_selector_test: tests/css_selector.cc build/grim.o build/catch.o build/parser.o | build ${CC} ${CCFLAGS} -Iinclude/ tests/css_selector.cc build/grim.o build/catch.o build/parser.o -o build/css_selector_test build/html_parser_test: tests/html_parser.cc build/grim.o build/parser.o build/catch.o | build ${CC} ${CCFLAGS} -Iinclude/ tests/html_parser.cc build/grim.o build/parser.o build/catch.o -o build/html_parser_test build/css_parser_test: tests/css_parser.cc build/grim.o build/parser.o build/catch.o | build ${CC} ${CCFLAGS} -Iinclude/ tests/css_parser.cc build/grim.o build/parser.o build/catch.o -o build/css_parser_test build/catch.o: ./include/catch_amalgamated.cpp ./include/catch_amalgamated.hpp | build ${CC} ${CCFLAGS} -Iinclude/ -c include/catch_amalgamated.cpp -o build/catch.o # --- Prebuild --- # use to prebuild the master.css # --- Tools --- clean: rm -f main build/*.o run: clear && ./main MD_FILES := $(shell find docs/content -name "*.md") HTML_FILES := $(MD_FILES:docs/content/%.md=docs/dist/%.html) docs: $(HTML_FILES) @printf "\ \n\ \n\ \n\ Grim Git Feed\n\ https://grimui.com\n\ A feed of recent commits.\n\ en-us\n\ " > docs/dist/rss.xml date -R >> docs/dist/rss.xml @printf "\n" >> docs/dist/rss.xml git log --pretty=format:'%s%H%ae (%an)%aIAuthor: %an

Commit: %H

%b

%N

]]>
' --date=iso >> docs/dist/rss.xml @printf "\
\n\
" >> docs/dist/rss.xml # See 080f729 note for the template command docs/dist/%.html: docs/content/%.md docs/components/navbar.html pandoc $< | template docs/components/navbar.html --stdin docs/template.html > $@ serve: cd docs/dist && python3 -m http.server 8000