1 #WWW_UPLOAD_URI = neurodebian@neurodebian.ovgu.de:/home/neurodebian/www
2 WWW_UPLOAD_URI = ../../www
5 WWW_UPLOAD_URI_STATIC=$(WWW_UPLOAD_URI)/_static
7 BIGMESS_OPTS = -c neurodebian.cfg
8 BIGMESS_CMD = PYTHONPATH=.:3rd/bigmess:$(PYTHONPATH) 3rd/bigmess/bin/bigmess
9 BIGMESS = $(BIGMESS_CMD) $(BIGMESS_OPTS)
11 # Lentghy one due to updatedb
12 all: updatedb upload-website mirmon
13 # Quick one -- just rebuilds html if new changes and adjusts the status of the mirrors
14 refresh: upload-website-stamp mirmon
16 website-build-depends:
18 sudo apt-get install python-sphinx python-argparse python-xdg python-debian python-html5lib
20 sudo apt-get install libjs-jquery-easing libjs-jquery-mousewheel libjs-jquery-fancybox
28 rsync -rvlhpt sphinx/ build/src
29 cd artwork; cp button_w200.png logo_tuned/fmri_w200.png *-logo_h50.png ../build/src/_static; cd ..
30 cp 3rd/jquery.livetwitter/jquery.livetwitter.min.js build/src/_static
31 cp neurodebian.cfg build/src/_static
32 cd build/src && $(MAKE) html BUILDDIR=$(CURDIR)/build 2>&1
33 ln -fs /usr/share/javascript build/html/
34 mv $(WWW_DIR)/_static/robots.txt $(WWW_DIR)/
35 cp -r build/src/lists $(WWW_DIR)/
36 cp -r sphinx/survey/2011/figures/* $(WWW_DIR)/_images/
37 @echo "I: extracting header/trailer to be reused in non-sphinx pages"
38 sed -ne '1,/<!-- HEADNOTES -->/p' $(WWW_DIR)/index.html >| $(WWW_DIR)/_static/index-header.ihtml
39 sed -ne '/<h2>Comments<\/h2>/,$$p' $(WWW_DIR)/index.html >| $(WWW_DIR)/_static/index-trailer.ihtml
42 -rm html-stamp source-stamp upload-website-stamp
43 $(MAKE) -C artwork clean
52 mkdir -p build/src/pkgs/
53 mkdir -p build/src/lists/
54 mkdir -p build/src/_static/
55 mkdir -p build/src/pkglists/
56 $(BIGMESS) mkpkgs -d build/src/pkgs/
57 $(BIGMESS) mkaptcfgs -d build/src/lists/
58 $(BIGMESS) mkmirrorsstat -d build/src
59 $(BIGMESS) mkrepocfg > build/src/sources_lists
60 $(BIGMESS) mkpkgtocs -d build/src/pkglists > build/src/pkgs.rst
61 cp 3rd/nvd3/*.min.js build/src/_static/
62 cp 3rd/nvd3/lib/d3*.min.js build/src/_static/
63 cp 3rd/nvd3/src/nv*.css build/src/_static/
67 $(BIGMESS) cachefiles -f
74 rsync -rvzlhp --delete \
75 --exclude=debian --exclude=debian-local --exclude=debian-devel --exclude=_files \
76 --chmod=Dg+s,g+rw $(WWW_DIR) $(WWW_UPLOAD_URI)
77 : # Touch stamp here so we get it updated on every upload
80 # call upload iff .git/index was modified, i.e. new changes got pulled in
81 upload-website-stamp: .git/index
82 $(MAKE) upload-website
85 # update and generate mirrors report
86 [ -x /usr/bin/mirmon ] && mirmon -q -get update -c mirmon-neurodebian.conf 2>&1 \
87 | grep -v 'date: invalid date.*DOCTYPE' || :
88 # [ -x $(WWW_UPLOAD_URI_STATIC)/mirrors-check.ihtml ] &&
89 # everything must be in place!
90 cat $(WWW_UPLOAD_URI_STATIC)/{index-header,mirrors-status,index-trailer}.ihtml \
91 >| $(WWW_UPLOAD_URI)/mirrors-status.html
93 .PHONY: removedb removecache cachefiles updatedb upload-website clean distclean pics html mirmon