]> Lady’s Gitweb - WWW/blob - GNUmakefile
Use 👥📤 Yseme for syncing
[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 SHUSHE := .shushe
10 SHUSHE_OPTIONS := INCLUDEDIR='sources/INCLUDE' TRANSFORMS='$(wildcard transforms/*.xslt) $(wildcard $(SHUSHE)/transforms/*.xslt)'
11
12 YSEME := .yseme
13 YSEME_OPTIONS := DESTDIR=public SERVERPATH=lady/www
14
15 build: $(SHUSHE)/GNUmakefile
16 rm -rf ./public
17 @$(MAKE) -f $< install $(SHUSHE_OPTIONS)
18 touch .grass
19
20 list: $(SHUSHE)/GNUmakefile
21 @$(MAKE) -f $< $@ $(SHUSHE_OPTIONS)
22
23 $(SHUSHE)/GNUmakefile $(YSEME)/GNUmakefile: %/GNUmakefile:
24 git submodule update --init $*
25
26 GNUmakefile: $(SHUSHE)/GNUmakefile $(YSEME)/GNUmakefile
27 touch GNUmakefile
28
29 ifneq ($(wildcard $(YSEME)/GNUmakefile),)
30 YSEME_TARGETS := $(shell sed '/^\.PHONY[ :]/!d;/^\.PHONY[ :]/s/ *;.*//;/^\.PHONY[ :]/s/\.PHONY.*: *//' < $(YSEME)/GNUmakefile)
31
32 $(YSEME_TARGETS): $(YSEME)/GNUmakefile
33 @$(MAKE) -f $< $@ $(YSEME_OPTIONS)
34 endif
35
36 .PHONY: build list $(YSEME_TARGETS);
This page took 0.117376 seconds and 5 git commands to generate.