css: remove definition of footer colours
[mina86.com.git] / Makefile
blob6f79f7f8310584119e985efe76a175134af7da02
1 all: public
3 define copy
4 $2: $1
5 @echo " CP $$^ → $$@"
6 @exec mkdir -p -- $$(@D)
7 @exec cp -- $$^ $$@
8 endef
10 public: public/www.mina86.com/.htaccess
11 $(eval $(call copy,src/htaccess/redir.txt,public/www.mina86.com/.htaccess))
13 public: public/files.mina86.com/.htaccess
14 $(eval $(call copy,src/htaccess/files.txt,public/files.mina86.com/.htaccess))
16 DISTCLEAN_DOMAINS := mina86.com www.mina86.com
18 define handle_alias
19 public: public/$1
20 public/$1:
21 @echo " LN www.mina86.com ← $$@"
22 @exec mkdir -p -- $$(@D)
23 @exec ln -sf -- www.mina86.com $$@
24 DISTCLEAN_DOMAINS += $1
25 endef
26 $(foreach d,mina86.nfshost.com mina86.name nazarewicz.name, \
27 $(eval $(call handle_alias,$d)))
29 public: public/mina86.com
30 public/mina86.com: static/mina86.pub static/cv/index.html
31 @exec python3 ./tools/build.py --make=$(MAKE) $@
33 touch:
34 touch src/*.* src/data/*.*
36 clean:
37 -rm -rf -- .tmp static/cv/index.html
39 distclean:
40 -rm -rf -- .tmp $(foreach d,$(DISTCLEAN_DOMAINS),public/$d)
42 .tmp/%.js: src/%.js
43 @echo " MIN $@"
44 @exec mkdir -p $(@D)
45 exec uglifyjs -c unsafe_undefined \
46 -m --mangle-props keep_quoted \
47 -o $@ $<
49 .tmp/%.css: src/%.less
50 @echo " LESS $@"
51 @exec mkdir -p $(@D)
52 exec lessc -su=off --math=strict $< $@
53 exec cleancss -O2 'mergeSemantically:on;restructureRules:on' -o $@ $@
55 static/mina86.pub:
56 @echo " GPG $@"
57 gpg --armor --export 0x2060401250751FF4 >$@
59 static/cv/index.html: cv/cv.xml cv/cv.xsl tools/embed-images.py \
60 $(glob cv/*.png) $(glob cv/*.jpg)
61 @echo " XSL $@"
62 mkdir -p -- $(@D)
63 xsltproc $< | python3 ./tools/embed-images.py cv >$@
65 %.gz: %
66 @echo " GZ $@"
67 exec zopfli -c $< >$@
69 upload: public
70 @echo " UP *.mina86.com"
71 rsync -mrltvze ssh --delete-after --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r \
72 -f'P .well-known/***' \
73 -f'- mina86.com/d/g.js*' \
74 --progress $^ nfs:/home/
76 .DELETE_ON_ERROR:
77 .PHONY: public public/mina86.com touch clean distclean upload