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: search.html
79:
80:
81:
82: DBBIN = ../bin
83: MANDIR = ../man
84: LIBDIR = ../lib
85: CGIBIN = $(ROOT)/public_html/cgi-bin
86: HTMLDIR = $(ROOT)/public_html/dimrub/db
87:
88: TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
89: IMAGES = $(wildcard $(IMAGEDIR)/*.jpg)
90: IMAGENAMES= $(notdir $(IMAGES))
91:
92:
93:
94: BININSTALL = ${DBSCRIPTS:%=$(DBBIN)/%}
95: CGIINSTALL = ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
96: LIBINSTALL = ${LIBS:%=$(LIBDIR)/%}
97: HTMLINSTALL = ${HTMLS:%.html=$(HTMLDIR)/%.html}
98: IMAGEINSTALL = ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
99:
100: all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(IMAGEINSTALL)
101:
102:
103:
104:
105:
106: $(DBBIN)/%.pl: %.pl
107: ${PERL} -c $<
108: - pod2man --center "Internet Club DB" $< > $*.1
109: - install -m $(LMODE) $*.1 $(MANDIR)/man1
110: - rm $*.1
111: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
112: cp $< $@
113: chmod $(PMODE) $@
114: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
115:
116: $(CGIBIN)/%.cgi: %.cgi
117: ${PERL} -c $<
118: - pod2man --center "Internet Club DB" $< > $*.1
119: - install -m $(LMODE) $*.1 $(MANDIR)/man1
120: - rm $*.1
121: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
122: cp $< $@
123: chmod $(PMODE) $@
124: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
125:
126:
127:
128: $(LIBDIR)/%.pm: %.pm
129: ${PERL} -c $<
130: - pod2man --center "Internet Club DB" $< > $*.3
131: - install -m $(LMODE) $*.3 $(MANDIR)/man3
132: - rm $*.3
133: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
134: cp $< $@
135: chmod $(LMODE) $@
136: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
137:
138:
139: $(LIBDIR)/%.pl: %.pl
140: ${PERL} -c $<
141: - pod2man --center "Internet Club DB" $< > $*.3
142: - install -m $(LMODE) $*.3 $(MANDIR)/man3
143: - rm $*.3
144: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
145: cp $< $@
146: chmod $(LMODE) $@
147: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
148:
149:
150: $(LIBDIR)/%.cnf: %.cnf
151: ${PERL} -c $<
152: - pod2man --center "Internet Club DB" $< > $*.5
153: - install -m $(LMODE) $*.5 $(MANDIR)/man5
154: - rm $*.5
155: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
156: cp $< $@
157: chmod $(LMODE) $@
158: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
159:
160:
161: $(HTMLDIR)/%.html: %.html
162: cp $< $@
163:
164:
165: $(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
166: cp $< $@
167:
168: srcdeliver:
169: $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)
170:
171:
172: imagedeliver:
173: cvs update $(SRCDIR)
174: $(RSYNC) $(IMAGEDIR) $(KULICHKI):$(DESTIMAGEDIR)
175:
176: prgdeliver:
177: $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)
178:
179: dbdeliver: imagedeliver
180: echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
181: mysqldump --add-drop-table -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump.0
182: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
183: gzip $(DUMPDIR)/chgkdump
184: rm $(DUMPDIR)/chgkdump.0
185: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
186: echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
187:
188: update:
189: cvs update
190: cvs update $(SRCDIR)
191: cvs update $(DICTDIR)
192: $(MAKE) all
193: $(MAKE) $(TIMESTAMP)
194:
195: $(TIMESTAMP): $(TEXTS)
196: mysql -upiataev chgk <delq.sql
197: $(DBBIN)/mkdb.pl
198: $(DBBIN)/updateindex.pl -i$(SRCDIR)/index
199: $(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
200: $(DBBIN)/findequal.pl
201: $(DBBIN)/makeauthors.pl
202: if [ -s $(UAUTHORS) ]; then \
203: mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
204: fi
205: if [ -s $(UNSORTED) ]; then \
206: mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
207: else \
208: $(DBBIN)/mkRS.pl; \
209: $(DBBIN)/updateRS2.pl $(RSPARAMS);\
210: echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
211: fi
212: touch $(TIMESTAMP)
213:
214:
215: authorsdeliver:
216: mysqldump --add-drop-table -u piataev chgk Authors A2Q equalto > $(DUMPDIR)/chgkdump.0
217: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
218: gzip $(DUMPDIR)/chgkdump
219: rm $(DUMPDIR)/chgkdump.0
220: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
221:
222:
223: dbfill:
224: echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
225: ssh $(KULICHKI) "echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
226: Результаты поиска в Базе могут быть неполны' \
227: > public_html/dimrub/db/date;\
228: gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
229: date > public_html/dimrub/db/date "
230: echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>