initial commit
This commit is contained in:
51
Makefile
Normal file
51
Makefile
Normal file
@@ -0,0 +1,51 @@
|
||||
# ---------- OUTPUT FILES ----------
|
||||
# Add new files for the final site here!
|
||||
# The build & template rules will try to create them
|
||||
|
||||
files = index.html site.css using.html templates.html Makefile
|
||||
|
||||
# ----------------------------------
|
||||
|
||||
|
||||
# If the OUTDIR variable does not exist, create it with a default
|
||||
ifeq ($(OUTDIR),)
|
||||
OUTDIR=out
|
||||
endif
|
||||
|
||||
# Construct the full output list
|
||||
LIST=$(addprefix $(OUTDIR)/, $(files))
|
||||
|
||||
# Just `make` should build our whole output list
|
||||
all: $(LIST)
|
||||
|
||||
# Automatic directory creation
|
||||
# https://ismail.badawi.io/blog/automatic-directory-creation-in-make/
|
||||
.PRECIOUS: $(OUTDIR)/. $(OUTDIR)%/.
|
||||
$(OUTDIR)/: ; mkdir -p $@
|
||||
$(OUTDIR)%/: ; mkdir -p $@
|
||||
.SECONDEXPANSION:
|
||||
|
||||
# `make clean` just removes our OUTDIR
|
||||
clean:
|
||||
rm -rf $(OUTDIR)
|
||||
|
||||
|
||||
# ---------- BUILD & TEMPLATE RULES ----------
|
||||
|
||||
# Default template - .html (base-start.html + content + base-end.html)
|
||||
$(OUTDIR)/%.html: src/%.html | $$(@D)/
|
||||
cat templates/base-start.html $< templates/base-end.html > $@
|
||||
|
||||
# Bare template - .bare.html (just copy)
|
||||
$(OUTDIR)/%.html: src/%.bare.html | $$(@D)/
|
||||
cp $< $@
|
||||
|
||||
# Create .html from .md using kramdown
|
||||
src/%.html: src/%.md | $$(@D)/
|
||||
kramdown $< > $@
|
||||
|
||||
# Other files - just copy
|
||||
$(OUTDIR)/%: src/% | $$(@D)/
|
||||
cp $< $@
|
||||
|
||||
# --------------------------------------------
|
Reference in New Issue
Block a user