summaryrefslogtreecommitdiffstats
path: root/lib/install.mk
diff options
context:
space:
mode:
Diffstat (limited to 'lib/install.mk')
-rw-r--r--lib/install.mk84
1 files changed, 84 insertions, 0 deletions
diff --git a/lib/install.mk b/lib/install.mk
new file mode 100644
index 0000000..3a92f96
--- /dev/null
+++ b/lib/install.mk
@@ -0,0 +1,84 @@
+# Copyright 2022 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-or-later WITH LGPL-3.0-linking-exception
+
+
+ifndef LIB_INSTALL_MK_
+LIB_INSTALL_MK_ := 1
+
+
+DESTDIR :=
+prefix := /usr/local
+exec_prefix := $(prefix)/
+datarootdir := $(prefix)/share
+pcdir := $(datarootdir)/pkgconfig
+includedir := $(prefix)/include
+docdir := $(datarootdir)/doc/$(libname)
+pdfdir := $(docdir)/pdf
+libdir := $(exec_prefix)/lib
+mandir := $(datarootdir)/man
+man3dir := $(mandir)/man3
+man7dir := $(mandir)/man7
+
+
+_prefix := $(DESTDIR)$(prefix)
+_exec_prefix := $(DESTDIR)$(exec_prefix)
+_datarootdir := $(DESTDIR)$(datarootdir)
+_pcdir := $(DESTDIR)$(pcdir)
+_includedir := $(DESTDIR)$(includedir)
+_docdir := $(DESTDIR)$(docdir)
+_pdfdir := $(DESTDIR)$(pdfdir)
+_libdir := $(DESTDIR)$(libdir)
+_mandir := $(DESTDIR)$(mandir)
+_man3dir := $(DESTDIR)$(man3dir)
+_man7dir := $(DESTDIR)$(man7dir)
+
+
+_includedirs := $(patsubst $(INCLUDEDIR)/%,$(_includedir)/%/,$(TU_DIRS))
+
+
+INSTALL := install
+INSTALL_DATA := $(INSTALL) -m 644
+INSTALL_DIR := $(INSTALL) -m 755 -d
+INSTALL_PROGRAM := $(INSTALL) -m 755
+
+
+$(_includedirs): | $$(dir $$(@D))
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+$(_man3dir)/ \
+$(_man7dir)/: $(_mandir)
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+$(_pdfdir)/: $(_dordir)/
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+$(_pcdir)/ \
+$(_docdir)/ \
+$(_mandir)/: $(_datarootdir)/
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+$(_libdir)/: $(_exec_prefix)/
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+$(_exec_prefix)/ \
+$(_datarootdir)/ \
+$(_includedir)/: $(_prefix)/
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+$(_prefix)/:
+ $(info INSTALL $@)
+ $(INSTALL_DIR) $@
+
+
+.PHONY: install
+install: install-dev install-lib install-man
+ @:
+
+
+endif # include guard