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