summaryrefslogtreecommitdiff
path: root/Makefile
blob: 351a09bf773762d20fe1a6812640c8af89277c27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# all (default)
#   Same as $ make staticdirs js skins www robots
#
# staticdirs
# 	Creates the required directory structures in static/
#
# js
# 	Generates the Javascript code
#
# skins
# 	Generates the CSS code
#
# robots
# 	Ensures that www/robots.txt and static/robots.txt exist. Can be modified to
# 	suit your needs.
#
# chmod
# 	For when the http process is run from a different user than the files are
# 	chown'ed to. chmods all files and directories written to from vndb.pl.
# 	(including the stylesheets and javascript code, so these can be auto-updated)
#
# chmod-tladmin
# 	The TransAdmin plugin also needs write access to some files
#
#
# NOTE: This Makefile has only been tested using a recent version of GNU make
#   in a relatively up-to-date Arch Linux environment, and may not work in other
#   environments. Patches to improve the portability are always welcome.


.PHONY: all staticdirs js skins robots chmod chmod-tladmin

all: staticdirs js skins robots


staticdirs: static/cv static/sf static/st

static/cv static/sf static/st:
	mkdir $@;
	for i in $$(seq -w 0 1 99); do mkdir "$@/$$i"; done


js: static/f/script.js

static/f/script.js: data/script.js data/lang.txt util/jsgen.pl
	util/jsgen.pl


skins: static/s/*/style.css

static/s/%/style.css: static/s/%/conf util/skingen.pl data/style.css
	util/skingen.pl $*


www:
	mkdir www

robots: www www/robots.txt static/robots.txt

%/robots.txt:
	echo 'User-agent: *' > $@
	echo 'Disallow: /' >> $@


chmod: all
	chmod a-x+rw static/f/script.js
	chmod -R a-x+rwX static/{cv,sf,st}
	chmod a-x+rw static/s/*/{style.css,boxbg.png}

chmod-tladmin:
	chmod a-x+rwX data/lang.txt data/docs data/docs/*\.*