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: gzip $(DUMPDIR)/chgkdump
185: rm $(DUMPDIR)/chgkdump.0
186: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
187: echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
188:
189: update:
190: cvs update
191: cvs update $(SRCDIR)
192: cvs update $(DICTDIR)
193: $(MAKE) all
194: $(MAKE) $(TIMESTAMP)
195:
196: $(TIMESTAMP): $(TEXTS)
197: mysql -upiataev chgk <delq.sql
198: $(DBBIN)/mkdb.pl
199: $(DBBIN)/updateindex.pl -i$(SRCDIR)/index
200: $(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
201: $(DBBIN)/findequal.pl
202: $(DBBIN)/makeauthors.pl
203: if [ -s $(UAUTHORS) ]; then \
204: mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
205: fi
206: if [ -s $(UNSORTED) ]; then \
207: mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
208: else \
209: $(DBBIN)/mkRS.pl; \
210: $(DBBIN)/updateRS2.pl $(RSPARAMS);\
211: echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
212: fi
213: touch $(TIMESTAMP)
214:
215:
216: authorsdeliver:
217: mysqldump --add-drop-table -u piataev chgk Authors A2Q equalto > $(DUMPDIR)/chgkdump.0
218: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
219: gzip $(DUMPDIR)/chgkdump
220: rm $(DUMPDIR)/chgkdump.0
221: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
222:
223:
224: dbfill:
225: echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
226: ssh $(KULICHKI) "echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
227: Результаты поиска в Базе могут быть неполны' \
228: > public_html/dimrub/db/date;\
229: gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
230: date > public_html/dimrub/db/date "
231: echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>