share/mk/: Print SED rather than CP
[man-pages.git] / share / mk / dist / files.mk
blobbc3f7fffa04958d2545c6ddfd4986d4b370d7705
1 # Copyright 2021-2024, Alejandro Colomar <alx@kernel.org>
2 # SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
5 ifndef MAKEFILE_DIST_FILES_INCLUDED
6 MAKEFILE_DIST_FILES_INCLUDED := 1
9 include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
10 include $(MAKEFILEDIR)/configure/build-depends/git.mk
11 include $(MAKEFILEDIR)/configure/build-depends/grep.mk
12 include $(MAKEFILEDIR)/configure/build-depends/sed.mk
13 include $(MAKEFILEDIR)/configure/verbose.mk
14 include $(MAKEFILEDIR)/configure/version.mk
15 include $(MAKEFILEDIR)/dist/_.mk
18 DISTFILES := $(shell $(DISTFILESCMD) | $(SED) 's,:,\\:,g')
19 _DISTFILES := $(patsubst $(srcdir)/%,$(_DISTDIR)/%,$(DISTFILES))
20 _DISTPAGES := $(filter $(_DISTDIR)/man%,$(_DISTFILES))
21 _DISTVERSION := $(_DISTDIR)/share/mk/configure/version.mk
22 _DISTOTHERS := $(filter-out $(_DISTPAGES) $(_DISTVERSION), $(_DISTFILES))
25 FORCE_DISTVERSION := \
26 $(shell \
27 if $(TEST) -f $(_DISTVERSION); then \
28 <$(_DISTVERSION) \
29 $(GREP) \
30 -e '^DISTVERSION :=' \
31 -e '^DISTNAME :=' \
32 -e '^DISTDATE :=' \
33 | $(SED) '/^DISTVERSION := $(DISTVERSION)$$/d' \
34 | $(SED) '/^DISTNAME := $(DISTNAME)$$/d' \
35 | $(SED) '/^DISTDATE := $(DISTDATE)$$/d' \
36 | $(GREP) ^ $(HIDE_ERR) >&2 \
37 && $(ECHO) FORCE; \
38 fi; \
42 $(_DISTPAGES): $(_DISTDIR)/man%: $(srcdir)/man% $(MK) | $$(@D)/
43 $(info $(INFO_)SED $@)
44 <$< \
45 $(SED) "/^.TH/s/(date)/$$($(GIT) log --format=%cs -1 -- $< $(HIDE_ERR))/" \
46 | $(SED) '/^.TH/s/(unreleased)/$(DISTVERSION)/' \
47 | $(INSTALL_DATA) -T /dev/stdin $@
49 $(_DISTVERSION): $(MAKEFILEDIR)/configure/version.mk $(MK) $(FORCE_DISTVERSION) | $$(@D)/
50 $(info $(INFO_)SED $@)
51 <$< \
52 $(SED) 's/^DISTVERSION *:=.*/DISTVERSION := $(DISTVERSION)/' \
53 | $(SED) 's/^DISTNAME *:=.*/DISTNAME := $(DISTNAME)/' \
54 | $(SED) 's/^DISTDATE *:=.*/DISTDATE := $(DISTDATE)/' \
55 | $(INSTALL_DATA) -T /dev/stdin $@
57 $(_DISTOTHERS): $(_DISTDIR)/%: $(srcdir)/% $(MK) | $$(@D)/
58 $(info $(INFO_)CP $@)
59 $(CP) -dT $< $@
62 endif # include guard