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