summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 21 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6eeb052
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+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