aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2024-02-15 00:00:55 +0100
committerAlejandro Colomar <alx@kernel.org>2024-02-17 02:49:33 +0100
commit931186249d1896a0c6f32708e6155305698af613 (patch)
tree35331d149539f312e91404bdce9ecfb68a49626c
parent82ad72b7825f76ff059ff7bda0fd19b9d539d1f6 (diff)
downloadman-pages-931186249d1896a0c6f32708e6155305698af613.tar.gz
share/mk/dist/: dist: Support recursive 'dist'
Hardcode the version and date, and don't use git(1) for selecting the distribution files. Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--share/mk/dist/files.mk29
-rw-r--r--share/mk/dist/tar.mk4
2 files changed, 24 insertions, 9 deletions
diff --git a/share/mk/dist/files.mk b/share/mk/dist/files.mk
index 74a1eb77a8..311d063077 100644
--- a/share/mk/dist/files.mk
+++ b/share/mk/dist/files.mk
@@ -14,23 +14,38 @@ include $(MAKEFILEDIR)/configure/version.mk
include $(MAKEFILEDIR)/dist/_.mk
-DISTFILES := $(shell $(GIT) ls-files $(HIDE_ERR) \
- | $(SED) 's,^,$(srcdir)/,' \
- | $(SED) 's,:,\\:,g')
+DISTFILESCMD := \
+ $(FIND) $(srcdir) -not -type d \
+ | $(GREP) -v "^.git$$" \
+ | $(GREP) -v "^$(srcdir)/.tmp/" \
+ | $(GREP) -v "^$(srcdir)/.checkpatch-camelcase." \
+ | $(SORT)
+
+
+DISTFILES := $(shell $(DISTFILESCMD) | $(SED) 's,:,\\:,g')
_DISTFILES := $(patsubst $(srcdir)/%,$(_DISTDIR)/%,$(DISTFILES))
_DISTPAGES := $(filter $(_DISTDIR)/man%,$(_DISTFILES))
-_DISTOTHERS := $(filter-out $(_DISTDIR)/man%,$(_DISTFILES))
+_DISTVERSION:= $(_DISTDIR)/share/mk/configure/version.mk
+_DISTOTHERS := $(filter-out $(_DISTPAGES) $(_DISTVERSION), $(_DISTFILES))
$(_DISTPAGES): $(_DISTDIR)/man%: $(srcdir)/man% $(MK) | $$(@D)/
- $(info INSTALL $@)
+ $(info INSTALL $@)
<$< \
- $(SED) "/^.TH/s/(date)/$$(git log --format=%cs -1 -- $< $(HIDE_ERR))/" \
+ $(SED) "/^.TH/s/(date)/$$($(GIT) log --format=%cs -1 -- $< $(HIDE_ERR))/" \
| $(SED) '/^.TH/s/(unreleased)/$(DISTVERSION)/' \
| $(INSTALL_DATA) -T /dev/stdin $@
+$(_DISTVERSION): $(MAKEFILEDIR)/configure/version.mk $(DISTFILES) | $$(@D)/
+ $(info SED $@)
+ <$< \
+ $(SED) 's/^DISTVERSION *:=.*/DISTVERSION := $(DISTVERSION)/' \
+ | $(SED) 's/^DISTNAME *:=.*/DISTNAME := $(DISTNAME)/' \
+ | $(SED) 's/^DISTDATE *:=.*/DISTDATE := $(DISTDATE)/' \
+ | $(INSTALL_DATA) -T /dev/stdin $@
+
$(_DISTOTHERS): $(_DISTDIR)/%: $(srcdir)/% $(MK) | $$(@D)/
- $(info CP $@)
+ $(info CP $@)
$(CP) -T $< $@
diff --git a/share/mk/dist/tar.mk b/share/mk/dist/tar.mk
index fc01edba3f..1df54d96d0 100644
--- a/share/mk/dist/tar.mk
+++ b/share/mk/dist/tar.mk
@@ -21,8 +21,8 @@ DISTFILE := $(builddir)/$(DISTNAME).tar
$(DISTFILE): $(_DISTFILES) $(MK) | $$(@D)/
$(info TAR $@)
$(TAR) $(TARFLAGS) -cf $@ -T /dev/null
- $(GIT) ls-files \
- | $(SED) 's,^,$(_DISTDIR)/,' \
+ $(DISTFILESCMD) \
+ | $(SED) 's,^$(srcdir)/,$(_DISTDIR)/,' \
| $(XARGS) $(TAR) $(TARFLAGS) -rf $@ -C $(srcdir) \
--transform 's,^$(_DISTDIR),$(DISTNAME),'