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