]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
share/mk/: [un]install-bin: Add target to [un]install shell scripts
authorAlejandro Colomar <alx@kernel.org>
Sun, 3 Nov 2024 14:16:26 +0000 (15:16 +0100)
committerAlejandro Colomar <alx@kernel.org>
Sun, 3 Nov 2024 14:38:20 +0000 (15:38 +0100)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
share/mk/configure/build-depends/coreutils/install.mk
share/mk/configure/directory_variables/install.mk
share/mk/install/_.mk
share/mk/install/bin.mk [new file with mode: 0644]

index ab7dbef7c58ea410c4d6cceed4481cd2e3d5eb82..47c9b09114490d0bbb125357eee7001f3080d265 100644 (file)
@@ -11,6 +11,7 @@ INSTALL := install
 
 INSTALL_DATA    := $(INSTALL) -m 644
 INSTALL_DIR     := $(INSTALL) -m 755 -d
+INSTALL_PROGRAM := $(INSTALL) -m 755
 
 
 endif  # include guard
index cd5fda66c3378f28ed27971469418d0769d51e06..d503fb4834602b3e77509cdbb0da3fb9f3012940 100644 (file)
@@ -11,11 +11,13 @@ include $(MAKEFILEDIR)/configure/directory_variables/src.mk
 
 DESTDIR     :=
 prefix      := /usr/local
+exec_prefix := $(prefix)
 datarootdir := $(prefix)/share
 mandir      := $(datarootdir)/man
 docdir      := $(datarootdir)/doc
 htmldir     := $(docdir)/html/man
 pdfdir      := $(docdir)/pdf
+bindir      := $(exec_prefix)/bin
 
 
 $(foreach s, $(MANSECTIONS),                                                  \
index c78ee6b0bbe123a7f8b2c8f6bdab0c27aa5ccec1..08dd5c1389df8b831e01755318aa688df5cf9e87 100644 (file)
@@ -20,10 +20,10 @@ include $(MAKEFILEDIR)/configure/build-depends/coreutils/rm.mk
 
 
 .PHONY: install-all
-install-all: install-man;
+install-all: install-man install-bin;
 
 .PHONY: install
-install: install-man;
+install: install-man install-bin;
 
 .PHONY: uninstall
 uninstall: uninstall-man;
diff --git a/share/mk/install/bin.mk b/share/mk/install/bin.mk
new file mode 100644 (file)
index 0000000..27d547c
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 2021-2024, Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_INSTALL_BIN_INCLUDED
+MAKEFILE_INSTALL_BIN_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/coreutils/install.mk
+include $(MAKEFILEDIR)/configure/directory_variables/install.mk
+include $(MAKEFILEDIR)/configure/directory_variables/src.mk
+include $(MAKEFILEDIR)/src/sh.mk
+
+
+_bindir := $(DESTDIR)$(bindir)
+
+
+_bin_sh := $(patsubst $(SRCBINDIR)/%, $(_bindir)/%, $(BIN_sh))
+_bin    := $(_bin_sh)
+_bin_rm := $(addsuffix -rm, $(wildcard $(_bin)))
+
+
+$(_bin_sh): $(_bindir)/%: $(SRCBINDIR)/%
+$(_bin): $(MK) | $$(@D)/
+
+
+$(_bin):
+       $(info  $(INFO_)INSTALL         $@)
+       $(INSTALL_PROGRAM) -T $< $@
+
+
+.PHONY: install-bin
+install-bin: $(_bin);
+
+.PHONY: uninstall-bin
+uninstall-bin: $(_bin_rm);
+
+
+endif  # include guard