diff options
author | Alejandro Colomar <alx.manpages@gmail.com> | 2022-05-09 22:55:22 +0200 |
---|---|---|
committer | Alejandro Colomar <alx.manpages@gmail.com> | 2022-05-09 22:57:57 +0200 |
commit | 976e06cc59d644ac2e16755ad548e1ecd2f95f74 (patch) | |
tree | b7cb6603d9feac7b76307f1987e8108a82fa824f /Makefile | |
parent | 849dcf7f636cd48711aeec6c1c011d169eea4460 (diff) |
Makefile: Add targets for doc and man, and generalize
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 48 |
1 files changed, 38 insertions, 10 deletions
@@ -14,32 +14,57 @@ exec_prefix := $(prefix) BINDIR := $(srcdir)/bin +DATAROOTDIR := $(srcdir)/share +DOCDIR := $(DATAROOTDIR)/doc/$(package) +MANDIR := $(DATAROOTDIR)/man bindir := $(exec_prefix)/bin +datarootdir := $(prefix)/share +docdir := $(datarootdir)/doc/$(package) +mandir := $(datarootdir)/man _prefix := $(DESTDIR)$(prefix) _exec_prefix := $(DESTDIR)$(exec_prefix) _bindir := $(DESTDIR)$(bindir) +_docdir := $(DESTDIR)$(docdir) +_mandir := $(DESTDIR)$(mandir) -_bindirs := $(_bindir) +BINDIRS := $(sort $(shell find $(BINDIR) -type d)) +DOCDIRS := $(sort $(shell find $(DOCDIR) -type d)) +MANDIRS := $(sort $(shell find $(MANDIR) -type d)) -_dirs := $(_bindirs) +_bindirs := $(patsubst $(srcdir)/%,$(_exec_prefix)/%,$(BINDIRS)) +_docdirs := $(patsubst $(srcdir)/%,$(_prefix)/%,$(DOCDIRS)) +_mandirs := $(patsubst $(srcdir)/%,$(_prefix)/%,$(MANDIRS)) +_dirs := $(sort $(_bindir) $(_docdir) $(_mandir)) +_alldirs := $(sort $(_bindirs) $(_docdirs) $(_mandirs)) +_subdirs := $(filter-out $(_dirs),$(_alldirs)) -BIN := $(sort $(shell find $(BINDIR) -type f)) -_bin := $(patsubst $(BINDIR)/%,$(_bindir)/%,$(BIN)) +BIN := $(sort $(shell find $(BINDIR) -type f)) +DOC := $(sort $(shell find $(DOCDIR) -type f)) +MAN := $(sort $(shell find $(MANDIR) -type f)) -_bin_rm := $(addsuffix -rm,$(wildcard $(_bin))) +_bin := $(patsubst $(srcdir)/%,$(_exec_prefix)/%,$(BIN)) +_doc := $(patsubst $(srcdir)/%,$(_prefix)/%,$(DOC)) +_man := $(patsubst $(srcdir)/%,$(_prefix)/%,$(MAN)) +_prog := $(_bin) +_data := $(_doc) $(_man) + +_bin_rm := $(addsuffix -rm,$(wildcard $(_bin))) +_doc_rm := $(addsuffix -rm,$(wildcard $(_doc))) +_man_rm := $(addsuffix -rm,$(wildcard $(_man))) INSTALL := install INSTALL_DIR := $(INSTALL) -d INSTALL_PROGRAM := $(INSTALL) +INSTALL_DATA := $(INSTALL) -m 644 RM := rm -modules := bin +modules := bin doc man install := $(foreach x,$(modules),install-$(x)) installdirs := $(foreach x,$(modules),installdirs-$(x)) uninstall := $(addprefix un,$(install)) @@ -47,7 +72,6 @@ uninstall := $(addprefix un,$(install)) .PHONY: all all: - @: .PHONY: install $(install) @@ -65,15 +89,19 @@ uninstall: $(uninstall) $(uninstall): uninstall-%: $$(_%_rm) -$(_bin): $(_bindir)/%: $(BINDIR)/% Makefile | $$(@D) +$(_prog): $(_exec_prefix)/%: $(srcdir)/% Makefile | $$(@D) $(info INSTALL $@) $(INSTALL_PROGRAM) -T $< $@ -$(_dirs): | $$(@D) +$(_data): $(_prefix)/%: $(srcdir)/% Makefile | $$(@D) + $(info INSTALL $@) + $(INSTALL_DATA) -T $< $@ + +$(_subdirs): | $$(@D) $(info INSTALL $@/) $(INSTALL_DIR) $@ -$(sort $(_prefix) $(_exec_prefix)): +$(_dirs): $(info INSTALL $@/) $(INSTALL_DIR) $@ |