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