aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2024-02-13 22:34:17 +0100
committerAlejandro Colomar <alx@kernel.org>2024-02-17 02:38:31 +0100
commit546141e113576fe755c61388296c2620ca145de2 (patch)
treecd73582784a401d3ba828ffe0ba16d53b161bf38
parent18c850db0696d941dbc3689efbd63d4dc40a0e1c (diff)
downloadman-pages-546141e113576fe755c61388296c2620ca145de2.tar.gz
share/mk/: Reorganize build dependencies
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--GNUmakefile1
-rw-r--r--INSTALL60
-rw-r--r--share/mk/build/_.mk17
-rw-r--r--share/mk/build/book.mk1
-rw-r--r--share/mk/build/catman.mk30
-rw-r--r--share/mk/build/groff.mk39
-rw-r--r--share/mk/build/html.mk9
-rw-r--r--share/mk/build/pdf.mk15
-rw-r--r--share/mk/build/pre.mk10
-rw-r--r--share/mk/build/ps.mk14
-rw-r--r--share/mk/build/src.mk55
-rw-r--r--share/mk/check/catman.mk13
-rw-r--r--share/mk/cmd.mk40
-rw-r--r--share/mk/compress.mk17
-rw-r--r--share/mk/configure/build-depends/bsdextrautils.mk18
-rw-r--r--share/mk/configure/build-depends/bzip2.mk15
-rw-r--r--share/mk/configure/build-depends/cc.mk61
-rw-r--r--share/mk/configure/build-depends/checkpatch.mk19
-rw-r--r--share/mk/configure/build-depends/clang-tidy.mk22
-rw-r--r--share/mk/configure/build-depends/clang.mk19
-rw-r--r--share/mk/configure/build-depends/coreutils.mk28
-rw-r--r--share/mk/configure/build-depends/cpp.mk20
-rw-r--r--share/mk/configure/build-depends/cppcheck.mk21
-rw-r--r--share/mk/configure/build-depends/cpplint.mk16
-rw-r--r--share/mk/configure/build-depends/diffoscope.mk12
-rw-r--r--share/mk/configure/build-depends/findutils.mk13
-rw-r--r--share/mk/configure/build-depends/git.mk12
-rw-r--r--share/mk/configure/build-depends/grep.mk12
-rw-r--r--share/mk/configure/build-depends/groff-base.mk66
-rw-r--r--share/mk/configure/build-depends/groff.mk15
-rw-r--r--share/mk/configure/build-depends/gzip.mk15
-rw-r--r--share/mk/configure/build-depends/iwyu.mk17
-rw-r--r--share/mk/configure/build-depends/ld.mk50
-rw-r--r--share/mk/configure/build-depends/libc-bin.mk12
-rw-r--r--share/mk/configure/build-depends/lzip.mk15
-rw-r--r--share/mk/configure/build-depends/man.mk12
-rw-r--r--share/mk/configure/build-depends/man2html.mk15
-rw-r--r--share/mk/configure/build-depends/mandoc.mk15
-rw-r--r--share/mk/configure/build-depends/moreutils.mk12
-rw-r--r--share/mk/configure/build-depends/pkgconf.mk27
-rw-r--r--share/mk/configure/build-depends/sed.mk12
-rw-r--r--share/mk/configure/build-depends/sortman.mk12
-rw-r--r--share/mk/configure/build-depends/tar.mk22
-rw-r--r--share/mk/configure/build-depends/xz-utils.mk15
-rw-r--r--share/mk/dist.mk22
-rw-r--r--share/mk/install/_.mk11
-rw-r--r--share/mk/install/html.mk1
-rw-r--r--share/mk/install/man.mk10
-rw-r--r--share/mk/lint/c.mk63
-rw-r--r--share/mk/lint/man/_.mk16
-rw-r--r--share/mk/lint/man/man.mk9
-rw-r--r--share/mk/lint/man/mdoc.mk7
-rw-r--r--share/mk/src.mk15
-rw-r--r--share/mk/version.mk2
54 files changed, 730 insertions, 367 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 123419426d..bb8e2d2c6b 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -200,6 +200,7 @@ help-variables:
$(info CC {EXTRA_,}CFLAGS)
$(info LD {EXTRA_,}LDFLAGS {EXTRA_,}LDLIBS)
$(info )
+ $(info - {EXTRA_,}CLANGFLAGS)
$(info CHECKPATCH {EXTRA_,}CHECKPATCHFLAGS)
$(info CLANG-TIDY {EXTRA_,}CLANG-TIDYFLAGS)
$(info CPPCHECK {EXTRA_,}CPPCHECKFLAGS)
diff --git a/INSTALL b/INSTALL
index d351aa1a36..aac8f10133 100644
--- a/INSTALL
+++ b/INSTALL
@@ -67,55 +67,17 @@ Description
Dependencies
- Build-depends:
- - Generic:
- - echo(1)
- - expr(1)
- - find(1)
- - grep(1)
- - locale(1)
- - make(1) - GNU Make is required.
- - sed(1)
- - sort(1)
- - xargs(1)
-
- - For installing:
- - gzip(1)
- - install(1)
- - ln(1)
- - sponge(1)
- - test(1)
-
- - For uninstalling / cleaning:
- - rm(1)
- - rmdir(1)
-
- - For linting/building/checking man(7) source:
- - eqn(1)
- - grotty(1)
- - head(1)
- - mkdir(1)
- - tail(1)
- - tbl(1)
- - troff(1) >= 1.23.0 - GNU troff is required.
-
- - For linting/building C source:
- - cc(1) - GCC or Clang
- - clang-tidy(1)
- - cpplint(1)
- - iwyu(1)
- - mandoc(1)
- - mkdir(1)
- - pkg-config(1)
- - tac(1)
- - libbsd-dev
-
- And one that isn't packaged, but can be extracted from the
- Linux kernel source tree in <scripts/checkpatch.pl>:
-
- - checkpatch(1)
-
- - For building HTML pages:
- - man2html(1)
+
+ To learn the build dependencies of the project, run
+
+ $ find share/mk/ -type f \
+ | xargs grep include.*configure/build-depends/ \
+ | sed 's,share/mk/,,' \
+ | sed 's,/.*:,:,' \
+ | sed 's,include $.*/, ,' \
+ | sed 's,\.mk,,g' \
+ | sort \
+ | uniq;
- Depends:
- man(1)
diff --git a/share/mk/build/_.mk b/share/mk/build/_.mk
index f812b21b42..53d5f0e057 100644
--- a/share/mk/build/_.mk
+++ b/share/mk/build/_.mk
@@ -8,21 +8,19 @@ ifndef MAKEFILE_BUILD_INCLUDED
MAKEFILE_BUILD_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/findutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+include $(MAKEFILEDIR)/configure/build-depends/sortman.mk
include $(MAKEFILEDIR)/src.mk
builddir := .tmp
-SYSCONFDIR := $(srcdir)/etc
-
_MANDIR := $(builddir)/man
-MKDIR := mkdir -p
-RM := rm
-
-
NONSO_MAN := $(shell $(FIND) $(MANDIR)/* -type f \
| $(GREP) '$(MANEXT)' \
| $(XARGS) $(GREP) -l '^\.TH ' \
@@ -35,11 +33,6 @@ NONSO_MDOC := $(shell $(FIND) $(MANDIR)/* -type f \
| $(SED) 's,:,\\:,g')
-$(builddir)/%/:
- +$(info MKDIR $@)
- +$(MKDIR) $@
-
-
.PHONY: build
build: build-book build-catman build-html build-pdf build-ps build-src;
diff --git a/share/mk/build/book.mk b/share/mk/build/book.mk
index 7e23cb237d..86cc9acd38 100644
--- a/share/mk/build/book.mk
+++ b/share/mk/build/book.mk
@@ -9,6 +9,7 @@ MAKEFILE_BUILD_BOOK_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
+include $(MAKEFILEDIR)/configure/build-depends/moreutils.mk
include $(MAKEFILEDIR)/src.mk
diff --git a/share/mk/build/catman.mk b/share/mk/build/catman.mk
index 3c8fa33461..2e6cdcb900 100644
--- a/share/mk/build/catman.mk
+++ b/share/mk/build/catman.mk
@@ -9,34 +9,14 @@ MAKEFILE_BUILD_CATMAN_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/build/groff.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/groff-base.mk
include $(MAKEFILEDIR)/src.mk
groff_man_ignore_grep := $(DATAROOTDIR)/lint/groff/man.ignore.grep
-MANWIDTH ?= 80
-TROFF_CHECKSTYLE_LVL := 3
-NROFF_LINE_LENGTH := $(shell $(EXPR) $(MANWIDTH) - 2)
-NROFF_OUT_DEVICE := $(shell $(LOCALE) charmap \
- | $(GREP) -i 'utf-*8' >/dev/null \
- && $(ECHO) utf8 \
- || $(ECHO) ascii)
-
-DEFAULT_NROFFFLAGS := \
- -T$(NROFF_OUT_DEVICE) \
- -rLL=$(NROFF_LINE_LENGTH)n \
- -rCHECKSTYLE=$(TROFF_CHECKSTYLE_LVL) \
- -ww
-EXTRA_NROFFFLAGS :=
-NROFFFLAGS := $(DEFAULT_NROFFFLAGS) $(EXTRA_NROFFFLAGS)
-
-DEFAULT_GROTTYFLAGS := -c
-EXTRA_GROTTYFLAGS :=
-GROTTYFLAGS := $(DEFAULT_GROTTYFLAGS) $(EXTRA_GROTTYFLAGS)
-GROTTY := grotty
-
_CATMAN_troff := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.cat.troff,$(NONSO_MAN) $(NONSO_MDOC))
_CATMAN_MAN_set := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.cat.set,$(NONSO_MAN))
@@ -51,7 +31,7 @@ $(_CATMAN_troff): %.cat.troff: %.eqn $(MK) | $$(@D)/
$(_CATMAN_MAN_set): %.cat.set: %.cat.troff $(groff_man_ignore_grep) $(MK) | $$(@D)/
$(info TROFF $@)
- ! ($(TROFF) $(TROFFFLAGS_MAN) $(NROFFFLAGS) <$< 2>&1 >$@ \
+ ! ($(TROFF) -man $(TROFFFLAGS) $(NROFFFLAGS) <$< 2>&1 >$@ \
| $(GREP) -v -f '$(groff_man_ignore_grep)' \
||:; \
) \
@@ -59,7 +39,7 @@ $(_CATMAN_MAN_set): %.cat.set: %.cat.troff $(groff_man_ignore_grep) $(MK) | $$(@
$(_CATMAN_MDOC_set): %.cat.set: %.cat.troff $(MK) | $$(@D)/
$(info TROFF $@)
- ! ($(TROFF) $(TROFFFLAGS_MDOC) $(NROFFFLAGS) <$< 2>&1 >$@) \
+ ! ($(TROFF) -mdoc $(TROFFFLAGS) $(NROFFFLAGS) <$< 2>&1 >$@) \
| $(GREP) ^ >&2
$(_CATMAN): %.cat: %.cat.set $(MK) | $$(@D)/
diff --git a/share/mk/build/groff.mk b/share/mk/build/groff.mk
deleted file mode 100644
index 2a5a3de13a..0000000000
--- a/share/mk/build/groff.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-########################################################################
-# Copyright 2021-2023, Alejandro Colomar <alx@kernel.org>
-# SPDX-License-Identifier: GPL-3.0-or-later
-########################################################################
-
-
-ifndef MAKEFILE_BUILD_GROFF_INCLUDED
-MAKEFILE_BUILD_GROFF_INCLUDED := 1
-
-
-include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/cmd.mk
-include $(MAKEFILEDIR)/src.mk
-
-
-DEFAULT_EQNFLAGS :=
-EXTRA_EQNFLAGS :=
-EQNFLAGS := $(DEFAULT_EQNFLAGS) $(EXTRA_EQNFLAGS)
-EQN := eqn
-
-DEFAULT_TROFFFLAGS := -wbreak
-EXTRA_TROFFFLAGS :=
-TROFFFLAGS := $(DEFAULT_TROFFFLAGS) $(EXTRA_TROFFFLAGS)
-TROFF := troff
-
-DEFAULT_TROFFFLAGS_MAN := \
- $(TROFFFLAGS) \
- -man
-EXTRA_TROFFFLAGS_MAN :=
-TROFFFLAGS_MAN := $(DEFAULT_TROFFFLAGS_MAN) $(EXTRA_TROFFFLAGS_MAN)
-
-DEFAULT_TROFFFLAGS_MDOC := \
- $(TROFFFLAGS) \
- -mdoc
-EXTRA_TROFFFLAGS_MDOC :=
-TROFFFLAGS_MDOC := $(DEFAULT_TROFFFLAGS_MDOC) $(EXTRA_TROFFFLAGS_MDOC)
-
-
-endif # include guard
diff --git a/share/mk/build/html.mk b/share/mk/build/html.mk
index 78e6114b57..84452ad249 100644
--- a/share/mk/build/html.mk
+++ b/share/mk/build/html.mk
@@ -9,7 +9,8 @@ MAKEFILE_BUILD_HTML_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/man2html.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
include $(MAKEFILEDIR)/src.mk
@@ -17,12 +18,6 @@ htmlext := .html
_HTMLDIR := $(builddir)/html
-DEFAULT_MAN2HTMLFLAGS :=
-EXTRA_MAN2HTMLFLAGS :=
-MAN2HTMLFLAGS := $(DEFAULT_MAN2HTMLFLAGS) $(EXTRA_MAN2HTMLFLAGS)
-MAN2HTML := man2html
-
-
_HTMLPAGES := $(patsubst $(MANDIR)/%,$(_HTMLDIR)/%$(htmlext),$(MANPAGES))
diff --git a/share/mk/build/pdf.mk b/share/mk/build/pdf.mk
index 823ae0e306..aebd6358b9 100644
--- a/share/mk/build/pdf.mk
+++ b/share/mk/build/pdf.mk
@@ -9,17 +9,12 @@ MAKEFILE_BUILD_PDF_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/build/groff.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/groff-base.mk
+include $(MAKEFILEDIR)/configure/build-depends/groff.mk
include $(MAKEFILEDIR)/src.mk
-DEFAULT_GROPDFFLAGS :=
-EXTRA_GROPDFFLAGS :=
-GROPDFFLAGS := $(DEFAULT_GROPDFFLAGS) $(EXTRA_GROPDFFLAGS)
-GROPDF := gropdf
-
-
_PDFMAN_troff := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf.troff,$(NONSO_MAN) $(NONSO_MDOC))
_PDFMAN_MAN_set := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf.set,$(NONSO_MAN))
_PDFMAN_MDOC_set:= $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf.set,$(NONSO_MDOC))
@@ -33,12 +28,12 @@ $(_PDFMAN_troff): %.pdf.troff: %.eqn $(MK) | $$(@D)/
$(_PDFMAN_MAN_set): %.pdf.set: %.pdf.troff $(MK) | $$(@D)/
$(info TROFF $@)
- ! ($(TROFF) -Tpdf $(TROFFFLAGS_MAN) <$< 2>&1 >$@) \
+ ! ($(TROFF) -man -Tpdf $(TROFFFLAGS) <$< 2>&1 >$@) \
| $(GREP) ^ >&2
$(_PDFMAN_MDOC_set): %.pdf.set: %.pdf.troff $(MK) | $$(@D)/
$(info TROFF $@)
- ! ($(TROFF) -Tpdf $(TROFFFLAGS_MDOC) <$< 2>&1 >$@) \
+ ! ($(TROFF) -mdoc -Tpdf $(TROFFFLAGS) <$< 2>&1 >$@) \
| $(GREP) ^ >&2
$(_PDFMAN): %.pdf: %.pdf.set $(MK) | $$(@D)/
diff --git a/share/mk/build/pre.mk b/share/mk/build/pre.mk
index d390ef3609..126278d333 100644
--- a/share/mk/build/pre.mk
+++ b/share/mk/build/pre.mk
@@ -9,18 +9,10 @@ MAKEFILE_BUILD_PRE_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/groff-base.mk
include $(MAKEFILEDIR)/src.mk
-DEFAULT_PRECONVFLAGS :=
-EXTRA_PRECONVFLAGS :=
-PRECONVFLAGS := $(DEFAULT_PRECONVFLAGS) $(EXTRA_PRECONVFLAGS)
-PRECONV := preconv
-
-TBL := tbl
-
-
_MAN_tbl := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.tbl,$(NONSO_MAN) $(NONSO_MDOC))
_MAN_eqn := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.eqn,$(NONSO_MAN) $(NONSO_MDOC))
diff --git a/share/mk/build/ps.mk b/share/mk/build/ps.mk
index 907803a639..8a9c434e2b 100644
--- a/share/mk/build/ps.mk
+++ b/share/mk/build/ps.mk
@@ -9,17 +9,11 @@ MAKEFILE_BUILD_PS_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/build/groff.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/groff-base.mk
include $(MAKEFILEDIR)/src.mk
-DEFAULT_GROPSFLAGS :=
-EXTRA_GROPSFLAGS :=
-GROPSFLAGS := $(DEFAULT_GROPSFLAGS) $(EXTRA_GROPSFLAGS)
-GROPS := grops
-
-
_PSMAN_troff := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.ps.troff,$(NONSO_MAN) $(NONSO_MDOC))
_PSMAN_MAN_set := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.ps.set,$(NONSO_MAN))
_PSMAN_MDOC_set:= $(patsubst $(MANDIR)/%,$(_MANDIR)/%.ps.set,$(NONSO_MDOC))
@@ -33,12 +27,12 @@ $(_PSMAN_troff): %.ps.troff: %.eqn $(MK) | $$(@D)/
$(_PSMAN_MAN_set): %.ps.set: %.ps.troff $(MK) | $$(@D)/
$(info TROFF $@)
- ! ($(TROFF) -Tps $(TROFFFLAGS_MAN) <$< 2>&1 >$@) \
+ ! ($(TROFF) -man -Tps $(TROFFFLAGS) <$< 2>&1 >$@) \
| $(GREP) ^ >&2
$(_PSMAN_MDOC_set): %.ps.set: %.ps.troff $(MK) | $$(@D)/
$(info TROFF $@)
- ! ($(TROFF) -Tps $(TROFFFLAGS_MDOC) <$< 2>&1 >$@) \
+ ! ($(TROFF) -mdoc -Tps $(TROFFFLAGS) <$< 2>&1 >$@) \
| $(GREP) ^ >&2
$(_PSMAN): %.ps: %.ps.set $(MK) | $$(@D)/
diff --git a/share/mk/build/src.mk b/share/mk/build/src.mk
index 6f4e54bc7d..c6d1a12484 100644
--- a/share/mk/build/src.mk
+++ b/share/mk/build/src.mk
@@ -9,54 +9,19 @@ MAKEFILE_BUILD_SRC_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/cc.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/cpp.mk
+include $(MAKEFILEDIR)/configure/build-depends/findutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/ld.mk
+include $(MAKEFILEDIR)/configure/build-depends/mandoc.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+include $(MAKEFILEDIR)/configure/build-depends/sortman.mk
include $(MAKEFILEDIR)/src.mk
include $(MAKEFILEDIR)/verbose.mk
-PKGCONF_LIBS := libbsd-overlay
-
-
-DEFAULT_CPPFLAGS := $(shell $(PKGCONF) --cflags $(PKGCONF_LIBS) $(HIDE_ERR))
-EXTRA_CPPFLAGS :=
-CPPFLAGS := $(DEFAULT_CPPFLAGS) $(EXTRA_CPPFLAGS)
-
-DEFAULT_CFLAGS := \
- -std=gnu17 \
- -Wall \
- -Wextra \
- -Wstrict-prototypes \
- -Wdeclaration-after-statement \
- -Werror \
- -Wno-error=unused-parameter \
- -Wno-error=sign-compare \
- -Wno-error=format \
- -Wno-error=uninitialized
- #-Wno-error=declaration-after-statement
-EXTRA_CFLAGS :=
-CFLAGS := $(DEFAULT_CFLAGS) $(EXTRA_CFLAGS)
-
-DEFAULT_LDFLAGS := \
- -Wl,--as-needed \
- -Wl,--no-allow-shlib-undefined \
- -Wl,--no-copy-dt-needed-entries \
- -Wl,--no-undefined \
- $(shell $(PKGCONF) --libs-only-L $(PKGCONF_LIBS) $(HIDE_ERR)) \
- $(shell $(PKGCONF) --libs-only-other $(PKGCONF_LIBS) $(HIDE_ERR))
-EXTRA_LDFLAGS :=
-LDFLAGS := $(DEFAULT_LDFLAGS) $(EXTRA_LDFLAGS)
-
-DEFAULT_LDLIBS := \
- -lc \
- $(shell $(PKGCONF) --libs-only-l $(PKGCONF_LIBS) $(HIDE_ERR))
-EXTRA_LDLIBS :=
-LDLIBS := $(DEFAULT_LDLIBS) $(EXTRA_LDLIBS)
-
-
-CC := cc
-LD := $(CC) $(CFLAGS)
-
-
_SRCPAGEDIRS := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.d/,$(NONSO_MAN))
_UNITS_src_src := $(patsubst $(MANDIR)/%,$(_MANDIR)/%,$(shell \
@@ -76,7 +41,7 @@ _UNITS_src_bin := $(patsubst %.c,%,$(_UNITS_src_c))
$(_SRCPAGEDIRS): $(_MANDIR)/%.d/: $(MANDIR)/%
+$(info MKDIR $@)
+$(MKDIR) $@
- +touch $@
+ +$(TOUCH) $@
$(_UNITS_src_src): $$(patsubst $(_MANDIR)/%.d,$(MANDIR)/%,$$(@D)) $(MK) | $$(@D)/
$(_UNITS_src_c): $$(filter $$(@D)/%.h,$(_UNITS_src_h))
diff --git a/share/mk/check/catman.mk b/share/mk/check/catman.mk
index ee64a02455..2d4b1e619d 100644
--- a/share/mk/check/catman.mk
+++ b/share/mk/check/catman.mk
@@ -8,20 +8,15 @@ ifndef MAKEFILE_CHECK_CATMAN_INCLUDED
MAKEFILE_CHECK_CATMAN_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
include $(MAKEFILEDIR)/build/_.mk
include $(MAKEFILEDIR)/build/catman.mk
include $(MAKEFILEDIR)/check/_.mk
+include $(MAKEFILEDIR)/configure/build-depends/bsdextrautils.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
include $(MAKEFILEDIR)/src.mk
-DEFAULT_COLFLAGS := \
- -b \
- -p \
- -x
-EXTRA_COLFLAGS :=
-COLFLAGS := $(DEFAULT_COLFLAGS) $(EXTRA_COLFLAGS)
-COL := col
_CHECK_catman_grep := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.cat.grep,$(NONSO_MAN) $(NONSO_MDOC))
@@ -35,7 +30,7 @@ $(_CHECK_catman_grep): %.grep: % $(MK) | $$(@D)/
$(_CHECK_catman): %.check-catman.touch: %.cat.grep $(MK) | $$(@D)/
$(info GREP $@)
! $(GREP) -n '.\{$(MANWIDTH)\}.' $< /dev/null >&2
- touch $@
+ $(TOUCH) $@
.PHONY: check-catman-col
diff --git a/share/mk/cmd.mk b/share/mk/cmd.mk
deleted file mode 100644
index 1e06bd6fe1..0000000000
--- a/share/mk/cmd.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-########################################################################
-# Copyright 2022, Alejandro Colomar <alx@kernel.org>
-# SPDX-License-Identifier: GPL-3.0-or-later
-########################################################################
-
-
-ifndef MAKEFILE_CMD_INCLUDED
-MAKEFILE_CMD_INCLUDED := 1
-
-
-BZIP2 := bzip2
-CP := cp
-ECHO := echo
-EXPR := expr
-FIND := find
-GIT := git
-GREP := grep
-GZIP := gzip
-HEAD := head
-INSTALL := install
-LN := ln
-LOCALE := locale
-LZIP := lzip
-MANDOC := mandoc
-PKGCONF := pkgconf
-SED := sed
-SORTMAN := $(srcdir)/scripts/sortman
-SPONGE := sponge
-TAC := tac
-TAIL := tail
-TAR := tar
-TEST := test
-XARGS := xargs
-XZ := xz
-
-INSTALL_DATA := $(INSTALL) -m 644
-INSTALL_DIR := $(INSTALL) -m 755 -d
-
-
-endif # include guard
diff --git a/share/mk/compress.mk b/share/mk/compress.mk
index 3b008166d1..cd80912a19 100644
--- a/share/mk/compress.mk
+++ b/share/mk/compress.mk
@@ -20,21 +20,4 @@ $(error Valid values for "Z": ["", ".bz2", ".gz", ".lz", ".xz"])
endif
-DEFAULT_BZIP2FLAGS :=
-EXTRA_BZIP2FLAGS :=
-BZIP2FLAGS := $(DEFAULT_BZIP2FLAGS) $(EXTRA_BZIP2FLAGS)
-
-DEFAULT_GZIPFLAGS := -n
-EXTRA_GZIPFLAGS :=
-GZIPFLAGS := $(DEFAULT_GZIPFLAGS) $(EXTRA_GZIPFLAGS)
-
-DEFAULT_LZIPFLAGS :=
-EXTRA_LZIPFLAGS :=
-LZIPFLAGS := $(DEFAULT_LZIPFLAGS) $(EXTRA_LZIPFLAGS)
-
-DEFAULT_XZFLAGS :=
-EXTRA_XZFLAGS :=
-XZFLAGS := $(DEFAULT_XZFLAGS) $(EXTRA_XZFLAGS)
-
-
endif # include guard
diff --git a/share/mk/configure/build-depends/bsdextrautils.mk b/share/mk/configure/build-depends/bsdextrautils.mk
new file mode 100644
index 0000000000..6591dd271a
--- /dev/null
+++ b/share/mk/configure/build-depends/bsdextrautils.mk
@@ -0,0 +1,18 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_BSDEXTRAUTILS_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_BSDEXTRAUTILS_INCLUDED := 1
+
+
+DEFAULT_COLFLAGS := \
+ -b \
+ -p \
+ -x
+EXTRA_COLFLAGS :=
+COLFLAGS := $(DEFAULT_COLFLAGS) $(EXTRA_COLFLAGS)
+COL := col
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/bzip2.mk b/share/mk/configure/build-depends/bzip2.mk
new file mode 100644
index 0000000000..c2b7eacb9f
--- /dev/null
+++ b/share/mk/configure/build-depends/bzip2.mk
@@ -0,0 +1,15 @@
+# Copyright 2023-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_BZIP2_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_BZIP2_INCLUDED := 1
+
+
+DEFAULT_BZIP2FLAGS :=
+EXTRA_BZIP2FLAGS :=
+BZIP2FLAGS := $(DEFAULT_BZIP2FLAGS) $(EXTRA_BZIP2FLAGS)
+BZIP2 := bzip2
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/cc.mk b/share/mk/configure/build-depends/cc.mk
new file mode 100644
index 0000000000..88c88fc228
--- /dev/null
+++ b/share/mk/configure/build-depends/cc.mk
@@ -0,0 +1,61 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CC_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CC_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+
+
+CC := gcc
+
+
+CC_VENDOR := \
+ $(shell \
+ $(CC) -v 2>&1 \
+ | $(SED) -n '1p;$$p' \
+ | $(SED) '/gcc version/s/.*/gcc/' \
+ | $(SED) '/clang version/s/.*/clang/' \
+ | $(SED) '/Apple LLVM version/s/.*/clang/' \
+ | $(GREP) -e '^gcc$$' -e '^clang$$' \
+ || $(ECHO) unknown; \
+ )
+
+
+COMMON_CFLAGS := \
+ -O3 \
+ -flto \
+ -Wall \
+ -Wextra \
+ -Werror \
+ -Wstrict-prototypes \
+ -Wdeclaration-after-statement \
+ -Wno-error=unused-parameter \
+ -Wno-error=sign-compare \
+ -Wno-error=format \
+ -Wno-error=uninitialized
+
+
+GCC_CFLAGS := -fanalyzer
+
+
+CLANG_CFLAGS := -Weverything
+
+
+DEFAULT_CFLAGS := $(COMMON_CFLAGS)
+
+ifeq ($(CC_VENDOR),gcc)
+DEFAULT_CFLAGS += $(GCC_CFLAGS)
+else ifeq ($(CC_VENDOR),clang)
+DEFAULT_CFLAGS += $(CLANG_CFLAGS)
+endif
+
+EXTRA_CFLAGS :=
+CFLAGS := $(DEFAULT_CFLAGS) $(EXTRA_CFLAGS)
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/checkpatch.mk b/share/mk/configure/build-depends/checkpatch.mk
new file mode 100644
index 0000000000..e1b11b1bc9
--- /dev/null
+++ b/share/mk/configure/build-depends/checkpatch.mk
@@ -0,0 +1,19 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CHECKPATCH_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CHECKPATCH_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/src.mk
+
+
+CHECKPATCH_CONF := $(SYSCONFDIR)/checkpatch/checkpatch.conf
+DEFAULT_CHECKPATCHFLAGS :=
+EXTRA_CHECKPATCHFLAGS :=
+CHECKPATCHFLAGS := $(DEFAULT_CHECKPATCHFLAGS) $(EXTRA_CHECKPATCHFLAGS)
+CHECKPATCH := checkpatch
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/clang-tidy.mk b/share/mk/configure/build-depends/clang-tidy.mk
new file mode 100644
index 0000000000..f0b9681f41
--- /dev/null
+++ b/share/mk/configure/build-depends/clang-tidy.mk
@@ -0,0 +1,22 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CLANG_TIDY_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CLANG_TIDY_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/src.mk
+
+
+CLANG_TIDY_CONF := $(SYSCONFDIR)/clang-tidy/config.yaml
+DEFAULT_CLANG_TIDYFLAGS := \
+ --config-file=$(CLANG_TIDY_CONF) \
+ --quiet \
+ --use-color
+EXTRA_CLANG_TIDYFLAGS :=
+CLANG_TIDYFLAGS := $(DEFAULT_CLANG_TIDYFLAGS) $(EXTRA_CLANG_TIDYFLAGS)
+CLANG_TIDY := clang-tidy
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/clang.mk b/share/mk/configure/build-depends/clang.mk
new file mode 100644
index 0000000000..18fb7592fd
--- /dev/null
+++ b/share/mk/configure/build-depends/clang.mk
@@ -0,0 +1,19 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CLANG_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CLANG_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/cc.mk
+
+
+DEFAULT_CLANGFLAGS := \
+ $(COMMON_CFLAGS) \
+ $(CLANG_CFLAGS)
+EXTRA_CLANGFLAGS :=
+CLANGFLAGS := $(DEFAULT_CLANGFLAGS) $(EXTRA_CLANGFLAGS)
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/coreutils.mk b/share/mk/configure/build-depends/coreutils.mk
new file mode 100644
index 0000000000..140ba13f2f
--- /dev/null
+++ b/share/mk/configure/build-depends/coreutils.mk
@@ -0,0 +1,28 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_COREUTILS_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_COREUTILS_INCLUDED := 1
+
+
+CP := cp
+ECHO := echo
+EXPR := expr
+HEAD := head
+INSTALL := install
+LN := ln
+MKTEMP := mktemp
+RM := rm
+SORT := sort
+TAC := tac
+TAIL := tail
+TEST := test
+TOUCH := touch
+
+
+INSTALL_DATA := $(INSTALL) -m 644
+INSTALL_DIR := $(INSTALL) -m 755 -d
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/cpp.mk b/share/mk/configure/build-depends/cpp.mk
new file mode 100644
index 0000000000..e7de318328
--- /dev/null
+++ b/share/mk/configure/build-depends/cpp.mk
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPP_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPP_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/cc.mk
+include $(MAKEFILEDIR)/configure/build-depends/pkgconf.mk
+include $(MAKEFILEDIR)/verbose.mk
+
+
+DEFAULT_CPPFLAGS := $(shell $(PKGCONF_CMD) --cflags $(PKGCONF_LIBS) $(HIDE_ERR))
+EXTRA_CPPFLAGS :=
+CPPFLAGS := $(DEFAULT_CPPFLAGS) $(EXTRA_CPPFLAGS)
+CPP := $(CC) $(CFLAGS) -E
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/cppcheck.mk b/share/mk/configure/build-depends/cppcheck.mk
new file mode 100644
index 0000000000..4dfad8fddb
--- /dev/null
+++ b/share/mk/configure/build-depends/cppcheck.mk
@@ -0,0 +1,21 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPPCHECK_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPPCHECK_INCLUDED := 1
+
+
+CPPCHECK_SUPPRESS := $(SYSCONFDIR)/cppcheck/cppcheck.suppress
+DEFAULT_CPPCHECKFLAGS := \
+ --enable=all \
+ --error-exitcode=2 \
+ --inconclusive \
+ --quiet \
+ --suppressions-list=$(CPPCHECK_SUPPRESS)
+EXTRA_CPPCHECKFLAGS :=
+CPPCHECKFLAGS := $(DEFAULT_CPPCHECKFLAGS) $(EXTRA_CPPCHECKFLAGS)
+CPPCHECK := cppcheck
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/cpplint.mk b/share/mk/configure/build-depends/cpplint.mk
new file mode 100644
index 0000000000..118212c4ee
--- /dev/null
+++ b/share/mk/configure/build-depends/cpplint.mk
@@ -0,0 +1,16 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPPLINT_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_CPPLINT_INCLUDED := 1
+
+
+CPPLINT_CONF := $(SYSCONFDIR)/cpplint/cpplint.cfg
+DEFAULT_CPPLINTFLAGS :=
+EXTRA_CPPLINTFLAGS :=
+CPPLINTFLAGS := $(DEFAULT_CPPLINTFLAGS) $(EXTRA_CPPLINTFLAGS)
+CPPLINT := cpplint
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/diffoscope.mk b/share/mk/configure/build-depends/diffoscope.mk
new file mode 100644
index 0000000000..957ddff893
--- /dev/null
+++ b/share/mk/configure/build-depends/diffoscope.mk
@@ -0,0 +1,12 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_DIFFOSCOPE_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_DIFFOSCOPE_INCLUDED := 1
+
+
+DIFFOSCOPE := diffoscope
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/findutils.mk b/share/mk/configure/build-depends/findutils.mk
new file mode 100644
index 0000000000..9c38820a30
--- /dev/null
+++ b/share/mk/configure/build-depends/findutils.mk
@@ -0,0 +1,13 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_FINDUTILS_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_FINDUTILS_INCLUDED := 1
+
+
+FIND := find
+XARGS := xargs
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/git.mk b/share/mk/configure/build-depends/git.mk
new file mode 100644
index 0000000000..d079c771a8
--- /dev/null
+++ b/share/mk/configure/build-depends/git.mk
@@ -0,0 +1,12 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GIT_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_GIT_INCLUDED := 1
+
+
+GIT := git
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/grep.mk b/share/mk/configure/build-depends/grep.mk
new file mode 100644
index 0000000000..a00c265705
--- /dev/null
+++ b/share/mk/configure/build-depends/grep.mk
@@ -0,0 +1,12 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GREP_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_GREP_INCLUDED := 1
+
+
+GREP := grep
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/groff-base.mk b/share/mk/configure/build-depends/groff-base.mk
new file mode 100644
index 0000000000..d118b2c028
--- /dev/null
+++ b/share/mk/configure/build-depends/groff-base.mk
@@ -0,0 +1,66 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GROFF_BASE_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_GROFF_BASE_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/libc-bin.mk
+include $(MAKEFILEDIR)/configure/build-depends/man.mk
+
+
+DEFAULT_PRECONVFLAGS :=
+EXTRA_PRECONVFLAGS :=
+PRECONVFLAGS := $(DEFAULT_PRECONVFLAGS) $(EXTRA_PRECONVFLAGS)
+PRECONV := preconv
+
+
+TBL := tbl
+
+
+DEFAULT_EQNFLAGS :=
+EXTRA_EQNFLAGS :=
+EQNFLAGS := $(DEFAULT_EQNFLAGS) $(EXTRA_EQNFLAGS)
+EQN := eqn
+
+
+DEFAULT_TROFFFLAGS := -wbreak
+EXTRA_TROFFFLAGS :=
+TROFFFLAGS := $(DEFAULT_TROFFFLAGS) $(EXTRA_TROFFFLAGS)
+TROFF := troff
+
+
+TROFF_CHECKSTYLE_LVL := 3
+NROFF_LINE_LENGTH := $(shell $(EXPR) $(MANWIDTH) - 2)
+NROFF_OUT_DEVICE := \
+ $(shell $(LOCALE) charmap \
+ | $(GREP) -i 'utf-*8' >/dev/null \
+ && $(ECHO) utf8 \
+ || $(ECHO) ascii \
+ )
+
+DEFAULT_NROFFFLAGS := \
+ -T$(NROFF_OUT_DEVICE) \
+ -rLL=$(NROFF_LINE_LENGTH)n \
+ -rCHECKSTYLE=$(TROFF_CHECKSTYLE_LVL) \
+ -ww
+EXTRA_NROFFFLAGS :=
+NROFFFLAGS := $(DEFAULT_NROFFFLAGS) $(EXTRA_NROFFFLAGS)
+
+
+DEFAULT_GROTTYFLAGS := -c
+EXTRA_GROTTYFLAGS :=
+GROTTYFLAGS := $(DEFAULT_GROTTYFLAGS) $(EXTRA_GROTTYFLAGS)
+GROTTY := grotty
+
+
+DEFAULT_GROPSFLAGS :=
+EXTRA_GROPSFLAGS :=
+GROPSFLAGS := $(DEFAULT_GROPSFLAGS) $(EXTRA_GROPSFLAGS)
+GROPS := grops
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/groff.mk b/share/mk/configure/build-depends/groff.mk
new file mode 100644
index 0000000000..7043cb0100
--- /dev/null
+++ b/share/mk/configure/build-depends/groff.mk
@@ -0,0 +1,15 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GROFF_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_GROFF_INCLUDED := 1
+
+
+DEFAULT_GROPDFFLAGS :=
+EXTRA_GROPDFFLAGS :=
+GROPDFFLAGS := $(DEFAULT_GROPDFFLAGS) $(EXTRA_GROPDFFLAGS)
+GROPDF := gropdf
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/gzip.mk b/share/mk/configure/build-depends/gzip.mk
new file mode 100644
index 0000000000..029e86c178
--- /dev/null
+++ b/share/mk/configure/build-depends/gzip.mk
@@ -0,0 +1,15 @@
+# Copyright 2023-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_GZIP_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_GZIP_INCLUDED := 1
+
+
+DEFAULT_GZIPFLAGS := -n
+EXTRA_GZIPFLAGS :=
+GZIPFLAGS := $(DEFAULT_GZIPFLAGS) $(EXTRA_GZIPFLAGS)
+GZIP := gzip
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/iwyu.mk b/share/mk/configure/build-depends/iwyu.mk
new file mode 100644
index 0000000000..cd0ab8e913
--- /dev/null
+++ b/share/mk/configure/build-depends/iwyu.mk
@@ -0,0 +1,17 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_IWYU_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_IWYU_INCLUDED := 1
+
+
+DEFAULT_IWYUFLAGS := \
+ -Xiwyu --no_fwd_decls \
+ -Xiwyu --error
+EXTRA_IWYUFLAGS :=
+IWYUFLAGS := $(DEFAULT_IWYUFLAGS) $(EXTRA_IWYUFLAGS)
+IWYU := iwyu
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/ld.mk b/share/mk/configure/build-depends/ld.mk
new file mode 100644
index 0000000000..0d1f37e4b1
--- /dev/null
+++ b/share/mk/configure/build-depends/ld.mk
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_LD_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_LD_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/configure/build-depends/cc.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/pkgconf.mk
+include $(MAKEFILEDIR)/verbose.mk
+
+
+LD := $(CC) $(CFLAGS)
+
+
+LD_HAS_FUSE_LINKER_PLUGIN := \
+ $(shell \
+ $(ECHO) 'int main(void) {}' \
+ | $(LD) -fuse-linker-plugin -x c -o /dev/null /dev/stdin $(HIDE_ERR) \
+ && $(ECHO) yes \
+ || $(ECHO) no; \
+ )
+
+
+DEFAULT_LDFLAGS := \
+ -Wl,--as-needed \
+ -Wl,--no-allow-shlib-undefined \
+ -Wl,--no-copy-dt-needed-entries \
+ -Wl,--no-undefined \
+ $(shell $(PKGCONF_CMD) --libs-only-L $(PKGCONF_LIBS) $(HIDE_ERR)) \
+ $(shell $(PKGCONF_CMD) --libs-only-other $(PKGCONF_LIBS) $(HIDE_ERR))
+
+ifeq ($(LD_HAS_FUSE_LINKER_PLUGIN),yes)
+DEFAULT_LDFLAGS += -fuse-linker-plugin
+endif
+
+EXTRA_LDFLAGS :=
+LDFLAGS := $(DEFAULT_LDFLAGS) $(EXTRA_LDFLAGS)
+
+
+DEFAULT_LDLIBS := \
+ -lc \
+ $(shell $(PKGCONF_CMD) --libs-only-l $(PKGCONF_LIBS) $(HIDE_ERR))
+EXTRA_LDLIBS :=
+LDLIBS := $(DEFAULT_LDLIBS) $(EXTRA_LDLIBS)
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/libc-bin.mk b/share/mk/configure/build-depends/libc-bin.mk
new file mode 100644
index 0000000000..e0818e091d
--- /dev/null
+++ b/share/mk/configure/build-depends/libc-bin.mk
@@ -0,0 +1,12 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_LIBC_BIN_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_LIBC_BIN_INCLUDED := 1
+
+
+LOCALE := locale
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/lzip.mk b/share/mk/configure/build-depends/lzip.mk
new file mode 100644
index 0000000000..ec33b1e7f2
--- /dev/null
+++ b/share/mk/configure/build-depends/lzip.mk
@@ -0,0 +1,15 @@
+# Copyright 2023-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_LZIP_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_LZIP_INCLUDED := 1
+
+
+DEFAULT_LZIPFLAGS :=
+EXTRA_LZIPFLAGS :=
+LZIPFLAGS := $(DEFAULT_LZIPFLAGS) $(EXTRA_LZIPFLAGS)
+LZIP := lzip
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/man.mk b/share/mk/configure/build-depends/man.mk
new file mode 100644
index 0000000000..64a1ce8037
--- /dev/null
+++ b/share/mk/configure/build-depends/man.mk
@@ -0,0 +1,12 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_MAN_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_MAN_INCLUDED := 1
+
+
+MANWIDTH ?= 80
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/man2html.mk b/share/mk/configure/build-depends/man2html.mk
new file mode 100644
index 0000000000..e7ffb5911a
--- /dev/null
+++ b/share/mk/configure/build-depends/man2html.mk
@@ -0,0 +1,15 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_MAN2HTML_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_MAN2HTML_INCLUDED := 1
+
+
+DEFAULT_MAN2HTMLFLAGS :=
+EXTRA_MAN2HTMLFLAGS :=
+MAN2HTMLFLAGS := $(DEFAULT_MAN2HTMLFLAGS) $(EXTRA_MAN2HTMLFLAGS)
+MAN2HTML := man2html
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/mandoc.mk b/share/mk/configure/build-depends/mandoc.mk
new file mode 100644
index 0000000000..62feb7af25
--- /dev/null
+++ b/share/mk/configure/build-depends/mandoc.mk
@@ -0,0 +1,15 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_MANDOC_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_MANDOC_INCLUDED := 1
+
+
+DEFAULT_MANDOCFLAGS := -Tlint
+EXTRA_MANDOCFLAGS :=
+MANDOCFLAGS := $(DEFAULT_MANDOCFLAGS) $(EXTRA_MANDOCFLAGS)
+MANDOC := mandoc
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/moreutils.mk b/share/mk/configure/build-depends/moreutils.mk
new file mode 100644
index 0000000000..88ec677a97
--- /dev/null
+++ b/share/mk/configure/build-depends/moreutils.mk
@@ -0,0 +1,12 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_MOREUTILS_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_MOREUTILS_INCLUDED := 1
+
+
+SPONGE := sponge
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/pkgconf.mk b/share/mk/configure/build-depends/pkgconf.mk
new file mode 100644
index 0000000000..8a7cf05666
--- /dev/null
+++ b/share/mk/configure/build-depends/pkgconf.mk
@@ -0,0 +1,27 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_PKGCONF_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_PKGCONF_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/src.mk
+include $(MAKEFILEDIR)/version.mk
+
+
+# Compat
+PKG_CONFIG := pkgconf
+
+
+DEFAULT_PKGCONFFLAGS :=
+EXTRA_PKGCONFFLAGS :=
+PKGCONFFLAGS := $(DEFAULT_PKGCONFFLAGS) $(EXTRA_PKGCONFFLAGS)
+PKGCONF := $(PKG_CONFIG)
+PKGCONF_CMD := $(PKGCONF) $(PKGCONFFLAGS)
+
+
+PKGCONF_LIBS := libbsd-overlay
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/sed.mk b/share/mk/configure/build-depends/sed.mk
new file mode 100644
index 0000000000..f98031e773
--- /dev/null
+++ b/share/mk/configure/build-depends/sed.mk
@@ -0,0 +1,12 @@
+# Copyright 2022-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_SED_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_SED_INCLUDED := 1
+
+
+SED := sed
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/sortman.mk b/share/mk/configure/build-depends/sortman.mk
new file mode 100644
index 0000000000..cbece9ec1e
--- /dev/null
+++ b/share/mk/configure/build-depends/sortman.mk
@@ -0,0 +1,12 @@
+# Copyright 2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_SORTMAN_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_SORTMAN_INCLUDED := 1
+
+
+SORTMAN := $(srcdir)/scripts/sortman
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/tar.mk b/share/mk/configure/build-depends/tar.mk
new file mode 100644
index 0000000000..f4a404867c
--- /dev/null
+++ b/share/mk/configure/build-depends/tar.mk
@@ -0,0 +1,22 @@
+# Copyright 2021-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_TAR_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_TAR_INCLUDED := 1
+
+
+include $(MAKEFILEDIR)/version.mk
+
+
+DEFAULT_TARFLAGS := \
+ --sort=name \
+ --owner=root:0 \
+ --group=root:0 \
+ --mtime='$(DISTDATE)'
+EXTRA_TARFLAGS :=
+TARFLAGS := $(DEFAULT_TARFLAGS) $(EXTRA_TARFLAGS)
+TAR := tar
+
+
+endif # include guard
diff --git a/share/mk/configure/build-depends/xz-utils.mk b/share/mk/configure/build-depends/xz-utils.mk
new file mode 100644
index 0000000000..5b8fb0c85c
--- /dev/null
+++ b/share/mk/configure/build-depends/xz-utils.mk
@@ -0,0 +1,15 @@
+# Copyright 2023-2024 Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
+
+
+ifndef MAKEFILE_CONFIGURE_BUILD_DEPENDS_XZ_UTILS_INCLUDED
+MAKEFILE_CONFIGURE_BUILD_DEPENDS_XZ_UTILS_INCLUDED := 1
+
+
+DEFAULT_XZFLAGS :=
+EXTRA_XZFLAGS :=
+XZFLAGS := $(DEFAULT_XZFLAGS) $(EXTRA_XZFLAGS)
+XZ := xz
+
+
+endif # include guard
diff --git a/share/mk/dist.mk b/share/mk/dist.mk
index d012284f56..a5e792c8e7 100644
--- a/share/mk/dist.mk
+++ b/share/mk/dist.mk
@@ -9,8 +9,15 @@ MAKEFILE_DIST_INCLUDED := 1
include $(MAKEFILEDIR)/build/_.mk
-include $(MAKEFILEDIR)/cmd.mk
-include $(MAKEFILEDIR)/compress.mk
+include $(MAKEFILEDIR)/configure/build-depends/bzip2.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/findutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/git.mk
+include $(MAKEFILEDIR)/configure/build-depends/gzip.mk
+include $(MAKEFILEDIR)/configure/build-depends/lzip.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+include $(MAKEFILEDIR)/configure/build-depends/tar.mk
+include $(MAKEFILEDIR)/configure/build-depends/xz-utils.mk
include $(MAKEFILEDIR)/install/_.mk
include $(MAKEFILEDIR)/version.mk
include $(MAKEFILEDIR)/verbose.mk
@@ -19,15 +26,6 @@ include $(MAKEFILEDIR)/verbose.mk
_DISTDIR := $(builddir)/dist
-DEFAULT_TARFLAGS := \
- --sort=name \
- --owner=root:0 \
- --group=root:0 \
- --mtime='$(DISTDATE)'
-EXTRA_TARFLAGS :=
-TARFLAGS := $(DEFAULT_TARFLAGS) $(EXTRA_TARFLAGS)
-
-
DISTFILES := $(shell $(GIT) ls-files $(HIDE_ERR) \
| $(SED) 's,^,$(srcdir)/,' \
| $(SED) 's,:,\\:,g')
@@ -68,7 +66,7 @@ define DISTFILE_z_rule
$(DISTFILE).$(2): %.$(2): % $(MK) | $$$$(@D)/
$$(info $(1) $$@)
$($(1)) $($(1)FLAGS) -kf $$<
- touch $$@
+ $(TOUCH) $$@
endef
$(eval $(call DISTFILE_z_rule,BZIP2,bz2))
diff --git a/share/mk/install/_.mk b/share/mk/install/_.mk
index 751ab97e21..bf5dc3082e 100644
--- a/share/mk/install/_.mk
+++ b/share/mk/install/_.mk
@@ -8,18 +8,17 @@ ifndef MAKEFILE_INSTALL_INCLUDED
MAKEFILE_INSTALL_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
-DESTDIR :=
-prefix := /usr/local
-
+DESTDIR :=
+prefix := /usr/local
datarootdir := $(prefix)/share
docdir := $(datarootdir)/doc
-$(DESTDIR)%/:
- +$(info INSTALL $@)
+%/:
+ +$(info MKDIR $@)
+$(INSTALL_DIR) $@
%-rm:
diff --git a/share/mk/install/html.mk b/share/mk/install/html.mk
index aa111ca47e..9f836f76bf 100644
--- a/share/mk/install/html.mk
+++ b/share/mk/install/html.mk
@@ -9,6 +9,7 @@ MAKEFILE_INSTALL_HTML_INCLUDED := 1
include $(MAKEFILEDIR)/build/html.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
include $(MAKEFILEDIR)/install/_.mk
diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk
index b9865b9187..c11ac069a7 100644
--- a/share/mk/install/man.mk
+++ b/share/mk/install/man.mk
@@ -8,8 +8,16 @@ ifndef MAKEFILE_INSTALL_MAN_INCLUDED
MAKEFILE_INSTALL_MAN_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
include $(MAKEFILEDIR)/compress.mk
+include $(MAKEFILEDIR)/configure/build-depends/bzip2.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/findutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/gzip.mk
+include $(MAKEFILEDIR)/configure/build-depends/lzip.mk
+include $(MAKEFILEDIR)/configure/build-depends/moreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+include $(MAKEFILEDIR)/configure/build-depends/xz-utils.mk
include $(MAKEFILEDIR)/install/_.mk
include $(MAKEFILEDIR)/src.mk
diff --git a/share/mk/lint/c.mk b/share/mk/lint/c.mk
index 7530d80e34..1877f01042 100644
--- a/share/mk/lint/c.mk
+++ b/share/mk/lint/c.mk
@@ -9,48 +9,19 @@ MAKEFILE_LINT_C_INCLUDED := 1
include $(MAKEFILEDIR)/build/src.mk
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/checkpatch.mk
+include $(MAKEFILEDIR)/configure/build-depends/clang.mk
+include $(MAKEFILEDIR)/configure/build-depends/clang-tidy.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/cpp.mk
+include $(MAKEFILEDIR)/configure/build-depends/cppcheck.mk
+include $(MAKEFILEDIR)/configure/build-depends/cpplint.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/iwyu.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
include $(MAKEFILEDIR)/lint/_.mk
-DEFAULT_CHECKPATCHFLAGS :=
-EXTRA_CHECKPATCHFLAGS :=
-CHECKPATCHFLAGS := $(DEFAULT_CHECKPATCHFLAGS) $(EXTRA_CHECKPATCHFLAGS)
-CHECKPATCH := checkpatch
-
-clang-tidy_config := $(SYSCONFDIR)/clang-tidy/config.yaml
-DEFAULT_CLANG-TIDYFLAGS := \
- --config-file=$(clang-tidy_config) \
- --quiet \
- --use-color
-EXTRA_CLANG-TIDYFLAGS :=
-CLANG-TIDYFLAGS := $(DEFAULT_CLANG-TIDYFLAGS) $(EXTRA_CLANG-TIDYFLAGS)
-CLANG-TIDY := clang-tidy
-
-CPPCHECK_SUPPRESS := $(SYSCONFDIR)/cppcheck/cppcheck.suppress
-DEFAULT_CPPCHECKFLAGS := \
- --enable=all \
- --error-exitcode=2 \
- --inconclusive \
- --quiet \
- --suppressions-list=$(CPPCHECK_SUPPRESS)
-EXTRA_CPPCHECKFLAGS :=
-CPPCHECKFLAGS := $(DEFAULT_CPPCHECKFLAGS) $(EXTRA_CPPCHECKFLAGS)
-CPPCHECK := cppcheck
-
-DEFAULT_CPPLINTFLAGS :=
-EXTRA_CPPLINTFLAGS :=
-CPPLINTFLAGS := $(DEFAULT_CPPLINTFLAGS) $(EXTRA_CPPLINTFLAGS)
-CPPLINT := cpplint
-
-DEFAULT_IWYUFLAGS := \
- -Xiwyu --no_fwd_decls \
- -Xiwyu --error
-EXTRA_IWYUFLAGS :=
-IWYUFLAGS := $(DEFAULT_IWYUFLAGS) $(EXTRA_IWYUFLAGS)
-IWYU := iwyu
-
-
linters_c := checkpatch clang-tidy cppcheck cpplint iwyu
@@ -63,27 +34,27 @@ $(foreach l, $(linters_c), \
$(_LINT_c_checkpatch): %.lint-c.checkpatch.touch: %.c $(MK)
$(info LINT (checkpatch) $@)
$(CHECKPATCH) $(CHECKPATCHFLAGS) -f $< >&2
- touch $@
+ $(TOUCH) $@
$(_LINT_c_clang-tidy): %.lint-c.clang-tidy.touch: %.c $(MK)
$(info LINT (clang-tidy) $@)
- $(CLANG-TIDY) $(CLANG-TIDYFLAGS) $< -- $(CPPFLAGS) $(CFLAGS) 2>&1 \
+ $(CLANG_TIDY) $(CLANG_TIDYFLAGS) $< -- $(CPPFLAGS) $(CLANGFLAGS) 2>&1 \
| $(SED) '/generated\.$$/d' >&2
- touch $@
+ $(TOUCH) $@
$(_LINT_c_cppcheck): %.lint-c.cppcheck.touch: %.c $(MK)
$(info LINT (cppcheck) $@)
$(CPPCHECK) $(CPPCHECKFLAGS) $<
- touch $@
+ $(TOUCH) $@
$(_LINT_c_cpplint): %.lint-c.cpplint.touch: %.c $(MK)
$(info LINT (cpplint) $@)
$(CPPLINT) $(CPPLINTFLAGS) $< >/dev/null
- touch $@
+ $(TOUCH) $@
$(_LINT_c_iwyu): %.lint-c.iwyu.touch: %.c $(MK)
$(info LINT (iwyu) $@)
- ! ($(IWYU) $(IWYUFLAGS) $(CPPFLAGS) $(CFLAGS) $< 2>&1 \
+ ! ($(IWYU) $(IWYUFLAGS) $(CPPFLAGS) $(CLANGFLAGS) $< 2>&1 \
| $(SED) -n '/should add these lines:/,$$p' \
| $(TAC) \
| $(SED) '/correct/{N;d}' \
@@ -91,7 +62,7 @@ $(_LINT_c_iwyu): %.lint-c.iwyu.touch: %.c $(MK)
||:; \
) \
| $(GREP) ^ >&2
- touch $@
+ $(TOUCH) $@
$(foreach l, $(linters_c), \
diff --git a/share/mk/lint/man/_.mk b/share/mk/lint/man/_.mk
deleted file mode 100644
index 8bbc01c8b1..0000000000
--- a/share/mk/lint/man/_.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-########################################################################
-# Copyright 2021-2023, Alejandro Colomar <alx@kernel.org>
-# SPDX-License-Identifier: GPL-3.0-or-later
-########################################################################
-
-
-ifndef MAKEFILE_LINT_MAN_INCLUDED
-MAKEFILE_LINT_MAN_INCLUDED := 1
-
-
-DEFAULT_MANDOCFLAGS := -Tlint
-EXTRA_MANDOCFLAGS :=
-MANDOCFLAGS := $(DEFAULT_MANDOCFLAGS) $(EXTRA_MANDOCFLAGS)
-
-
-endif # include guard
diff --git a/share/mk/lint/man/man.mk b/share/mk/lint/man/man.mk
index 595bfdb3b4..135ac397d4 100644
--- a/share/mk/lint/man/man.mk
+++ b/share/mk/lint/man/man.mk
@@ -8,10 +8,11 @@ ifndef MAKEFILE_LINT_MAN_MAN_INCLUDED
MAKEFILE_LINT_MAN_MAN_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
include $(MAKEFILEDIR)/build/_.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/mandoc.mk
include $(MAKEFILEDIR)/lint/_.mk
-include $(MAKEFILEDIR)/lint/man/_.mk
include $(MAKEFILEDIR)/src.mk
@@ -34,7 +35,7 @@ $(_LINT_man_mandoc): $(_MANDIR)/%.lint-man.mandoc.touch: $(MANDIR)/% $(mandoc_ma
||:; \
) \
| $(GREP) ^ >&2
- touch $@
+ $(TOUCH) $@
$(_LINT_man_tbl): $(_MANDIR)/%.lint-man.tbl.touch: $(MANDIR)/% $(MK) | $$(@D)/
$(info LINT (tbl comment) $@)
@@ -56,7 +57,7 @@ $(_LINT_man_tbl): $(_MANDIR)/%.lint-man.tbl.touch: $(MANDIR)/% $(MK) | $$(@D)/
>&2 $(GREP) -n '\\" t$$' $< /dev/null; \
exit 1; \
fi
- touch $@
+ $(TOUCH) $@
$(foreach l, $(linters_man), \
diff --git a/share/mk/lint/man/mdoc.mk b/share/mk/lint/man/mdoc.mk
index 5c6423d7e7..8df8a04fbe 100644
--- a/share/mk/lint/man/mdoc.mk
+++ b/share/mk/lint/man/mdoc.mk
@@ -8,10 +8,11 @@ ifndef MAKEFILE_LINT_MAN_MDOC_INCLUDED
MAKEFILE_LINT_MAN_MDOC_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/coreutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/mandoc.mk
include $(MAKEFILEDIR)/build/_.mk
include $(MAKEFILEDIR)/lint/_.mk
-include $(MAKEFILEDIR)/lint/man/_.mk
include $(MAKEFILEDIR)/src.mk
@@ -34,7 +35,7 @@ $(_LINT_mdoc_mandoc): $(_MANDIR)/%.lint-mdoc.mandoc.touch: $(MANDIR)/% $(mandoc_
||:; \
) \
| $(GREP) ^ >&2
- touch $@
+ $(TOUCH) $@
$(foreach l, $(linters_mdoc), \
diff --git a/share/mk/src.mk b/share/mk/src.mk
index a77bb2d2b9..c17f1c96b8 100644
--- a/share/mk/src.mk
+++ b/share/mk/src.mk
@@ -1,17 +1,20 @@
-########################################################################
-# Copyright 2021-2023, Alejandro Colomar <alx@kernel.org>
-# SPDX-License-Identifier: GPL-3.0-or-later
-########################################################################
+# Copyright 2021-2024, Alejandro Colomar <alx@kernel.org>
+# SPDX-License-Identifier: LGPL-3.0-only WITH LGPL-3.0-linking-exception
ifndef MAKEFILE_SRC_INCLUDED
MAKEFILE_SRC_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/findutils.mk
+include $(MAKEFILEDIR)/configure/build-depends/grep.mk
+include $(MAKEFILEDIR)/configure/build-depends/sed.mk
+include $(MAKEFILEDIR)/configure/build-depends/sortman.mk
-MANDIR := $(srcdir)
+SYSCONFDIR := $(srcdir)/etc
+MANDIR := $(srcdir)
+
MANEXT := \(\.[[:digit:]]\([[:alpha:]][[:alnum:]]*\)\?\>\|\.man\)\+\(\.man\|\.in\)*$
diff --git a/share/mk/version.mk b/share/mk/version.mk
index af3c0cb2af..d359dfb72a 100644
--- a/share/mk/version.mk
+++ b/share/mk/version.mk
@@ -8,7 +8,7 @@ ifndef MAKEFILE_VERSION_INCLUDED
MAKEFILE_VERSION_INCLUDED := 1
-include $(MAKEFILEDIR)/cmd.mk
+include $(MAKEFILEDIR)/configure/build-depends/git.mk
include $(MAKEFILEDIR)/verbose.mk