Merge branch 'master' into deploy
[distorted-chroot] / Makefile
index 1c0c594..1a25369 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,8 @@
 all:
 clean::
 check::
-.PHONY: all clean check
+help::
+.PHONY: all clean check help
 .SECONDEXPANSION: #sorry
 
 ###--------------------------------------------------------------------------
@@ -35,8 +36,20 @@ check::
 
 CONFIG_VARS             =
 
+help::
+       @echo  "Configuration variables"
+
+## Make verbosity.
+V                       = 0
+help::;  @echo "       V               build verbosity"
+
 ## Level of pickiness to aspire to.
 NOTIFY_FATAL            = 1
+help::
+       @echo  "        NOTIFY_FATAL    report fatal error on ..." && \
+       echo   "                                1 = error" && \
+       echo   "                                2 = warning" && \
+       echo   "                                3 = info"
 
 ## Volume group from which to allocate chroot volumes and snapshots.
 CONFIG_VARS            += VG LVPREFIX
@@ -72,7 +85,7 @@ PROXY                  = $(shell \
 ## Debian distributions to support.
 CONFIG_VARS            += PRIMARY_DIST DISTS
 PRIMARY_DIST            = stretch
-DISTS                   = $(PRIMARY_DIST) buster bullseye sid
+DISTS                   = $(PRIMARY_DIST) buster bullseye bookworm sid
 
 ## Host's native architecture(s).
 CONFIG_VARS            += MYARCH NATIVE_ARCHS
@@ -206,12 +219,14 @@ TOOLSARCH          = $(MYARCH)
 ## A directory in which we can maintain private files and state.
 CONFIG_VARS            += STATE
 STATE                   = state
+help::;  @echo "       STATE           directory for state files"
 
 ## A directory which will be spliced into chroots as `/usr/local.schroot/'.
 ## This will be our primary point of contact with the chroot.
 CONFIG_VARS            += LOCAL ABSLOCAL
 LOCAL                   = local.schroot
 ABSLOCAL                = $(abspath $(LOCAL))
+help::;  @echo "       LOCAL           directory for chroot /usr/local"
 
 ## How to run a command as a privileged user.
 CONFIG_VARS            += ROOTLY
@@ -236,6 +251,15 @@ FOREIGN_GNUARCHS   := $(foreach a,$(FOREIGN_ARCHS),\
                                        -qDEB_TARGET_GNU_TYPE))
 
 ###--------------------------------------------------------------------------
+### Basic help.
+
+help::
+       @echo  "Basic targets" && \
+       echo   "        all             build and install the infrastructure" && \
+       echo   "        clean           delete build files" && \
+       echo   "        check           verify correct installation"
+
+###--------------------------------------------------------------------------
 ### Utilities.
 
 ## Hack to force rebuilding.
@@ -246,7 +270,6 @@ _force:
 comma                   = ,
 
 ## Silent-rules machinery.
-V                       = 0
 V_AT                    = $(V_AT_$V)
 V_AT_0                  = @
 v_print                         = $(call v_print_$V,$1,$2)
@@ -659,6 +682,21 @@ maint: all check
        $(MAINT) -f$(FRESH) $(JOBS)
 .PHONY: maint
 
+help::
+       @echo  "Maintenance targets" && \
+       echo   "        maint           run chroot maintenance" && \
+       echo   "Maintenance variables" && \
+       echo   "        FRESH           max time between updates" && \
+       echo   "                                N[smhdw] | create | force" && \
+       echo   "        JOBS            maintenance jobs to run" && \
+       echo   "                                ACT[.PAT,...][/FRESH]" && \
+       echo   "        OPTS            additional options (bin/chroot-maint --help)" && \
+       echo   "Maintenance actions" && \
+       echo   "        chroot          create and populate chroot" && \
+       echo   "        cross-tools     build cross-compilation toolchains" && \
+       echo   "        pkg-source      download and unpack local utilities" && \
+       echo   "        pkg-build       compile and install local utilities"
+
 ###--------------------------------------------------------------------------
 ### Running random commands.