reorganise make stuff

This commit is contained in:
Rhiannon Morris 2020-07-24 15:20:10 +02:00
parent 0f0073ba77
commit 59c226111e
4 changed files with 106 additions and 38 deletions

View file

@ -48,6 +48,13 @@ $(BUILDDIR)/%: $(TMPDIR)/%
cp $< $@
$(TMPDIR)/%_small.png: $(DATADIR)/%.png
$(call resize,$(SMALL),$(SMALL),^,-gravity center -crop 1:1+0)
$(TMPDIR)/%_med.png: $(DATADIR)/%.png
$(call resize,$(MEDW),$(MEDH),>)
$(MAKEPAGES): make-pages/*.hs make-pages/make-pages.cabal
echo "[make-pages]"
mkdir -p $(dir $@)
@ -57,10 +64,7 @@ $(MAKEPAGES): make-pages/*.hs make-pages/make-pages.cabal
$(TMPDIR)/index.mk: $(DATADIR)/index.yaml $(YAMLS) $(MAKEPAGES)
echo "[deps] "$@
mkdir -p $(dir $@)
$(MAKEPAGES) $(MPFLAGS) depend-gallery $< -o $@ \
-B $(BUILDDIR) -D $(DATADIR) -T $(TMPDIR) -I $(INFONAME)
$(call depend-gallery)
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(MAKECMDGOALS),distclean)
@ -89,4 +93,82 @@ upload: build
$(BUILDDIR)/ $(HOST):$(REMOTE_DIR)/
# no args
define copy
echo "[copy] "$@
mkdir -p "$(dir $@)"
cp -Ll "$^" "$@"
endef
# args:
# 1. width
# 2. height
# 3. imagemagick resize hint (^, <, !, etc)
# 4. other flags (e.g. cropping)
define resize
echo "[resize] "$@
mkdir -p "$(dir $@)"
convert -resize "$(1)x$(2)$(3)" $(4) "$^" "$@"
endef
# no args
define depend-gallery
echo "[deps] "$@
mkdir -p $(dir $@)
$(MAKEPAGES) $(MPFLAGS) depend-gallery $< -o "$@" \
-B "$(BUILDDIR)" -D "$(DATADIR)" -T "$(TMPDIR)" -I "$(INFONAME)"
endef
# args:
# 1. gallery prefix
# 2. build dir
# 3. data dir
# 4. other flags
define depend-single
echo "[deps] "$@
mkdir -p "$(dir $@)"
$(MAKEPAGES) $(MPFLAGS) depend-single \
$(4) -o "$@" -p "$(1)" -B "$(2)" -D "$(3)" $<
endef
# args
# 1. title
# 2. gallery prefix
# 3. other flags
define gallery
echo "[gallery] "$@
mkdir -p "$(dir $@)"
$(MAKEPAGES) $(MPFLAGS) gallery -t "$(1)" -p "$(2)" $(3) -o "$@" \
$(filter $(DATADIR)/%/$(INFONAME),$^)
endef
# args:
# 1. data dir
# 2. other flags
define single
echo "[single] "$@
mkdir -p "$(dir $@)"
$(MAKEPAGES) $(MPFLAGS) single -D "$(1)" $< -o "$@" $(2)
endef
# args:
# 1. title with commas replaced with $(comma)
# 2. description with commas replaced
# 3. gallery prefix
# 4. data dir
# 5. other flags
define rss
echo "[rss] "$@
mkdir -p "$(dir $@)"
$(MAKEPAGES) $(MPFLAGS) rss -t "$(1)" -d "$(2)" \
-R "$(ROOT)" -p "$(3)" -D "$(4)" -o "$@" $(5) \
$(filter $(DATADIR)/%/$(INFONAME),$^)
endef
comma := ,
# never delete intermediate files
.SECONDARY:
.SILENT: