summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile58
1 files changed, 41 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 0707f0b..61e497c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,47 @@
-.SUFFIXES:
-.SUFFIXES: .txt .html
+# Copyright (C) 2012 Patrick "P. J." McDermott
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+#
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-SRCS =
-OBJS = $(SRCS:.txt=.html)
+BOOKS = inclusion
+FORMATS = html txt
-.PHONY: all
-all: $(OBJS)
+# Default format in case a book target is called without FORMAT=*
+FORMAT = html
-$(OBJS):
- @printf ' RENDER %s\n' '$@'
- @title=$$(sed -n 's/^ Title: \(.*\)$$/\1/p' $*.txt | \
- head -n 1); \
- sed "s#@TITLE@#$$title#" include/header.html > $@
- @markdown $*.txt >> $@
- @cat include/footer.html >> $@
+all: $(FORMATS)
+
+books: $(BOOKS)
+
+$(FORMATS):
+ @make 'FORMAT=$@' books
+
+$(BOOKS):
+ @printf ' RENDER %s as %s\n' '$@' '$(FORMAT)'
+ @PERL5LIB=scripts scripts/markdownbook.pl '$(FORMAT)' 'policies/$@'
+ @[ '$(FORMAT)' = 'html' ] && \
+ ln -sf '../../include/main.css' 'policies/$@/main.css' || true
-.PHONY: clean
clean:
- @for obj in $(OBJS); do \
- printf ' RM %s\n' "$${obj}"; \
- rm -f $${obj}; \
+ @for book in $(BOOKS); do \
+ printf ' CLEAN %s\n' "$${book}"; \
+ rm -f "policies/$${book}/"*.html; \
+ rm -f "policies/$${book}/"*.txt; \
+ rm -f "policies/$${book}/"main.css; \
done