]> Lady’s Gitweb - WWW/blob - GNUmakefile
Update β›©πŸ“° δΉ¦η€Ύ and makeΒ·file; minor reΒ·organizations
[WWW] / GNUmakefile
1 SHELL = /bin/sh
2
3 # Β© 2023–2024 Lady [@ Lady’s Computer].
4 #
5 # This Source Code Form is subject to the terms of the Mozilla Public
6 # License, v. 2.0. If a copy of the MPL was not distributed with this
7 # file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9 SRCDIR := sources
10 BUILDDIR := build
11 BUILDTARGET := .grass
12 DESTDIR := public
13
14 SHUSHE := .β›©πŸ“°
15 SHUSHEOPTS := SRCDIR='$(SRCDIR)' INCLUDEDIR='$(SRCDIR)/{include}' EXTRAPARSERS='$(wildcard parsers/*.xslt)' EXTRATRANSFORMS='$(wildcard transforms/*.xslt)'
16
17 YSEME := .πŸ‘₯πŸ“€
18 YSEMEOPTS := BUILDTARGET='.grass' DESTDIR='$(DESTDIR)' SERVERPATH='lady/www'
19
20 # ━ Β§ Call out to β›©πŸ“° δΉ¦η€Ύ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
21
22 build : $(SHUSHE)/GNUmakefile prebuild
23 @for publicfile in $(patsubst %,"%",$(wildcard $(DESTDIR)/*)); do if git check-ignore -q "$$publicfile"; then rm -rf "$$publicfile"; fi; done
24 @$(MAKE) -f '$<' install $(SHUSHEOPTS)
25 @touch '$(BUILDTARGET)'
26
27 prebuild : $(SHUSHE)/GNUmakefile
28 @$(MAKE) -f '$<' $(SHUSHEOPTS)
29
30 list : $(SHUSHE)/GNUmakefile
31 @$(MAKE) -f '$<' $@ $(SHUSHEOPTS)
32
33 $(BUILDDIR)/% $(DESTDIR)/% : $(SHUSHE)/GNUmakefile
34 @$(MAKE) -f '$<' $@ $(SHUSHEOPTS)
35
36 # ━ Β§ Call out to πŸ‘₯πŸ“€ Yseme ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
37
38 dry-sync sync : $(YSEME)/GNUmakefile
39 $(MAKE) -f '$<' $@ $(YSEMEOPTS)
40
41 # ━ Β§ Special targets ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
42
43 gone :
44 @for publicfile in $(patsubst %,"%",$(wildcard $(DESTDIR)/*)); do if git check-ignore -q "$$publicfile"; then rm -rf "$$publicfile"; fi; done
45
46 FORCE : ;
47
48 .PHONY : FORCE build dry-sync gone list prebuild sync ;
49
50 # ━ Β§ MakeΒ·file targets ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
51
52 $(SHUSHE)/GNUmakefile $(YSEME)/GNUmakefile : %/GNUmakefile : FORCE
53 git submodule update --init '$*'
This page took 0.05475 seconds and 5 git commands to generate.