# SPDX-FileCopyrightText: 2024 Lady # SPDX-License-Identifier: MPL-2.0 SHELL = /bin/sh # Copyright © 2024 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 not distributed with this file, You can obtain one at . # Using the current directory as `SRCDIR´ is generally not advisable, but it does help to keep things a bit cleaner for a documentation directory nested in another repository. # # Since `find´ will be searching this entire directory for files, it’s necessary to give anything which isn’t a source an inelligible name or else manually exclude it with `EXTRAFINDRULES´. SRCDIR := . INCLUDEDIR := BUILDDIR := .build DESTDIR := >WWW SHUSHE := .. SHUSHEOPTS := SRCDIR='$(SRCDIR)' INCLUDEDIR='$(INCLUDEDIR)' BUILDDIR='$(BUILDDIR)' DESTDIR='$(DESTDIR)' EXTRATRANSFORMS="$(wildcard .transforms/*.xslt)" EXTRAFINDRULES="! '(' -name 'GNUmakefile' -o -name '$(DESTDIR)' -a -prune ')'" YSEME := .👥📤 YSEMEOPTS := DESTDIR='$(DESTDIR)' SERVERPATH='/srv/git/.DOCUMENTATION' build : $(SHUSHE)/GNUmakefile prebuild @for publicfile in $(patsubst %,"%",$(wildcard $(DESTDIR)/*)); do if git check-ignore -q "$$publicfile"; then rm -rf "$$publicfile"; fi; done @$(MAKE) -f '$<' install $(SHUSHEOPTS) touch .grass prebuild : $(SHUSHE)/GNUmakefile @$(MAKE) -f '$<' $(SHUSHEOPTS) list : $(SHUSHE)/GNUmakefile @$(MAKE) -f '$<' $@ $(SHUSHEOPTS) $(BUILDDIR)/% $(DESTDIR)/% : $(SHUSHE)/GNUmakefile @$(MAKE) -f '$<' $@ $(SHUSHEOPTS) $(YSEME)/GNUmakefile : %/GNUmakefile : FORCE git submodule update --init '$*' dry-sync sync : $(YSEME)/GNUmakefile $(MAKE) -f '$<' $@ $(YSEMEOPTS) gone : @for publicfile in $(patsubst %,"%",$(wildcard $(DESTDIR)/*)); do if git check-ignore -q "$$publicfile"; then rm -rf "$$publicfile"; fi; done FORCE : ; .PHONY : FORCE build dry-sync gone list prebuild sync ;