summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2022-08-20 18:14:25 +0200
committerAlejandro Colomar <alx.manpages@gmail.com>2022-08-21 14:29:13 +0200
commit7b1586683200b7e8028137ba0cb734129ff7e78d (patch)
tree092fcdfe99d5f3d7ac3c53c6320bb43b1d64adf0
parent7bd6328fd40871ad75cbc3b6aa5d4a4b70f53ac7 (diff)
dist.mk, version.mk: dist: Add version to .TH
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Cc: Ingo Schwarze <schwarze@openbsd.de> Cc: "G. Branden Robinson" <g.branden.robinson@gmail.com>
-rw-r--r--lib/dist.mk28
-rw-r--r--lib/version.mk18
2 files changed, 42 insertions, 4 deletions
diff --git a/lib/dist.mk b/lib/dist.mk
index 663347cb0..2c06dc984 100644
--- a/lib/dist.mk
+++ b/lib/dist.mk
@@ -10,20 +10,40 @@ MAKEFILE_DIST_INCLUDED := 1
include $(srcdir)/lib/build.mk
include $(srcdir)/lib/cmd.mk
+include $(srcdir)/lib/install.mk
+include $(srcdir)/lib/version.mk
-DISTNAME := $(shell $(GIT) describe 2>/dev/null)
+
+_DISTDIR := $(builddir)/dist
+
+DISTFILES := $(shell $(GIT) ls-files 2>/dev/null | $(SED) 's,^,$(srcdir)/,')
+_DISTFILES := $(patsubst $(srcdir)/%,$(_DISTDIR)/%,$(DISTFILES))
+_DISTPAGES := $(filter $(_DISTDIR)/man%,$(_DISTFILES))
+_DISTOTHERS := $(filter-out $(_DISTDIR)/man%,$(_DISTFILES))
+
DISTFILE := $(builddir)/$(DISTNAME).tar
compression := gz xz
dist := $(foreach x,$(compression),dist-$(x))
-$(DISTFILE): $(shell $(GIT) ls-files 2>/dev/null) | $$(@D)/.
+$(_DISTPAGES): $(_DISTDIR)/man%: $(srcdir)/man% | $$(@D)/.
+ $(info INSTALL $@)
+ $(INSTALL_DATA) -T $< $@
+ $(SED) -i '/^.TH/s/(unreleased)/$(DISTVERSION)/' $@
+
+$(_DISTOTHERS): $(_DISTDIR)/%: $(srcdir)/% | $$(@D)/.
+ $(info INSTALL $@)
+ $(INSTALL_DATA) -T $< $@
+
+
+$(DISTFILE): $(_DISTFILES) | $$(@D)/.
$(info TAR $@)
$(TAR) cf $@ -T /dev/null
$(GIT) ls-files \
- | $(SED) 's,^,./,' \
- | $(XARGS) $(TAR) rf $@ -C $(srcdir) --transform 's,^\.,$(DISTNAME),'
+ | $(SED) 's,^,$(_DISTDIR)/,' \
+ | $(XARGS) $(TAR) rf $@ -C $(srcdir) \
+ --transform 's,^$(_DISTDIR),$(DISTNAME),'
$(DISTFILE).gz: %.gz: % | $$(@D)/.
$(info GZIP $@)
diff --git a/lib/version.mk b/lib/version.mk
new file mode 100644
index 000000000..d0e705e90
--- /dev/null
+++ b/lib/version.mk
@@ -0,0 +1,18 @@
+########################################################################
+# Copyright (C) 2022 Alejandro Colomar <alx.manpages@gmail.com>
+# SPDX-License-Identifier: GPL-2.0 OR LGPL-2.0
+########################################################################
+
+
+ifndef MAKEFILE_VERSION_INCLUDED
+MAKEFILE_VERSION_INCLUDED := 1
+
+
+include $(srcdir)/lib/cmd.mk
+
+
+DISTNAME := $(shell $(GIT) describe 2>/dev/null)
+DISTVERSION := $(patsubst man-pages-%,%,$(DISTNAME))
+
+
+endif # MAKEFILE_VERSION_INCLUDED