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