File: Makefile

package info (click to toggle)
wims 4.00-4%2Bsqueeze1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 85,260 kB
  • ctags: 7,825
  • sloc: xml: 361,058; ansic: 56,911; sh: 5,681; java: 2,805; perl: 1,743; cpp: 1,239; yacc: 1,011; makefile: 972; lisp: 514; asm: 47
file content (145 lines) | stat: -rw-r--r-- 5,080 bytes parent folder | download
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
DESTDIR =
WIMS_VERSION = 4.00

BINFILES = bin download localwims other README sessions tmp \
	   lib log s2 update.sh
PHTML_BINFILES = bases fdl.txt java nogif.html gifs mathfonts opl.html \
		 webget.sites html scripts interrupt.cgi msg \
		 themes bin
ADDBINDIRS = backup download/modules public_html/modules/contrib \
	     public_html/w/texgif
DATE = $(shell date '+%Y-%m-%d')

all:

install-modules:
	orig_dir=$$(pwd)/wims; \
	cd $(DESTDIR)/var/lib/wims; \
	cp -Rd $${orig_dir}/public_html/modules public_html
	# fixing some permissions for shell scripts
	for f in $$(find $(DESTDIR)/var/lib/wims -name '*.sh' -o -name 'mkindex' -o -name '*update' -o -name 'mkclass' -o -name 'Makeindex'); do \
	  if (grep -q 'bin/sh' $$f); then chmod +x $$f; else chmod -x $$f; fi; \
	done
	# fix a few wrong executions flags for files bgining by !exit
	chmod -x $(DESTDIR)/var/lib/wims/public_html/modules/adm/light/getnew.sh
	chmod -x $(DESTDIR)/var/lib/wims/public_html/modules/adm/light/getnewoef.sh
	## unnecessary copyright files
	for f in $$(find $(DESTDIR)/var/lib/wims -name 'COPYING*' -o -name 'LICENSE'); do \
	  grep -qE 'GENERAL PUBLIC LICENSE|LICENZA PUBBLICA GENERICA' $$f \
	    && rm $$f; \
	done

install: adjust-wimshome
	# fix bad gifs
	echo "fixing bad gifs"
	for f in $$(find $(DESTDIR)/var/lib/wims/public_html -name "*.gif"); \
	do \
	  if [ ! -L $$f ]; then \
	    convert $$f $$f.png; \
	    convert $$f.png $$f; \
	    rm $$f.png; \
	  fi; \
	done

	# populating /var/lib/wims/public_html
	orig_dir=$$(pwd)/wims/public_html; \
	cd $(DESTDIR)/var/lib/wims/public_html; \
	for f in $(PHTML_BINFILES); do \
	  cp -Rd $${orig_dir}/$$f .; \
	done
	$(MAKE) fix-xiao-s-reminders DESTDIR=$(DESTDIR)
	## unnecessary copyright files
	for f in $$(find $(DESTDIR)/var/lib/wims -name 'COPYING' -o -name 'LICENSE'); do \
	  grep -q 'GENERAL PUBLIC LICENSE' $$f && rm $$f; \
	done
	# populating /var/lib/wims
	orig_dir=$$(pwd)/wims; \
	cd $(DESTDIR)/var/lib/wims; \
	for d in $(ADDBINDIRS); do \
	  mkdir -p $$d; \
	done; \
	for f in $(BINFILES); do \
	  cp -Rd $${orig_dir}/$$f .; \
	done; \
	cp $${orig_dir}/public_html/wims public_html; \
	ln -sf wims public_html/wims.cgi; \
	cp $${orig_dir}/src/Wimslogd/wimslogd bin/

	# install the metafont sources
	$(MAKE) install-metafile-sources DESTDIR=$(DESTDIR)

	# fix a few incorrect permissions
	cd $(DESTDIR)/var/lib/wims; for f in \
	  public_html/gifs/themes/wimsedu/rss_new.png \
	  public_html/gifs/themes/wimsedu/rss_modif.png \
	  public_html/gifs/themes/standard/modtool2.gif \
	  public_html/java/geogebra3/essai.html \
	  public_html/java/geogebra3/essai.ggb \
	  public_html/scripts/js/wz_tooltip.js \
	  public_html/scripts/js/speck/speck.css \
	  public_html/scripts/js/speck/speck.gif \
	  public_html/scripts/js/speck/editstyle.css \
	  public_html/scripts/js/speck/speck.js \
	  public_html/scripts/js/speck/index.htm; do \
	chmod -x $$f; done
	# remove Gang's precompiled binaries
	for f in false true; do \
	  rm -f $(DESTDIR)/var/lib/wims/bin/$$f; \
	  ln -s /bin/$$f $(DESTDIR)/var/lib/wims/bin/; \
	done

	cp wims.conf $(DESTDIR)/var/lib/wims/log/wims.conf.distrib
	mkdir -p $(DESTDIR)/var/lib/wims/src
	cp wims/src/defaults.conf $(DESTDIR)/var/lib/wims/src
	cp apache.conf $(DESTDIR)/etc/wims

	## exclude wimsd if it has been built, since this webserver may be
	## insecure.
	rm -f $(DESTDIR)/var/lib/wims/bin/wimsd

	## remove sourceless java archives
	## and let a small message in place
	for d in $(DESTDIR)/var/lib/wims/public_html/java \
                 $(DESTDIR)/var/lib/wims/public_html/scripts/authors/jm.evers/applets; \
	do \
	  find $$d -name "*.jar" -exec rm {} \; ; \
	  echo $(SORRY_NO_JAR) > $$d/README; \
	done

	# fix for using the default config with Gap
	mkdir -p $(DESTDIR)/usr/bin
	ln -s gap $(DESTDIR)/usr/bin/gap.sh
	mkdir -p $(DESTDIR)/usr/share/man/man1
	ln -s gap.1.gz $(DESTDIR)/usr/share/man/man1/gap.sh.1.gz

install-metafile-sources:
	mkdir -p $(DESTDIR)/usr/share/texmf-texlive/fonts/source/public/ams/
	install -m 644 wims/download/*.mf $(DESTDIR)/usr/share/texmf-texlive/fonts/source/public/ams/

install-flydraw:
	mkdir -p $(DESTDIR)/usr/bin $(DESTDIR)/usr/share/man/man1
	cp wims/src/Flydraw/flydraw $(DESTDIR)/usr/bin/flydraw
	gzip -c9 debian/flydraw.1 > $(DESTDIR)/usr/share/man/man1/flydraw.1.gz

adjust-wimshome:
	# adjust every existing .wimshome file
	for f in $$(find wims -name .wimshome); do \
	  echo /var/lib/wims > $$f; \
	done

fix-xiao-s-reminders : warn-precompiled-bins
	# erase some data not relevant for the distribution, since they belong
	# only to Gang XIAO, or are a static library already linked where necessary
	rm -f $(DESTDIR)/var/lib/wims/lib/libwims.a
	for f in $$(find $(DESTDIR)/var/lib/wims/log/classes/.connections/); do \
	  mv $f $f.template; \
	done

warn-precompiled-bins:
	for f in wims/src/Flydraw/gd/webgif \
	      wims/src/Misc/passcrypt; do if [ -e $$f ]; then echo "GRRRRR ! these files should be removed from the SVN definitely"; fi; done


doc:

.PHONY: all doc install install-modules install-flydraw install-texgd compile