IMG_SRC_PATH ?= image_path IMG_SRC ?= $(shell find $(IMG_SRC_PATH) -maxdepth 1 -name "*.jpg" | \ sed -e s,.*/,,) THUMB_RES ?= 200x200 THUMB_DIR ?= thumbnails_$(THUMB_RES) IMAGE_DIR ?= images HTML_TEMPLATES_DIR ?= ~/projects/thumbnailer CONVERT ?= convert EXIF ?= exif JHEAD ?= jhead thumbnails := $(patsubst %,$(THUMB_DIR)/%,$(IMG_SRC)) thumbnails := $(sort $(thumbnails)) images := $(patsubst %,$(IMAGE_DIR)/%,$(IMG_SRC)) ifeq ($(V),1) Q = QUIET_CONVERT = QUIET_CP = QUIET_ROTATE = QUIET_HTML = else Q = @ QUIET_CP = @echo " COPY " $@; QUIET_CONVERT = @echo " CONVERT " $@; QUIET_ROTATE = echo " ROTATE " $@; QUIET_HTML = @echo " HTML " $@; endif all: index.html %/: mkdir $@ $(IMAGE_DIR)/%.jpg: $(IMG_SRC_PATH)/%.jpg $(IMAGE_DIR)/ $(QUIET_CP)cp $< $@ $(Q)$(EXIF) $@ | grep Orientation | grep -q Top-left || \ $(QUIET_ROTATE)$(JHEAD) -autorot $@ $(Q)touch $@ $(Q)chmod 644 $@ $(THUMB_DIR)/%.jpg: $(IMAGE_DIR)/%.jpg $(THUMB_DIR)/ $(QUIET_CONVERT)$(CONVERT) $< -thumbnail $(THUMB_RES) $@ index.html: $(thumbnails) $(images) $(QUIET_HTML)cat $(HTML_TEMPLATES_DIR)/index.html.header > $@ ; \ for t in $(thumbnails) ; do \ img=`echo $$t | sed -e s,.*/,,` ; \ cat $(HTML_TEMPLATES_DIR)/index.html.img | \ sed -e s=\$$thumb=$$t= \ -e s=\$$img=$(IMAGE_DIR)/$$img= >> $@ ; \ done ; \ cat $(HTML_TEMPLATES_DIR)/index.html.footer >> $@ ; .PHONY: all