]> Lady’s Gitweb - Shushe/commitdiff
Simplify two‐step build 0.13.0
authorLady <redacted>
Sat, 21 Sep 2024 05:16:33 +0000 (01:16 -0400)
committerLady <redacted>
Sat, 26 Oct 2024 20:34:53 +0000 (16:34 -0400)
The two‐step build originally installed to `$(BUILDDIR)/data`, but this
installation step is unnecessary (it just copies over files from the
`public/` folder of the first build). This commit uses the `public/`
folder of the first build directly, allowing both builds to have the
same `$(DESTDIR)` which is only used when actually `make install`ing.

This also enables renaming the folders for the first and second build
from `stage1/` and `stage2/` to `data/` and `site/`, which are more
informative.

GNUmakefile

index 95fcbf4e40304c0d75d1197b5fb0c1b59118208f..77185a50766a2a097b9e4f68c6a9446b40029141 100644 (file)
@@ -789,10 +789,10 @@ else ifeq ($(MODE),urn:fdc:ladys.computer:20231231:Shu1She4:mode:_2stage)
 override makefile := $(abspath $(THISDIR)/GNUmakefile)
 
 # (overridable) Options to use when calling β›©πŸ“° δΉ¦η€Ύ the first time.
-shushedataopts := INCLUDEDIR=$(call quote,$(DATADIR)) BUILDDIR=$(call quote,$(BUILDDIR)/stage1) DESTDIR=$(call quote,$(BUILDDIR)/data) FINDRULES=$(call quote,$(FINDRULES) -a '(' $(FINDDATARULES) ')') FINDINCLUDERULES=$(call quote,$(FINDINCLUDERULES)) MODE='urn:fdc:ladys.computer:20231231:Shu1She4:mode:default'
+shushedataopts := INCLUDEDIR=$(call quote,$(DATADIR)) BUILDDIR=$(call quote,$(BUILDDIR)/data) FINDRULES=$(call quote,$(FINDRULES) -a '(' $(FINDDATARULES) ')') FINDINCLUDERULES=$(call quote,$(FINDINCLUDERULES)) MODE='urn:fdc:ladys.computer:20231231:Shu1She4:mode:default'
 
 # (overridable) Options to use when calling β›©πŸ“° δΉ¦η€Ύ the second time.
-shushesiteopts := INCLUDEDIR=$(call quote,$(INCLUDEDIR) $(BUILDDIR)/data) BUILDDIR=$(call quote,$(BUILDDIR)/stage2) FINDRULES=$(call quote,$(FINDRULES) -a '!' '(' $(FINDDATARULES) ')') FINDINCLUDERULES=$(call quote,$(FINDINCLUDERULES)) MODE='urn:fdc:ladys.computer:20231231:Shu1She4:mode:default'
+shushesiteopts := INCLUDEDIR=$(call quote,$(INCLUDEDIR) $(BUILDDIR)/data/public) BUILDDIR=$(call quote,$(BUILDDIR)/site) FINDRULES=$(call quote,$(FINDRULES) -a '!' '(' $(FINDDATARULES) ')') FINDINCLUDERULES=$(call quote,$(FINDINCLUDERULES)) MODE='urn:fdc:ladys.computer:20231231:Shu1She4:mode:default'
 
 # β”€ ΒΆ Recipe Variable Definitions β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
 
@@ -808,16 +808,15 @@ clean :
 
 # Build the data and remove outdated data files.
 data : $(BUILDDIR)/data.out
-       @$(MAKE) -f $(call quote,$(makefile)) install $(shushedataopts)
-       $(silent)$(FIND) $(call quote,$(BUILDDIR)/data) '!' -exec $(GREP) -F -q -x '{}' $(call quote,$<) ';' -a '(' -type d -o -print ')' | $(xargsmultiquote) | $(XARGS) -E '' $(RM)
+       $(silent)$(FIND) $(call quote,$(BUILDDIR)/data/public) '!' -exec $(GREP) -F -q -x '{}' $(call quote,$<) ';' -a '(' -type d -o -print ')' | $(xargsmultiquote) | $(XARGS) -E '' $(RM)
 
 # Destroy build directory and installed files.
 gone : clean uninstall ;
 
 # Install the compiled files into `DESTDIRΒ΄.
 install : all
+       @$(MAKE) -f $(call quote,$(makefile)) $@ $(shushedataopts)
        @$(MAKE) -f $(call quote,$(makefile)) $@ $(shushesiteopts)
-       @$(MAKE) -f $(call quote,$(makefile)) $(foreach dest,$(patsubst $(BUILDDIR)/data/%,$(DESTDIR)/%,$(shell $(CAT) $(call quote,$(BUILDDIR)/data.out))),$(call quote,$(dest)))
 
 # List all source files and includes and their computed types.
 list : data
@@ -851,19 +850,16 @@ FORCE : ;
 
 $(BUILDDIR)/data.out : FORCE
        @$(MAKE) -f $(call quote,$(makefile)) $(shushedataopts)
-       @$(MAKE) -s -f $(call quote,$(makefile)) listout QUIET=1 $(shushedataopts) | $(TR) ' ' '\n' | $(xargsmultiquote) | $(XARGS) -E '' $(PRINTF) $(call quote,$(BUILDDIR)/data/%s\n) >$(call quote,$(BUILDDIR)/data.out)
-
-$(BUILDDIR)/stage1/% : FORCE
-       @$(MAKE) -f $(call quote,$(makefile)) $@ $(shushedataopts)
+       @$(MAKE) -s -f $(call quote,$(makefile)) listout QUIET=1 $(shushedataopts) | $(TR) ' ' '\n' | $(xargsmultiquote) | $(XARGS) -E '' $(PRINTF) $(call quote,$(BUILDDIR)/data/public/%s\n) >$(call quote,$(BUILDDIR)/data.out)
 
 $(BUILDDIR)/data/% : FORCE
        @$(MAKE) -f $(call quote,$(makefile)) $@ $(shushedataopts)
 
-$(BUILDDIR)/stage2/% : data
+$(BUILDDIR)/site/% : data
        @$(MAKE) -f $(call quote,$(makefile)) $@ $(shushesiteopts)
 
 $(DESTDIR)/% : data
-       $(if $(shell $(GREP) -F -x $(call quote,$(BUILDDIR)/data/$*) $(BUILDDIR)/data.out),$(call inform $(PRINTF) '%s\n' $(call quote,Copying over </$*>…) >&2)$(newline),$(CP) $(call quote,$(BUILDDIR)/data/$*) $(call quote,$@),@$(MAKE) -f $(call quote,$(makefile)) $@ $(shushesiteopts))
+       @$(MAKE) -f $(call quote,$(makefile)) $@ $(if $(shell $(GREP) -F -x $(call quote,$(BUILDDIR)/data/$*) $(BUILDDIR)/data.out),$(shushedataopts),$(shushesiteopts))
 
 # β” Β§ END DEFINED MAKEΒ·FILE MODES β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”
 
This page took 0.026072 seconds and 4 git commands to generate.