diff options
| -rw-r--r-- | share/mk/configure/build-depends/coreutils/install.mk | 1 | ||||
| -rw-r--r-- | share/mk/configure/directory_variables/install.mk | 2 | ||||
| -rw-r--r-- | share/mk/install/_.mk | 4 | ||||
| -rw-r--r-- | share/mk/install/bin.mk | 39 |
4 files changed, 44 insertions, 2 deletions
diff --git a/share/mk/configure/build-depends/coreutils/install.mk b/share/mk/configure/build-depends/coreutils/install.mk index ab7dbef7c5..47c9b09114 100644 --- a/share/mk/configure/build-depends/coreutils/install.mk +++ b/share/mk/configure/build-depends/coreutils/install.mk @@ -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 diff --git a/share/mk/configure/directory_variables/install.mk b/share/mk/configure/directory_variables/install.mk index cd5fda66c3..d503fb4834 100644 --- a/share/mk/configure/directory_variables/install.mk +++ b/share/mk/configure/directory_variables/install.mk @@ -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), \ diff --git a/share/mk/install/_.mk b/share/mk/install/_.mk index c78ee6b0bb..08dd5c1389 100644 --- a/share/mk/install/_.mk +++ b/share/mk/install/_.mk @@ -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 index 0000000000..27d547c068 --- /dev/null +++ b/share/mk/install/bin.mk @@ -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 |
