1: ifndef ROOT
2: ROOT = /home/znatoki
3: endif
4: PERL = perl
5: TMPSAV = /tmp
6: PMODE = 775
7: LMODE = 664
8: KULICHKI=znatoki.kulichki.net
9: RSYNC = rsync -ruvptCe ssh --delete --progress --rsync-path='~/bin/rsync'
10: SCP=scp
11: DESTSRCDIR=~piataev/public_html/dimrub/src/
12: SRCDIR=../baza
13: DICTDIR=../dict
14: IMAGEDIR=$(SRCDIR)/images
15: DESTIMAGEDIR=~piataev/public_html/images/db
16: INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
17: DESTPRGSRC=~piataev/db/prgsrc
18: DESTCGIBIN=~piataev/public_html/cgi-bin
19: DUMPDIR=../dump
20: DESTDUMPDIR=/var/tmp/
21: TABLES= Questions Tournaments word2question nf nests Authors A2Q equalto
22: INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru
23: #INDEXWRITER= boris
24: AUTHORCHECKER = roma7@zaba.ru
25: #AUTHORCHECKER = boris
26: DELIVERER = roma7@zaba.ru, boris
27: #DELIVERER = boris
28: UPDATELOG = $(DUMPDIR)/update.log
29: UAUTHORS=$(DUMPDIR)/uauthors
30: UNSORTED=$(DUMPDIR)/unsorted
31: RSPARAMS= 2000 50
32: TIMESTAMP= $(DUMPDIR)/timestamp
33:
34: DBSCRIPTS = mkdb.pl \
35: updatem.pl \
36: updatedb.pl \
37: changecities.pl\
38: createindex.pl\
39: updateindex.pl \
40: addlinks.pl \
41: deletefiles.pl\
42: renamefile.pl \
43: makecheck.pl\
44: mkRS.pl\
45: delRS.pl\
46: updateRS.pl\
47: updateRS1.pl\
48: updateRS2.pl\
49: updateRS3.pl\
50: dumpRS.pl\
51: findequal.pl\
52: dumpin2out.pl\
53: dump2dump.pl\
54: checkPBS.pl\
55: loaddump.pl \
56: makeauthors.pl\
57: chronicles.pl
58:
59: LIBS = chgkfiles.pm \
60: common.pl\
61: chgk.cnf\
62: dbchgk.pm\
63: check.pl
64:
65:
66: CGISCRIPTS = db.cgi
67:
68:
69: HTMLS = contribute.html \
70: copyright.html \
71: copyright_mozg.html \
72: credits.html \
73: dbmain.html \
74: footer.html \
75: guestbook.html \
76: index.html \
77: random.html \
78: reklama.html \
79: reklama_bottom.html\
80: search.html
81:
82:
83:
84: DBBIN = ../bin
85: MANDIR = ../man
86: LIBDIR = ../lib
87: CGIBIN = $(ROOT)/public_html/cgi-bin
88: HTMLDIR = $(ROOT)/public_html/dimrub/db
89:
90: TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
91: IMAGES = $(wildcard $(IMAGEDIR)/*.jpg)
92: IMAGENAMES= $(notdir $(IMAGES))
93:
94:
95:
96: BININSTALL = ${DBSCRIPTS:%=$(DBBIN)/%}
97: CGIINSTALL = ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
98: LIBINSTALL = ${LIBS:%=$(LIBDIR)/%}
99: HTMLINSTALL = ${HTMLS:%.html=$(HTMLDIR)/%.html}
100: IMAGEINSTALL = ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
101:
102: all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(IMAGEINSTALL)
103:
104:
105:
106:
107:
108: $(DBBIN)/%.pl: %.pl
109: ${PERL} -c $<
110: - pod2man --center "Internet Club DB" $< > $*.1
111: - install -m $(LMODE) $*.1 $(MANDIR)/man1
112: - rm $*.1
113: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
114: cp $< $@
115: chmod $(PMODE) $@
116: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
117:
118: $(CGIBIN)/%.cgi: %.cgi
119: ${PERL} -c $<
120: - pod2man --center "Internet Club DB" $< > $*.1
121: - install -m $(LMODE) $*.1 $(MANDIR)/man1
122: - rm $*.1
123: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
124: cp $< $@
125: chmod $(PMODE) $@
126: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
127:
128:
129:
130: $(LIBDIR)/%.pm: %.pm
131: ${PERL} -c $<
132: - pod2man --center "Internet Club DB" $< > $*.3
133: - install -m $(LMODE) $*.3 $(MANDIR)/man3
134: - rm $*.3
135: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
136: cp $< $@
137: chmod $(LMODE) $@
138: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
139:
140:
141: $(LIBDIR)/%.pl: %.pl
142: ${PERL} -c $<
143: - pod2man --center "Internet Club DB" $< > $*.3
144: - install -m $(LMODE) $*.3 $(MANDIR)/man3
145: - rm $*.3
146: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
147: cp $< $@
148: chmod $(LMODE) $@
149: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
150:
151:
152: $(LIBDIR)/%.cnf: %.cnf
153: ${PERL} -c $<
154: - pod2man --center "Internet Club DB" $< > $*.5
155: - install -m $(LMODE) $*.5 $(MANDIR)/man5
156: - rm $*.5
157: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
158: cp $< $@
159: chmod $(LMODE) $@
160: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
161:
162:
163: $(HTMLDIR)/%.html: %.html
164: cp $< $@
165:
166:
167: $(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
168: cp $< $@
169:
170: srcdeliver:
171: $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)
172:
173:
174: imagedeliver:
175: cvs update $(SRCDIR)
176: $(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/
177:
178: prgdeliver:
179: $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)
180:
181: dbdeliver: imagedeliver
182: echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
183: mysqldump --add-drop-table -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump.0
184: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
185: echo "delete from hash;" >> $(DUMPDIR)/chgkdump
186: gzip $(DUMPDIR)/chgkdump
187: rm $(DUMPDIR)/chgkdump.0
188: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
189: echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
190:
191: update:
192: cvs update
193: cvs update $(SRCDIR)
194: cvs update $(DICTDIR)
195: $(MAKE) all
196: $(MAKE) $(TIMESTAMP)
197:
198: $(TIMESTAMP): $(TEXTS)
199: mysql -upiataev chgk <delq.sql
200: $(DBBIN)/mkdb.pl
201: $(DBBIN)/updateindex.pl -i$(SRCDIR)/index
202: $(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
203: $(DBBIN)/findequal.pl
204: $(DBBIN)/makeauthors.pl
205: if [ -s $(UAUTHORS) ]; then \
206: mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
207: fi
208: if [ -s $(UNSORTED) ]; then \
209: mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
210: else \
211: $(DBBIN)/mkRS.pl; \
212: $(DBBIN)/updateRS2.pl $(RSPARAMS);\
213: echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
214: fi
215: touch $(TIMESTAMP)
216:
217:
218: authorsdeliver:
219: mysqldump --add-drop-table -u piataev chgk Authors A2Q equalto > $(DUMPDIR)/chgkdump.0
220: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
221: gzip $(DUMPDIR)/chgkdump
222: rm $(DUMPDIR)/chgkdump.0
223: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
224:
225:
226: dbfill:
227: echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
228: ssh $(KULICHKI) "echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
229: Результаты поиска в Базе могут быть неполны' \
230: > public_html/dimrub/db/date;\
231: echo 'SELECT MAX(CreatedAt) FROM Tournaments' | \
232: mysql -u piataev --skip-column-names chgk >_timestamp.tmp;\
233: gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
234: echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \
235: rm -f _timestamp.tmp; \
236: date > public_html/dimrub/db/date"
237: echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>