diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..df1d05aa --- /dev/null +++ b/Makefile @@ -0,0 +1,102 @@ +# 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 +# +# multi-start, multi-stop, multi-restart: +# Start/stop/restart the Multi daemon. Provided for convenience, a proper initscript +# probably makes more sense. +# +# +# 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 multi-start multi-stop multi-restart + +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/*\.* + + +# may wait indefinitely, ^C and kill -9 in that case +define multi-stop + if [ -s data/multi.pid ]; then\ + kill `cat data/multi.pid`;\ + while [ -s data/multi.pid ]; do\ + if kill -0 `cat data/multi.pid`; then sleep 1;\ + else rm -f data/multi.pid; fi\ + done;\ + fi +endef + +define multi-start + util/multi.pl +endef + +multi-stop: + $(multi-stop) + +multi-start: + $(multi-start) + +multi-restart: + $(multi-stop) + $(multi-start) + |