X-Git-Url: https://git.ladys.computer/Shushe/blobdiff_plain/e7981ed48521a287a0351fb9912cf00a7602dc72..2fcf7186a7211578eb721726c5d45eff09d80524:/GNUmakefile diff --git a/GNUmakefile b/GNUmakefile index a883837..33fa601 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2023, 2024, 2025 Lady +# SPDX-FileCopyrightText: 2023, 2024, 2025, 2026 Lady # SPDX-License-Identifier: MPL-2.0 SHELL = /bin/sh @@ -8,7 +8,7 @@ override define makefileinfo ╭────────────────────────────╮ ╔╡ ⁌ ⛩📰 书社 ∷ GNUmakefile ╞═════════════════════════════════╗ ║╰────────────────────────────╯ ║ -╟┬ ¶ Prerequisites ───────────────────────────────────────────┬╢ +╟┬ § Prerequisites ───────────────────────────────────────────┬╢ ║│ │║ ║│ Requires G·N·U Make, at least version 3.81, the Fine Free │║ ║│ File Command, and the various programs packaged with │║ @@ -51,7 +51,7 @@ override define makefileinfo ║│ program `program´ by overriding the corresponding variable │║ ║│ `PROGRAM´ when calling Make. │║ ║╰────────────────────────────────────────────────────────────╯║ -╟┬ ¶ Usage ───────────────────────────────────────────────────┬╢ +╟┬ § Usage ───────────────────────────────────────────────────┬╢ ║│ │║ ║│ • `make all´ (default): Compile, but do not install, all │║ ║│ files. │║ @@ -81,9 +81,9 @@ override define makefileinfo ║│ See `README.markdown´ for a more involved description of │║ ║│ the capabilities and configuration of this program. │║ ║╰────────────────────────────────────────────────────────────╯║ -╟┬ ¶ Copyright & License ─────────────────────────────────────┬╢ +╟┬ § Copyright & License ─────────────────────────────────────┬╢ ║│ │║ -║│ Copyright © 2023–2025 Lady [@ Ladys Computer]. │║ +║│ Copyright © 2023–2026 Lady [@ Ladys Computer]. │║ ║│ │║ ║│ This Source Code Form is subject to the terms of the │║ ║│ Mozilla Public License, v 2.0. If a copy of the M·P·L was │║ @@ -689,7 +689,7 @@ $(call metadata,$(sourcefiles) $(sourceincludes)) : % : $$(call datadata,$$@) $( # Collect the metadata into a single file, and generate the dependencies and destinations files as side·effects. # # Doing this all in one step reduces the number of calls to `xsltproc´ required, but requires that it be called from the build directory (necessitating a subshell). -$(BUILDDIR)/dependencies $(BUILDDIR)/destinations $(BUILDDIR)/metadata : $(call diffprereqs,metadatas,$(call metadata,$(sort $(sourcefiles) $(sourceincludes)))) $$(call parseresult,$(sourcefiles) $(sourceincludes)) $(THISDIR)/lib/expandmetadata.xslt +$(BUILDDIR)/dependencies $(BUILDDIR)/destinations $(BUILDDIR)/metadata : $(call diffprereqs,metadatas,$(call metadata,$(sort $(sourcefiles) $(sourceincludes)))) $(call diffprereqs,parseds,$$(call parsed,$(sort $(sourcefiles) $(sourceincludes)))) $(THISDIR)/lib/expandmetadata.xslt $(call inform,$(PRINTF) '%s\n' 'Compiling metadata…' >&2) $(silent){ $(PRINTF) '<书社vocab:BuildDirectory nfo:fileUrl="%s"/>' $(call quote,$(call attresc,$(call fileuri,$(BUILDDIR)))); {$(foreach meta,$(call metadata,$(sort $(sourcefiles) $(sourceincludes))), $(CAT) $(call quote,$(meta));) } | $(SED) 's///g'; $(PRINTF) '%s\n' ''; } | ( $(CD) $(call quote,$(BUILDDIR)); $(XSLTPROC) --nonet --novalid --nomkdir $(call quote,$(abspath $(THISDIR)/lib/expandmetadata.xslt)) - ) | $(XMLLINT) --nonet --nsclean - >|$(call quote,$(BUILDDIR)/metadata)