]> Lady’s Gitweb - WWW/blobdiff - GNUmakefile
Update β›©πŸ“° δΉ¦η€Ύ and makeΒ·file; minor reΒ·organizations
[WWW] / GNUmakefile
index 275f6cadb96350059160f9133752063b0e4b9b54..8486bff345286e3cd4c18f7884f72803f1b79043 100644 (file)
@@ -6,31 +6,48 @@ SHELL = /bin/sh
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
 
-SHUSHE := .shushe
-SHUSHE_OPTIONS := INCLUDEDIR='sources/INCLUDE' TRANSFORMS='$(wildcard transforms/*.xslt) $(wildcard $(SHUSHE)/transforms/*.xslt)'
+SRCDIR := sources
+BUILDDIR := build
+BUILDTARGET := .grass
+DESTDIR := public
 
-YSEME := .yseme
-YSEME_OPTIONS := DESTDIR=public SERVERPATH=lady/www
+SHUSHE := .β›©πŸ“°
+SHUSHEOPTS := SRCDIR='$(SRCDIR)' INCLUDEDIR='$(SRCDIR)/{include}' EXTRAPARSERS='$(wildcard parsers/*.xslt)' EXTRATRANSFORMS='$(wildcard transforms/*.xslt)'
 
-build: $(SHUSHE)/GNUmakefile
-       rm -rf ./public
-       @$(MAKE) -f $< install $(SHUSHE_OPTIONS)
-       touch .grass
+YSEME := .πŸ‘₯πŸ“€
+YSEMEOPTS := BUILDTARGET='.grass' DESTDIR='$(DESTDIR)' SERVERPATH='lady/www'
 
-list: $(SHUSHE)/GNUmakefile
-       @$(MAKE) -f $< $@ $(SHUSHE_OPTIONS)
+# β” Β§ Call out to β›©πŸ“° δΉ¦η€Ύ β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”
 
-$(SHUSHE)/GNUmakefile $(YSEME)/GNUmakefile: %/GNUmakefile:
-       git submodule update --init $*
+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 '$(BUILDTARGET)'
 
-GNUmakefile: $(SHUSHE)/GNUmakefile $(YSEME)/GNUmakefile
-       touch GNUmakefile
+prebuild : $(SHUSHE)/GNUmakefile
+       @$(MAKE) -f '$<' $(SHUSHEOPTS)
 
-ifneq ($(wildcard $(YSEME)/GNUmakefile),)
-YSEME_TARGETS := $(shell sed '/^\.PHONY[ :]/!d;/^\.PHONY[ :]/s/ *;.*//;/^\.PHONY[ :]/s/\.PHONY.*: *//' < $(YSEME)/GNUmakefile)
+list : $(SHUSHE)/GNUmakefile
+       @$(MAKE) -f '$<' $@ $(SHUSHEOPTS)
 
-$(YSEME_TARGETS): $(YSEME)/GNUmakefile
-       @$(MAKE) -f $< $@ $(YSEME_OPTIONS)
-endif
+$(BUILDDIR)/% $(DESTDIR)/% : $(SHUSHE)/GNUmakefile
+       @$(MAKE) -f '$<' $@ $(SHUSHEOPTS)
 
-.PHONY: build list $(YSEME_TARGETS);
+# β” Β§ Call out to πŸ‘₯πŸ“€ Yseme β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”
+
+dry-sync sync : $(YSEME)/GNUmakefile
+       $(MAKE) -f '$<' $@ $(YSEMEOPTS)
+
+# β” Β§ Special targets β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”
+
+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 ;
+
+# β” Β§ MakeΒ·file targets β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”β”
+
+$(SHUSHE)/GNUmakefile $(YSEME)/GNUmakefile : %/GNUmakefile : FORCE
+       git submodule update --init '$*'
This page took 0.023414 seconds and 4 git commands to generate.