Album

 view release on metacpan or  search on metacpan

helper/Makefile.eg  view on Meta::CPAN

# Generic Makefile for albums.

BASE    = $(notdir ${PWD})

TOOLS	 = $(HOME)/src/album/src
DATA	 = $(HOME)/src/album/data

_DCIM    := dcim
_DCF     := 101msdcf
DCIM	 ?= ${_DCIM}/${_DCF}
RAW	 ?= ${DCIM}

OPTS	 ?=
PERL	 ?= perl
ALBUMCMD := $(PERL) -w $(TOOLS)/album.pl $(OPTS) --verbose

ifdef TARGET
default upload :: to-${TARGET}
else
default :: update update-ll
endif

################ ALBUM ################

IMPORT ?= $(shell test -d $(RAW) && echo "--dcim=$(RAW)")

update ::
	${ALBUMCMD} --update $(IMPORT)

update-ll ::
	perl ${TOOLS}/updatellink.pl

clobber ::
	${ALBUMCMD} --clobber --update $(IMPORT)

merge ::
	$(PERL) $(TOOLS)/merge.pl info.dat > x~
	if cmp info.dat x~ >/dev/null; then \
	  rm -f x~; \
	else \
	  cp -p info.dat info.dat~ && cp -p x~ info.dat && rm x~; \
	fi

################ SETUP ################

init ::
	mkdir -p $(DCIM)
	test -f Makefile || echo "include $(TOOLS)/generic.mk" > Makefile
	test -f info.dat || { \
		dir="`basename \`pwd\``"; \
		touch $(DATA)/$$dir.dat; \
		ln -s $(DATA)/$$dir.dat info.dat; \
		echo "!title $$dir" > info.dat; \
	}

clean ::
	rm -f .cache *png index*html large/*html *~
	rm -f shellrun.exe ShellRun.exe autorun.inf
	rm -fr icons css images medium thumbnails .xvpics

realclean :: clean
	rm -f `readlink info.dat` info.dat 

################ PAR2 ################

par2 ::
	cd dcim; \
	rm -fr .xvpics; \
	par2 c -R ${BASE} 101msdcf

################ FETCH ################

WIFIDEV := tz200
POWEROFF :=

fetch ::	fetch_${WIFIDEV}

fetch_tz200 ::
	perl ${HOME}/src/Lumix-Tools/scripts/fetch.pl \
	     --path=${RAW} --exclude='????0001.jpg' ${POWEROFF}; \

################ EXPORT ################

WCAPTION ?= tc

export-web ::
	${ALBUMCMD} --mediumonly --caption=$(WCAPTION)
	rm -f web.zip
	zip -rn .jpg web.zip index*.html icons css medium index journal

################ UPLOADING ################

RESINFO := resinfo

# Rsync filter to copy all images, omitting -- and movies.
.filter : info.dat
	perl -ne 'END{print"- *\n"} print "+ /$$1\n" if /^(\S+\.(?:jpg|png|webp))/ && !/\s+--\s/' $< > $@

define define_uploader
to-$(1) to_$(1) : .filter ;
	rsync -virltD --modify-window=3601 \
	  --delete --delete-excluded --filter=". .filter" \
	  large/ \
	  $(1):$(shell ${RESINFO} albums.$(1).path)/${BASE}/
endef

ifdef TARGET
$(call define_uploader,${TARGET})
else
TARGETS := glaxxy glaxs4 glaxs7 glaxa8 largo
$(foreach host,${TARGETS},$(call define_uploader,$(host)))
endif



( run in 0.774 second using v1.01-cache-2.11-cpan-7e94247ccb0 )