-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
34 lines (21 loc) · 934 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env make
SHELL = /usr/bin/env
.SHELLFLAGS = bash -eu -c
.ONESHELL:
include make/snippets.mk make/site.mk make/articles.mk
.DEFAULT_GOAL :=
.PHONY: default
default:
$(call say,Default! )
.PHONY: help
## Display available rules
help:
@echo "$$(tput bold)Available rules:$$(tput sgr0)";echo;sed -ne"/^## /{h;s/.*//;:d" -e"H;n;s/^## //;td" -e"s/:.*//;G;s/\\n## /---/;s/\\n/ /g;p;}" ${MAKEFILE_LIST}|LC_ALL='C' sort -f|awk -F --- -v n=$$(tput cols) -v i=19 -v a="$$(tput setaf 6)" -v z="$$(tput sgr0)" '{printf"%s%*s%s ",a,-i,$$1,z;m=split($$2,w," ");l=n-i;for(j=1;j<=m;j++){l-=length(w[j])+1;if(l<= 0){l=n-i-length(w[j])-1;printf"\n%*s ",-i," ";}printf"%s ",w[j];}printf"\n";}'|more $(shell test $(shell uname) == Darwin && echo '-Xr')
.PHONY: generate
## Generate
generate: | site-generate
.PHONY: clean
## Clean all files
clean: | site-clean snippets-clean
.PHONY: try
try: | snippets-clean generate site-serve