make - Bildergalerie (Beispiel)

Ein makefile um eine Vorschaugalerie für Bilder zu erzeugen

PICS=pics
THUMBS=thumbnails
ORIGINAL=$(wildcard $(PICS)/*.JPG)
VORSCHAU=$(subst $(PICS),$(THUMBS),$(ORIGINAL))
BILDER=$(notdir $(ORIGINAL))

all: index.html $(VORSCHAU)

index.html: $(ORIGINAL)
    @ echo -e "Builing index with $(PICS) $(THUMBS) $(BILDER)"
    @ echo "<HTML><HEAD><TITLE>Index</TITLE></HEAD><BODY><H1>Index</H1>" > $@;
    @ for img in $(BILDER); do \
    echo "$$img:<BR>" >> $@; \
    echo "<A href=\"$(PICS)/$$img\">" >> $@; \
    echo "<IMG src=\"$(THUMBS)/$$img\" border=\"0\">" >> $@; \
    echo "</A/gt;<BR><BR>" >> $@; \
    done;
    @ echo "</BODY></HTML>" >> $@
    @ echo ""

$(THUMBS)/%.JPG: $(PICS)/%.JPG
    @ echo "Creating target $@ from source $<"
    djpeg -pnm $< | pnmscale -pixel 72000 | cjpeg > $@
    @ echo ""

clean:
    - rm $(THUMBS)/*.JPG
    - rm index.html

.PHONY: clean

Index