all: config.db pkgbuilds = $(wildcard *.PKGBUILD) $(foreach e,$(shell grep -e ^pkgver= -e ^pkgrel= -e ^pkgname= -- $(pkgbuilds)|sed 's/\.PKGBUILD:/./'),$(eval $e)) $(foreach p,$(patsubst %.PKGBUILD,%,$(pkgbuilds)), \ $(eval pkgfiles += $($p.pkgname)-$($p.pkgver)-$($p.pkgrel)-any.pkg.tar.xz) \ $(eval $($p.pkgname)-$($p.pkgver)-$($p.pkgrel)-any.pkg.tar.xz: $p.PKGBUILD) ) %.pkg.tar.xz: makepkg -d -f -p $< %.db %.db.tar.gz %.files %.files.tar.gz: .var.pkgfiles $(pkgfiles) find $^ -newer $*.db rm -f $*.db $*.db.tar.gz $*.files $*.files.tar.gz repo-add $*.db.tar.gz $(filter %.pkg.tar.xz,$^) touch --no-create --no-dereference $*.db $*.db.tar.gz $*.files $*.files.tar.gz .var.%: FORCE @printf '%s' '$(subst ','\\'',$($*))' | sed 's/^/#/' | ./write-ifchanged $@ -include $(wildcard .var.*) .PHONY: FORCE